Snap for 11479750 from 5bc91eabe02e26c5856339c27ade5759c275e410 to 24D1-release

Change-Id: Ie4de4a13e4daf7b1a4fc67b28daff908696ebe47
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index da33864..fee72e9 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -3,7 +3,7 @@
   - "--config=rustfmt"
   - "--config=clippy"
 min_rust_version_shell_commands: &min_rust_version_shell_commands
-  - sed -i 's|^rust_register_toolchains(|rust_register_toolchains(versions = ["1.62.0"],\n|' WORKSPACE.bazel
+  - sed -i 's|^rust_register_toolchains(|rust_register_toolchains(versions = ["1.68.0"],\n|' WORKSPACE.bazel
 nightly_flags: &nightly_flags
   - "--//rust/toolchain/channel=nightly"
 nightly_aspects_flags: &nightly_aspects_flags
@@ -15,6 +15,7 @@
   - "//..."
   # These tests are expected to fail as they require both a nightly and stable toolchain.
   - "-//test/unit/channel_transitions/..."
+  - "-//test/unpretty/..."
 default_linux_targets: &default_linux_targets
   - "--"
   - "//..."
@@ -52,19 +53,14 @@
     test_targets: *default_linux_targets
     coverage_targets: *default_linux_targets
     post_shell_commands: *coverage_validation_post_shell_commands
-  rbe_ubuntu1604:
+    run_targets:
+      - //test:query_test_binary
+  rbe_ubuntu2004:
     shell_commands:
       - sed -i 's/^# load("@bazelci_rules/load("@bazelci_rules/' WORKSPACE.bazel
       - sed -i 's/^# rbe_preconfig/rbe_preconfig/' WORKSPACE.bazel
-    build_targets:
-      - "--"
-      - "//..."
-    test_targets:
-      - "--" # Allows negative patterns; hack for https://github.com/bazelbuild/continuous-integration/pull/245
-      - "//..."
-      - "-//test/conflicting_deps:conflicting_deps_test"
-      # TODO: This test does not work on RBE
-      - "-//test/versioned_dylib:versioned_dylib_test"
+    build_targets: *default_linux_targets
+    test_targets: *default_linux_targets
   macos:
     build_targets: *default_macos_targets
     test_targets: *default_macos_targets
@@ -120,33 +116,23 @@
     test_targets: *default_linux_targets
     coverage_targets: *default_linux_targets
     post_shell_commands: *coverage_validation_post_shell_commands
-  rbe_ubuntu1604_with_aspects:
+  rbe_ubuntu2004_with_aspects:
     name: With Aspects
-    platform: rbe_ubuntu1604
+    platform: rbe_ubuntu2004
     shell_commands:
       - sed -i 's/^# load("@bazelci_rules/load("@bazelci_rules/' WORKSPACE.bazel
       - sed -i 's/^# rbe_preconfig/rbe_preconfig/' WORKSPACE.bazel
-    build_targets: *default_linux_targets
-    test_targets:
-      - "--" # Allows negative patterns; hack for https://github.com/bazelbuild/continuous-integration/pull/245
-      - "//..."
-      - "-//test/conflicting_deps:conflicting_deps_test"
-      # TODO: This test does not work on RBE
-      - "-//test/versioned_dylib:versioned_dylib_test"
     build_flags: *aspects_flags
-  rbe_ubuntu1604_rolling_with_aspects:
+    build_targets: *default_linux_targets
+    test_targets: *default_linux_targets
+  rbe_ubuntu2004_rolling_with_aspects:
     name: RBE Rolling Bazel Version With Aspects
-    platform: rbe_ubuntu1604
+    platform: rbe_ubuntu2004
     shell_commands:
       - sed -i 's/^# load("@bazelci_rules/load("@bazelci_rules/' WORKSPACE.bazel
       - sed -i 's/^# rbe_preconfig/rbe_preconfig/' WORKSPACE.bazel
     build_targets: *default_linux_targets
-    test_targets:
-      - "--" # Allows negative patterns; hack for https://github.com/bazelbuild/continuous-integration/pull/245
-      - "//..."
-      - "-//test/conflicting_deps:conflicting_deps_test"
-      # TODO: This test does not work on RBE
-      - "-//test/versioned_dylib:versioned_dylib_test"
+    test_targets: *default_linux_targets
     build_flags: *aspects_flags
     soft_fail: yes
     bazel: "rolling"
@@ -186,6 +172,29 @@
     test_targets: *default_windows_targets
     soft_fail: yes
     bazel: "rolling"
+  ubuntu2004_unpretty:
+    name: Unpretty
+    platform: ubuntu2004
+    build_targets: *default_linux_targets
+    test_targets: *default_linux_targets
+    build_flags:
+      - "--config=unpretty"
+  ubuntu2004_bzlmod_only:
+    name: With bzlmod
+    platform: ubuntu2004
+    # See https://bazel.build/external/migration#migration-process
+    # When WORKSPACE.bzlmod is provided, the workspace file is ignored.
+    shell_commands:
+      - "touch WORKSPACE.bzlmod"
+    build_flags:
+      - "--enable_bzlmod"
+    build_targets:
+      - "//bindgen/3rdparty:bindgen"
+      - "//crate_universe:cargo_bazel_bin"
+      - "//proto/prost/private:prost_runtime"
+      - "//tools/runfiles"
+      - "//util/import"
+      - "//wasm_bindgen/3rdparty:wasm_bindgen"
   ubuntu2004_clang:
     name: With Clang
     platform: ubuntu2004
@@ -321,6 +330,17 @@
     platform: ubuntu2004
     run_targets:
       - "//test/rust_analyzer:rust_analyzer_test"
+  rust_analyzer_integration_test:
+    name: Rust-Analyzer Integration Test
+    platform: ubuntu2004
+    run_targets:
+      - "@rules_rust//tools/rust_analyzer:gen_rust_project"
+  examples_rust_analyzer_integration_test:
+    name: Rust-Analyzer Integration Test
+    platform: ubuntu2004
+    working_directory: examples
+    run_targets:
+      - "@rules_rust//tools/rust_analyzer:gen_rust_project"
   ubuntu2004_examples:
     name: Examples
     platform: ubuntu2004
@@ -367,15 +387,9 @@
       - "//..."
     build_flags: *aspects_flags
     soft_fail: yes
-  ubuntu2004_examples_bzlmod:
-    name: Bzlmod Examples
-    platform: ubuntu2004
-    working_directory: examples/bzlmod/hello_world
-    build_targets:
-      - "//..."
-  rbe_ubuntu1604_examples:
+  rbe_ubuntu2004_examples:
     name: Examples
-    platform: rbe_ubuntu1604
+    platform: rbe_ubuntu2004
     working_directory: examples
     rbe_examples_targets: &rbe_examples_targets
       - "--" # Allows negative patterns; hack for https://github.com/bazelbuild/continuous-integration/pull/245
@@ -412,8 +426,6 @@
       - "//..."
       # The proto rules do not work on windows
       - "-//proto/..."
-      # The wasm rules do not work on windows
-      - "-//wasm/..."
       # The bindgen rules are currently broken on windows
       # https://github.com/bazelbuild/rules_rust/issues/2009
       - "-//bindgen/..."
@@ -439,9 +451,9 @@
     test_targets:
       - "//..."
     build_flags: *aspects_flags
-  crate_universe_rbe_ubuntu1604:
+  crate_universe_rbe_ubuntu2004:
     name: Crate Universe Examples
-    platform: rbe_ubuntu1604
+    platform: rbe_ubuntu2004
     working_directory: examples/crate_universe
     shell_commands:
       - sed -i 's/^# load("@bazelci_rules/load("@bazelci_rules/' WORKSPACE.bazel
@@ -452,9 +464,9 @@
     test_targets:
       - "//..."
     build_flags: *aspects_flags
-  crate_universe_unnamed_rbe_ubuntu1604:
+  crate_universe_unnamed_rbe_ubuntu2004:
     name: Crate Universe Unnamed Examples
-    platform: rbe_ubuntu1604
+    platform: rbe_ubuntu2004
     working_directory: examples/crate_universe_unnamed
     shell_commands:
       - sed -i 's/^# load("@bazelci_rules/load("@bazelci_rules/' WORKSPACE.bazel
@@ -580,6 +592,12 @@
       - "--android_platforms=//:arm64-v8a"
     build_targets:
       - "//:android_app"
+    environment:
+      # This ndk version matches with rules_android_ndk repo's CI
+      # https://github.com/bazelbuild/rules_android_ndk/blob/877c68ef34c9f3353028bf490d269230c1990483/.bazelci/presubmit.yml#L37
+      # The ndk is installed by this script 
+      # https://github.com/bazelbuild/continuous-integration/blob/ba56013373821feadd9f2eaa6b81eb19528795f0/macos/mac-android.sh
+      ANDROID_NDK_HOME: /opt/android-ndk-r25b
   android_examples_macos:
     name: Android Examples
     platform: macos
@@ -590,6 +608,12 @@
       - "--android_platforms=//:arm64-v8a"
     build_targets:
       - "//:android_app"
+    environment:
+      # This ndk version matches with rules_android_ndk repo's CI
+      # https://github.com/bazelbuild/rules_android_ndk/blob/877c68ef34c9f3353028bf490d269230c1990483/.bazelci/presubmit.yml#L42
+      # The ndk is installed by this script 
+      # https://github.com/bazelbuild/continuous-integration/blob/ba56013373821feadd9f2eaa6b81eb19528795f0/macos/mac-android.sh
+      ANDROID_NDK_HOME: /Users/buildkite/android-ndk-r25b
   ios_examples:
     name: iOS Examples
     platform: macos
@@ -612,6 +636,37 @@
   #   working_directory: examples/zig_cross_compiling
   #   build_targets:
   #     - "//..."
+  nix_cross_compiling:
+    name: Nix cross compiling test
+    platform: ubuntu2204
+    working_directory: examples/nix_cross_compiling
+    setup:
+      - curl -L https://nixos.org/nix/install | bash
+      - sudo cp ~/.nix-profile/bin/nix* /usr/local/bin/
+    build_targets:
+      # Root `build_test` target is called directly to catch missing platforms
+      # that would otherwise be quietly skipped due to `target_compatible_with`.
+      - "//:nix_cross_compiling"
+    test_targets:
+      - "//..."
+  ubuntu2004_bzlmod_bcr:
+    name: bzlmod BCR presubmit
+    platform: ubuntu2004
+    working_directory: examples/bzlmod/hello_world
+    run_targets:
+      - "//third-party:vendor"
+      - "@rules_rust//tools/rust_analyzer:gen_rust_project"
+    test_targets:
+      - "//..."
+  macos_bzlmod_bcr:
+    name: bzlmod BCR presubmit
+    platform: macos
+    working_directory: examples/bzlmod/hello_world
+    run_targets:
+      - "//third-party:vendor"
+      - "@rules_rust//tools/rust_analyzer:gen_rust_project"
+    test_targets:
+      - "//..."
 
 buildifier:
   version: latest
diff --git a/.bazelignore b/.bazelignore
index 278aad8..058f980 100644
--- a/.bazelignore
+++ b/.bazelignore
@@ -1,3 +1,4 @@
+bzlmod
 docs
 examples
 crate_universe/private/bootstrap
diff --git a/.bazelrc b/.bazelrc
index bcfb9f2..4b35be4 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -20,6 +20,10 @@
 # https://bazel.build/reference/command-line-reference#flag--experimental_fetch_all_coverage_outputs
 coverage --experimental_fetch_all_coverage_outputs
 
+# Required for some of the tests
+# https://bazel.build/reference/command-line-reference#flag--experimental_cc_shared_library
+common --experimental_cc_shared_library
+
 ###############################################################################
 ## Unique configuration groups
 ###############################################################################
@@ -32,6 +36,14 @@
 build:clippy --aspects=//rust:defs.bzl%rust_clippy_aspect
 build:clippy --output_groups=+clippy_checks
 
+# Enable unpretty for all targets in the workspace
+build:unpretty --aspects=//rust:defs.bzl%rust_unpretty_aspect
+build:unpretty --output_groups=+rust_unpretty
+
+# `unpretty` requires the nightly toolchain. See tracking issue:
+# https://github.com/rust-lang/rust/issues/43364
+build:unpretty --//rust/toolchain/channel=nightly
+
 ###############################################################################
 ## Incompatibility flags
 ###############################################################################
@@ -43,14 +55,6 @@
 build --nolegacy_external_runfiles
 
 ###############################################################################
-## Custom user flags
-##
-## This should always be the last thing in the `.bazelrc` file to ensure
-## consistent behavior when setting flags in that file as `.bazelrc` files are
-## evaluated top to bottom.
-###############################################################################
-
-###############################################################################
 ## Bzlmod
 ###############################################################################
 
@@ -58,4 +62,12 @@
 # https://github.com/bazelbuild/rules_rust/issues/2181
 common --noenable_bzlmod
 
+###############################################################################
+## Custom user flags
+##
+## This should always be the last thing in the `.bazelrc` file to ensure
+## consistent behavior when setting flags in that file as `.bazelrc` files are
+## evaluated top to bottom.
+###############################################################################
+
 try-import %workspace%/user.bazelrc
diff --git a/.bcr/README.md b/.bcr/README.md
new file mode 100644
index 0000000..44ae7fe
--- /dev/null
+++ b/.bcr/README.md
@@ -0,0 +1,9 @@
+# Bazel Central Registry
+
+When the ruleset is released, we want it to be published to the
+Bazel Central Registry automatically:
+<https://registry.bazel.build>
+
+This folder contains configuration files to automate the publish step.
+See <https://github.com/bazel-contrib/publish-to-bcr/blob/main/templates/README.md>
+for authoritative documentation about these files.
diff --git a/.bcr/config.yml b/.bcr/config.yml
new file mode 100644
index 0000000..4d76241
--- /dev/null
+++ b/.bcr/config.yml
@@ -0,0 +1,3 @@
+fixedReleaser:
+  login: scentini
+  email: 11149636+scentini@users.noreply.github.com
diff --git a/.bcr/metadata.template.json b/.bcr/metadata.template.json
new file mode 100644
index 0000000..295f1a0
--- /dev/null
+++ b/.bcr/metadata.template.json
@@ -0,0 +1,23 @@
+{
+  "homepage": "https://github.com/bazelbuild/rules_rust",
+  "maintainers": [
+    {
+        "email": "26427366+UebelAndre@users.noreply.github.com",
+        "github": "UebelAndre",
+        "name": "UebelAndre"
+    },
+    {
+      "email": "1131704+illicitonion@users.noreply.github.com",
+      "github": "illicitonion",
+      "name": "Daniel Wagner-Hall"
+    },
+    {
+      "email": "11149636+scentini@users.noreply.github.com",
+      "github": "scentini",
+      "name": "Rosica Dejanovska"
+    }
+  ],
+  "repository": ["github:bazelbuild/rules_rust"],
+  "versions": [],
+  "yanked_versions": {}
+}
diff --git a/.bcr/presubmit.yml b/.bcr/presubmit.yml
new file mode 100644
index 0000000..a7618d0
--- /dev/null
+++ b/.bcr/presubmit.yml
@@ -0,0 +1,16 @@
+bcr_test_module:
+  module_path: ""
+  matrix:
+    platform: ["macos", "ubuntu2004"]
+    bazel: ["6.x", "7.x"]
+  tasks:
+    run_tests:
+      working_directory: examples/bzlmod/hello_world
+      name: "Run test module"
+      platform: ${{ platform }}
+      bazel: ${{ bazel }}
+      run_targets:
+        - "//third-party:vendor"
+        - "@rules_rust//tools/rust_analyzer:gen_rust_project"
+      test_targets:
+        - "//..."
diff --git a/.bcr/source.template.json b/.bcr/source.template.json
new file mode 100644
index 0000000..866ee25
--- /dev/null
+++ b/.bcr/source.template.json
@@ -0,0 +1,5 @@
+{
+  "integrity": "**leave this alone**",
+  "strip_prefix": "",
+  "url": "https://github.com/{OWNER}/{REPO}/releases/download/{TAG}/{REPO}-v{VERSION}.tar.gz"
+}
diff --git a/.envrc b/.envrc
new file mode 100644
index 0000000..edea46f
--- /dev/null
+++ b/.envrc
@@ -0,0 +1,10 @@
+# `nix-direnv` to provide developer tools to terminals and VSCode when working
+# in the repo.
+#
+# See:
+#  - https://github.com/nix-community/nix-direnv
+#  - https://marketplace.visualstudio.com/items?itemName=mkhl.direnv
+
+# Use `path:` syntax to avoid copying the entire repo to the Nix Store.
+watch_file ./nix/flake.nix
+use flake path:./nix
diff --git a/.gitattributes b/.gitattributes
index 7c2f557..76435c8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -3,6 +3,7 @@
 bindgen/3rdparty/crates/** linguist-generated
 crate_universe/3rdparty/crates/** linguist-generated
 crate_universe/test_data/metadata/*/metadata.json linguist-generated
+examples/bzlmod/hello_world/third-party/crates/** linguist-generated
 examples/crate_universe/vendor_external/crates/** linguist-generated
 examples/crate_universe/vendor_local_manifests/crates/** linguist-generated
 examples/crate_universe/vendor_local_pkgs/crates/** linguist-generated
diff --git a/.github/release_notes.template b/.github/release_notes.template
index f079b6a..747d2b2 100644
--- a/.github/release_notes.template
+++ b/.github/release_notes.template
@@ -4,7 +4,7 @@
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
     name = "rules_rust",
-    sha256 = "{sha256}",
+    integrity = "sha256-{sha256_base64}",
     urls = ["https://github.com/bazelbuild/rules_rust/releases/download/{version}/rules_rust-v{version}.tar.gz"],
 )
 ```
diff --git a/.github/workflows/formatting.yaml b/.github/workflows/formatting.yaml
index afa94b6..2b20b65 100644
--- a/.github/workflows/formatting.yaml
+++ b/.github/workflows/formatting.yaml
@@ -10,7 +10,7 @@
       - synchronize
 
 jobs:
-  clang-format-checking:
+  code-format-checks:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v2
@@ -19,3 +19,13 @@
           source: '.'
           extensions: 'h,c,cc,proto'
           clangFormatVersion: 14
+      - uses: actionsx/prettier@v2
+        with:
+          args: --config "${{ github.workspace }}/.prettierrc.toml" --write "**/*.{js,ts}"
+      # Prettier has no diff view so we must make one ourselves
+      # https://github.com/prettier/prettier/issues/6885
+      - run: |
+          git diff
+          if [[ -n "$(git status --porcelain)" ]]; then
+            exit 1
+          fi
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index ee67555..d36e7e4 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -128,11 +128,12 @@
           # Update urls and sha256 values
           bazel ${BAZEL_STARTUP_FLAGS[@]}  run //crate_universe/tools/urls_generator -- --artifacts-dir="${ARTIFACTS_DIR}" --url-prefix="${URL_PREFIX}"
           bazel clean
-          # Build an archive of the repo contents
-          tar -czf ${{ github.workspace }}/.github/rules_rust.tar.gz --exclude=".git" --exclude=".github" --exclude="examples" --exclude="crate_universe/target" -C ${{ github.workspace }} .
+          # Build an archive of the repo contents.
+          # `examples/bzlmod` is included for the BCR presubmit; it must appear before --exclude="examples"
+          tar -czf ${{ github.workspace }}/.github/rules_rust.tar.gz -C ${{ github.workspace }} --exclude=".git" --exclude=".github" --exclude="crate_universe/target" examples/bzlmod --exclude="examples" .
           # Save the sha256 checksum of the distro archive to the environment
-          sha256="$(shasum --algorithm 256 ${{ github.workspace }}/.github/rules_rust.tar.gz | awk '{ print $1 }')"
-          echo "ARCHIVE_SHA256=${sha256}" >> $GITHUB_ENV
+          sha256_base64="$(shasum --algorithm 256 ${{ github.workspace }}/.github/rules_rust.tar.gz | awk '{ print $1 }' | xxd -r -p | base64)"
+          echo "ARCHIVE_SHA256_BASE64=${sha256_base64}" >> $GITHUB_ENV
         env:
           CARGO_BAZEL_GENERATOR_URL: file://${{ github.workspace }}/crate_universe/target/artifacts/x86_64-unknown-linux-gnu/cargo-bazel
           ARTIFACTS_DIR: ${{ github.workspace }}/crate_universe/target/artifacts
@@ -146,8 +147,8 @@
       - name: Generate release notes
         run: |
           # Generate the release notes
-          sed 's/{version}/${{ env.RELEASE_VERSION }}/g' ${{ github.workspace }}/.github/release_notes.template \
-          | sed 's/{sha256}/${{ env.ARCHIVE_SHA256 }}/g' \
+          sed 's#{version}#${{ env.RELEASE_VERSION }}#g' ${{ github.workspace }}/.github/release_notes.template \
+          | sed 's#{sha256_base64}#${{ env.ARCHIVE_SHA256_BASE64 }}#g' \
           > ${{ github.workspace }}/.github/release_notes.txt
       - name: Create release
         uses: softprops/action-gh-release@v1
diff --git a/.gitignore b/.gitignore
index a4ccc50..dde748d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
 
 # bazel
 /bazel-*
+/bzlmod/hello_world/bazel-*
 /examples/bazel-*
 /examples/cargo_manifest_dir/external_crate/bazel-*
 /examples/crate_universe/bazel-*
diff --git a/.prettierrc.toml b/.prettierrc.toml
new file mode 100644
index 0000000..c95475a
--- /dev/null
+++ b/.prettierrc.toml
@@ -0,0 +1,3 @@
+# Prettier config file. For more opitons see https://prettier.io/docs/en/options
+tabWidth = 4
+trailingComma = "all"
diff --git a/.rustfmt.toml b/.rustfmt.toml
index e69de29..c5eee48 100644
--- a/.rustfmt.toml
+++ b/.rustfmt.toml
@@ -0,0 +1,6 @@
+# rustfmt options: https://rust-lang.github.io/rustfmt/
+
+# Skipping children allows rustfmt to run on crates with
+# generated source files. Without this formatting will
+# fail with: `failed to resolve mod ${MOD}`.
+skip_children = true
diff --git a/BUILD.bazel b/BUILD.bazel
index 2eb9e03..3f71f8c 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -9,13 +9,15 @@
     "extra_exec_rustc_flags",
     "extra_rustc_flag",
     "extra_rustc_flags",
-    "is_proc_macro_dep",
-    "is_proc_macro_dep_enabled",
     "no_std",
     "per_crate_rustc_flag",
+    "rustc_output_diagnostics",
 )
 
-exports_files(["LICENSE"])
+exports_files([
+    "LICENSE",
+    "MODULE.bazel",
+])
 
 bzl_library(
     name = "bzl_lib",
@@ -32,6 +34,13 @@
     visibility = ["//visibility:public"],
 )
 
+# This setting may be changed from the command line to generate rustc diagnostics.
+rustc_output_diagnostics(
+    name = "rustc_output_diagnostics",
+    build_setting_default = False,
+    visibility = ["//visibility:public"],
+)
+
 # This setting may be used to pass extra options to clippy from the command line.
 # It applies across all targets.
 clippy_flags(
@@ -40,24 +49,6 @@
     visibility = ["//visibility:public"],
 )
 
-# This setting may be used to identify dependencies of proc-macro-s.
-# This feature is only enabled if `is_proc_macro_dep_enabled` is true.
-# Its value controls the BAZEL_RULES_RUST_IS_PROC_MACRO_DEP environment variable
-# made available to the rustc invocation.
-is_proc_macro_dep(
-    name = "is_proc_macro_dep",
-    build_setting_default = False,
-    visibility = ["//visibility:public"],
-)
-
-# This setting enables the feature to identify dependencies of proc-macro-s,
-# see `is_proc_macro_dep`.
-is_proc_macro_dep_enabled(
-    name = "is_proc_macro_dep_enabled",
-    build_setting_default = False,
-    visibility = ["//visibility:public"],
-)
-
 # This setting may be used to pass extra options to rustc from the command line
 # in non-exec configuration.
 # It applies across all targets whereas the rustc_flags option on targets applies only
diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md
index afb44bd..f7dde19 100644
--- a/COMPATIBILITY.md
+++ b/COMPATIBILITY.md
@@ -72,7 +72,7 @@
 `//rust/private/…` is not subject to the backwards compatibility policy. Content
 of this package is an implementation detail.
 
-`//cargo:cargo_build_script.bzl` is subject to the backwards compatibility policy.
+`//cargo:defs.bzl` is subject to the backwards compatibility policy.
 
 `//cargo`, `//util`, `//tools`, `//test`, `//examples`, `//bindgen`, `//proto`,
 `//wasm_bindgen` and any packages not mentioned by this document are by default
@@ -88,7 +88,7 @@
 Bug fixes are not a breaking change by default. We'll use Common Sense (and we
 will pull in more maintainers and the community to discuss) if we see a certain
 bug fix is controversial. Incompatible changes to
-`//cargo:cargo_build_script.bzl` that make `cargo_build_script` more accurately
+`//cargo:defs.bzl` that make `cargo_build_script` more accurately
 follow cargo's behaviour are considered bug fixes.
 
 ## How to make a backwards incompatible change?
diff --git a/LICENSE b/LICENSE
new file mode 120000
index 0000000..85de3d4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1 @@
+LICENSE.txt
\ No newline at end of file
diff --git a/METADATA b/METADATA
index 50f0814..5f675fe 100644
--- a/METADATA
+++ b/METADATA
@@ -4,12 +4,13 @@
   url {
     type: GIT
     value: "https://github.com/bazelbuild/rules_rust"
+    primary_source: true
   }
-  version: "0.21.1"
+  version: "0.39.0"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2023
-    month: 5
-    day: 17
+    year: 2024
+    month: 2
+    day: 16
   }
 }
diff --git a/MODULE.bazel b/MODULE.bazel
index f7b48cd..d147ad1 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -1,17 +1,142 @@
+"""bazelbuild/rules_rust"""
+
 module(
     name = "rules_rust",
-    version = "0.20.0",
+    version = "0.39.0",
 )
 
-print("WARNING: The rules_rust Bazel module is still highly experimental and subject to change at any time. Only use it to try out bzlmod for now.")  # buildifier: disable=print
-
-bazel_dep(name = "platforms", version = "0.0.7")
-bazel_dep(name = "rules_cc", version = "0.0.9")
-bazel_dep(name = "bazel_skylib", version = "1.2.0")
-bazel_dep(name = "apple_support", version = "1.3.1")
+bazel_dep(
+    name = "bazel_skylib",
+    version = "1.5.0",
+)
+bazel_dep(
+    name = "platforms",
+    version = "0.0.8",
+)
+bazel_dep(
+    name = "rules_cc",
+    version = "0.0.9",
+)
+bazel_dep(
+    name = "rules_license",
+    version = "0.0.8",
+)
+bazel_dep(
+    name = "rules_proto",
+    version = "5.3.0-21.7",
+)
+bazel_dep(
+    name = "apple_support",
+    version = "1.11.1",
+    repo_name = "build_bazel_apple_support",
+)
+bazel_dep(
+    name = "protobuf",
+    version = "21.7",
+    repo_name = "com_google_protobuf",
+)
 
 internal_deps = use_extension("//rust/private:extensions.bzl", "internal_deps")
 use_repo(
     internal_deps,
+    "bazelci_rules",
+    "cargo_bazel.buildifier-darwin-amd64",
+    "cargo_bazel.buildifier-darwin-arm64",
+    "cargo_bazel.buildifier-linux-amd64",
+    "cargo_bazel.buildifier-linux-arm64",
+    "cargo_bazel.buildifier-windows-amd64.exe",
+    "com_google_googleapis",
+    "cui",
+    "cui__anyhow-1.0.75",
+    "cui__camino-1.1.6",
+    "cui__cargo-lock-9.0.0",
+    "cui__cargo-platform-0.1.4",
+    "cui__cargo_metadata-0.18.1",
+    "cui__cargo_toml-0.17.1",
+    "cui__cfg-expr-0.15.5",
+    "cui__clap-4.3.11",
+    "cui__crates-index-2.2.0",
+    "cui__hex-0.4.3",
+    "cui__indoc-2.0.4",
+    "cui__itertools-0.12.0",
+    "cui__maplit-1.0.2",
+    "cui__normpath-1.1.1",
+    "cui__pathdiff-0.2.1",
+    "cui__regex-1.10.2",
+    "cui__semver-1.0.20",
+    "cui__serde-1.0.190",
+    "cui__serde_json-1.0.108",
+    "cui__serde_starlark-0.1.14",
+    "cui__sha2-0.10.8",
+    "cui__spdx-0.10.3",
+    "cui__spectral-0.6.0",
+    "cui__tempfile-3.8.1",
+    "cui__tera-1.19.1",
+    "cui__textwrap-0.16.0",
+    "cui__toml-0.8.10",
+    "cui__tracing-0.1.40",
+    "cui__tracing-subscriber-0.3.17",
+    "generated_inputs_in_external_repo",
+    "libc",
+    "llvm-raw",
+    "rrra__anyhow-1.0.71",
+    "rrra__clap-4.3.11",
+    "rrra__env_logger-0.10.0",
+    "rrra__itertools-0.11.0",
+    "rrra__log-0.4.19",
+    "rrra__serde-1.0.171",
+    "rrra__serde_json-1.0.102",
+    "rules_rust_bindgen__bindgen-0.69.1",
+    "rules_rust_bindgen__bindgen-cli-0.69.1",
+    "rules_rust_bindgen__clang-sys-1.6.1",
+    "rules_rust_bindgen__clap-4.3.3",
+    "rules_rust_bindgen__clap_complete-4.3.1",
+    "rules_rust_bindgen__env_logger-0.10.0",
+    "rules_rust_prost",
+    "rules_rust_prost__h2-0.3.19",
+    "rules_rust_prost__heck",
+    "rules_rust_prost__prost-0.11.9",
+    "rules_rust_prost__prost-types-0.11.9",
+    "rules_rust_prost__protoc-gen-prost-0.2.2",
+    "rules_rust_prost__protoc-gen-tonic-0.2.2",
+    "rules_rust_prost__tokio-1.28.2",
+    "rules_rust_prost__tokio-stream-0.1.14",
+    "rules_rust_prost__tonic-0.9.2",
+    "rules_rust_test_load_arbitrary_tool",
     "rules_rust_tinyjson",
+    "rules_rust_toolchain_test_target_json",
+    "rules_rust_wasm_bindgen__anyhow-1.0.71",
+    "rules_rust_wasm_bindgen__assert_cmd-1.0.8",
+    "rules_rust_wasm_bindgen__diff-0.1.13",
+    "rules_rust_wasm_bindgen__docopt-1.1.1",
+    "rules_rust_wasm_bindgen__env_logger-0.8.4",
+    "rules_rust_wasm_bindgen__log-0.4.19",
+    "rules_rust_wasm_bindgen__predicates-1.0.8",
+    "rules_rust_wasm_bindgen__rayon-1.7.0",
+    "rules_rust_wasm_bindgen__rouille-3.6.2",
+    "rules_rust_wasm_bindgen__serde-1.0.171",
+    "rules_rust_wasm_bindgen__serde_derive-1.0.171",
+    "rules_rust_wasm_bindgen__serde_json-1.0.102",
+    "rules_rust_wasm_bindgen__tempfile-3.6.0",
+    "rules_rust_wasm_bindgen__ureq-2.8.0",
+    "rules_rust_wasm_bindgen__walrus-0.20.3",
+    "rules_rust_wasm_bindgen__wasm-bindgen-0.2.89",
+    "rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.89",
+    "rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.89",
+    "rules_rust_wasm_bindgen__wasmparser-0.102.0",
+    "rules_rust_wasm_bindgen__wasmprinter-0.2.60",
+    "rules_rust_wasm_bindgen_cli",
 )
+
+rust = use_extension("//rust:extensions.bzl", "rust")
+rust.toolchain(edition = "2021")
+use_repo(rust, "rust_toolchains")
+
+register_toolchains(
+    "@rust_toolchains//:all",
+)
+
+use_repo(rust, "rust_host_tools")
+
+cargo_bazel_bootstrap = use_extension("//crate_universe/private/module_extensions:cargo_bazel_bootstrap.bzl", "cargo_bazel_bootstrap")
+use_repo(cargo_bazel_bootstrap, "cargo_bazel_bootstrap")
diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel
index 1da7621..b520a3c 100644
--- a/WORKSPACE.bazel
+++ b/WORKSPACE.bazel
@@ -45,10 +45,6 @@
 
 rust_analyzer_dependencies()
 
-load("@rules_rust//util/import:deps.bzl", "import_deps")
-
-import_deps()
-
 load("@rules_rust//wasm_bindgen:repositories.bzl", "rust_wasm_bindgen_repositories")
 
 rust_wasm_bindgen_repositories()
@@ -79,4 +75,4 @@
 # To run with RBE on Bazel CI, uncomment the following lines.
 #
 # load("@bazelci_rules//:rbe_repo.bzl", "rbe_preconfig")
-# rbe_preconfig(name = "buildkite_config", toolchain = "ubuntu1604-bazel-java8")
+# rbe_preconfig(name = "buildkite_config", toolchain = "ubuntu2004-bazel-java11")
diff --git a/bindgen/3rdparty/BUILD.bindgen-cli.bazel b/bindgen/3rdparty/BUILD.bindgen-cli.bazel
index 3a1a6af..4b0b2fe 100644
--- a/bindgen/3rdparty/BUILD.bindgen-cli.bazel
+++ b/bindgen/3rdparty/BUILD.bindgen-cli.bazel
@@ -1,11 +1,8 @@
+load("@rules_rust//bindgen:repositories.bzl", "BINDGEN_VERSION")
 load("@rules_rust//rust:defs.bzl", "rust_binary")
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # BSD-3-Clause
-# ])
-
 rust_binary(
     name = "bindgen-cli",
     srcs = glob(["**/*.rs"]),
@@ -32,11 +29,11 @@
         "noclippy",
         "norustfmt",
     ],
-    version = "0.65.1",
+    version = BINDGEN_VERSION,
     # This list is produced by adding the contents of https://github.com/rust-lang/rust-bindgen/blob/main/bindgen-cli/Cargo.toml
     # to `@rules_rust//bindgen/3rdparty:crates_vendor`, rendering dependencies, and updating the deps
     deps = [
-        "@rules_rust_bindgen__bindgen-0.65.1//:bindgen",
+        "@rules_rust_bindgen__bindgen-{}//:bindgen".format(BINDGEN_VERSION),
         "@rules_rust_bindgen__clap-4.3.3//:clap",
         "@rules_rust_bindgen__clap_complete-4.3.1//:clap_complete",
         "@rules_rust_bindgen__env_logger-0.10.0//:env_logger",
diff --git a/bindgen/3rdparty/Cargo.Bazel.lock b/bindgen/3rdparty/Cargo.Bazel.lock
index 68294ef..d8842c2 100644
--- a/bindgen/3rdparty/Cargo.Bazel.lock
+++ b/bindgen/3rdparty/Cargo.Bazel.lock
@@ -72,36 +72,34 @@
 
 [[package]]
 name = "bindgen"
-version = "0.65.1"
+version = "0.69.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5"
+checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2"
 dependencies = [
  "annotate-snippets",
- "bitflags",
+ "bitflags 2.4.1",
  "cexpr",
  "clang-sys",
  "lazy_static",
  "lazycell",
- "log",
  "peeking_take_while",
- "prettyplease",
  "proc-macro2",
  "quote",
  "regex",
  "rustc-hash",
  "shlex",
  "syn",
- "which",
 ]
 
 [[package]]
 name = "bindgen-cli"
-version = "0.65.1"
+version = "0.69.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33373a4e0ec8b6fa2654e0c941ad16631b0d564cfd20e7e4b3db4c5b28f4a237"
+checksum = "88565ee09110a99e78299897fbfed503b9aa03065386ee8c18197fcaf228b501"
 dependencies = [
  "bindgen",
  "clap",
+ "clap_complete",
  "shlex",
 ]
 
@@ -112,6 +110,12 @@
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
 name = "cc"
 version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -162,7 +166,7 @@
 dependencies = [
  "anstream",
  "anstyle",
- "bitflags",
+ "bitflags 1.3.2",
  "clap_lex",
  "strsim",
 ]
@@ -213,12 +217,6 @@
 ]
 
 [[package]]
-name = "either"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
-
-[[package]]
 name = "env_logger"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -374,16 +372,6 @@
 checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
-name = "prettyplease"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b69d39aab54d069e7f2fe8cb970493e7834601ca2d8c65fd7bbd183578080d1"
-dependencies = [
- "proc-macro2",
- "syn",
-]
-
-[[package]]
 name = "proc-macro2"
 version = "1.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -430,7 +418,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "errno",
  "io-lifetimes",
  "libc",
@@ -489,17 +477,6 @@
 checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
-name = "which"
-version = "4.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
-dependencies = [
- "either",
- "libc",
- "once_cell",
-]
-
-[[package]]
 name = "winapi"
 version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/bindgen/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel b/bindgen/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel
index a41e10f..391b2b2 100644
--- a/bindgen/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense OR MIT
-# ])
-
 rust_library(
     name = "aho_corasick",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=aho-corasick",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.annotate-snippets-0.9.1.bazel b/bindgen/3rdparty/crates/BUILD.annotate-snippets-0.9.1.bazel
index ba3a53d..dbee690 100644
--- a/bindgen/3rdparty/crates/BUILD.annotate-snippets-0.9.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.annotate-snippets-0.9.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
 rust_library(
     name = "annotate_snippets",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=annotate-snippets",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.anstream-0.3.2.bazel b/bindgen/3rdparty/crates/BUILD.anstream-0.3.2.bazel
index 5e0b57f..e3ac504 100644
--- a/bindgen/3rdparty/crates/BUILD.anstream-0.3.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.anstream-0.3.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstream",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstream",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.anstyle-1.0.0.bazel b/bindgen/3rdparty/crates/BUILD.anstyle-1.0.0.bazel
index 5ee00c7..32b852f 100644
--- a/bindgen/3rdparty/crates/BUILD.anstyle-1.0.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.anstyle-1.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.anstyle-parse-0.2.0.bazel b/bindgen/3rdparty/crates/BUILD.anstyle-parse-0.2.0.bazel
index fcc81a3..be1be56 100644
--- a/bindgen/3rdparty/crates/BUILD.anstyle-parse-0.2.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.anstyle-parse-0.2.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle_parse",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle-parse",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel b/bindgen/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel
index d07226b..e470125 100644
--- a/bindgen/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle_query",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle-query",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel b/bindgen/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel
index f3899b3..418c7aa 100644
--- a/bindgen/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle_wincon",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle-wincon",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.bazel b/bindgen/3rdparty/crates/BUILD.bazel
index dca1262..4be4eff 100644
--- a/bindgen/3rdparty/crates/BUILD.bazel
+++ b/bindgen/3rdparty/crates/BUILD.bazel
@@ -27,7 +27,7 @@
 # Workspace Member Dependencies
 alias(
     name = "bindgen",
-    actual = "@rules_rust_bindgen__bindgen-0.65.1//:bindgen",
+    actual = "@rules_rust_bindgen__bindgen-0.69.1//:bindgen",
     tags = ["manual"],
 )
 
diff --git a/bindgen/3rdparty/crates/BUILD.bindgen-0.65.1.bazel b/bindgen/3rdparty/crates/BUILD.bindgen-0.65.1.bazel
deleted file mode 100644
index 3f220fe..0000000
--- a/bindgen/3rdparty/crates/BUILD.bindgen-0.65.1.bazel
+++ /dev/null
@@ -1,159 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//bindgen/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # BSD-3-Clause
-# ])
-
-rust_library(
-    name = "bindgen",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "__cli",
-        "annotate-snippets",
-        "default",
-        "experimental",
-        "log",
-        "logging",
-        "runtime",
-        "which",
-        "which-rustfmt",
-    ],
-    crate_root = "lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=bindgen",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.65.1",
-    deps = [
-        "@rules_rust_bindgen__annotate-snippets-0.9.1//:annotate_snippets",
-        "@rules_rust_bindgen__bindgen-0.65.1//:build_script_build",
-        "@rules_rust_bindgen__bitflags-1.3.2//:bitflags",
-        "@rules_rust_bindgen__cexpr-0.6.0//:cexpr",
-        "@rules_rust_bindgen__clang-sys-1.6.1//:clang_sys",
-        "@rules_rust_bindgen__lazy_static-1.4.0//:lazy_static",
-        "@rules_rust_bindgen__lazycell-1.3.0//:lazycell",
-        "@rules_rust_bindgen__log-0.4.19//:log",
-        "@rules_rust_bindgen__peeking_take_while-0.1.2//:peeking_take_while",
-        "@rules_rust_bindgen__prettyplease-0.2.6//:prettyplease",
-        "@rules_rust_bindgen__proc-macro2-1.0.60//:proc_macro2",
-        "@rules_rust_bindgen__quote-1.0.28//:quote",
-        "@rules_rust_bindgen__regex-1.8.4//:regex",
-        "@rules_rust_bindgen__rustc-hash-1.1.0//:rustc_hash",
-        "@rules_rust_bindgen__shlex-1.1.0//:shlex",
-        "@rules_rust_bindgen__syn-2.0.18//:syn",
-        "@rules_rust_bindgen__which-4.4.0//:which",
-    ],
-)
-
-cargo_build_script(
-    name = "bindgen_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "__cli",
-        "annotate-snippets",
-        "default",
-        "experimental",
-        "log",
-        "logging",
-        "runtime",
-        "which",
-        "which-rustfmt",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2018",
-    link_deps = [
-        "@rules_rust_bindgen__clang-sys-1.6.1//:clang_sys",
-        "@rules_rust_bindgen__prettyplease-0.2.6//:prettyplease",
-    ],
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=bindgen",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.65.1",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "bindgen_build_script",
-    tags = ["manual"],
-)
diff --git a/bindgen/3rdparty/crates/BUILD.bindgen-0.69.1.bazel b/bindgen/3rdparty/crates/BUILD.bindgen-0.69.1.bazel
new file mode 100644
index 0000000..4cd6a5b
--- /dev/null
+++ b/bindgen/3rdparty/crates/BUILD.bindgen-0.69.1.bazel
@@ -0,0 +1,144 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "bindgen",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "__cli",
+        "experimental",
+        "runtime",
+    ],
+    crate_root = "lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bindgen",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.69.1",
+    deps = [
+        "@rules_rust_bindgen__annotate-snippets-0.9.1//:annotate_snippets",
+        "@rules_rust_bindgen__bindgen-0.69.1//:build_script_build",
+        "@rules_rust_bindgen__bitflags-2.4.1//:bitflags",
+        "@rules_rust_bindgen__cexpr-0.6.0//:cexpr",
+        "@rules_rust_bindgen__clang-sys-1.6.1//:clang_sys",
+        "@rules_rust_bindgen__lazy_static-1.4.0//:lazy_static",
+        "@rules_rust_bindgen__lazycell-1.3.0//:lazycell",
+        "@rules_rust_bindgen__peeking_take_while-0.1.2//:peeking_take_while",
+        "@rules_rust_bindgen__proc-macro2-1.0.60//:proc_macro2",
+        "@rules_rust_bindgen__quote-1.0.28//:quote",
+        "@rules_rust_bindgen__regex-1.8.4//:regex",
+        "@rules_rust_bindgen__rustc-hash-1.1.0//:rustc_hash",
+        "@rules_rust_bindgen__shlex-1.1.0//:shlex",
+        "@rules_rust_bindgen__syn-2.0.18//:syn",
+    ],
+)
+
+cargo_build_script(
+    name = "bindgen_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "__cli",
+        "experimental",
+        "runtime",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    link_deps = [
+        "@rules_rust_bindgen__clang-sys-1.6.1//:clang_sys",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bindgen",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.69.1",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":bindgen_build_script",
+    tags = ["manual"],
+)
diff --git a/bindgen/3rdparty/crates/BUILD.bitflags-1.3.2.bazel b/bindgen/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
index 9697d56..2711102 100644
--- a/bindgen/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "bitflags",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=bitflags",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.bitflags-2.4.1.bazel b/bindgen/3rdparty/crates/BUILD.bitflags-2.4.1.bazel
new file mode 100644
index 0000000..e10bddb
--- /dev/null
+++ b/bindgen/3rdparty/crates/BUILD.bitflags-2.4.1.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bitflags",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.4.1",
+)
diff --git a/bindgen/3rdparty/crates/BUILD.cc-1.0.79.bazel b/bindgen/3rdparty/crates/BUILD.cc-1.0.79.bazel
index f6f3f6c..f982101 100644
--- a/bindgen/3rdparty/crates/BUILD.cc-1.0.79.bazel
+++ b/bindgen/3rdparty/crates/BUILD.cc-1.0.79.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "cc",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=cc",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.cexpr-0.6.0.bazel b/bindgen/3rdparty/crates/BUILD.cexpr-0.6.0.bazel
index aab96c4..cc7ab82 100644
--- a/bindgen/3rdparty/crates/BUILD.cexpr-0.6.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.cexpr-0.6.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
 rust_library(
     name = "cexpr",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=cexpr",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel b/bindgen/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
index d399df1..439045a 100644
--- a/bindgen/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "cfg_if",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=cfg-if",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.clang-sys-1.6.1.bazel b/bindgen/3rdparty/crates/BUILD.clang-sys-1.6.1.bazel
index 3cf6fa5..6f29c03 100644
--- a/bindgen/3rdparty/crates/BUILD.clang-sys-1.6.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.clang-sys-1.6.1.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0
-# ])
-
 rust_library(
     name = "clang_sys",
     srcs = glob(["**/*.rs"]),
@@ -51,7 +47,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clang-sys",
@@ -67,6 +65,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -90,6 +90,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -159,6 +160,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "clang-sys_build_script",
+    actual = ":clang-sys_build_script",
     tags = ["manual"],
 )
diff --git a/bindgen/3rdparty/crates/BUILD.clap-4.3.3.bazel b/bindgen/3rdparty/crates/BUILD.clap-4.3.3.bazel
index 0ac7355..f078066 100644
--- a/bindgen/3rdparty/crates/BUILD.clap-4.3.3.bazel
+++ b/bindgen/3rdparty/crates/BUILD.clap-4.3.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "clap",
     srcs = glob(["**/*.rs"]),
@@ -43,7 +39,9 @@
     proc_macro_deps = [
         "@rules_rust_bindgen__clap_derive-4.3.2//:clap_derive",
     ],
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap",
@@ -59,6 +57,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -82,6 +82,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.clap_builder-4.3.3.bazel b/bindgen/3rdparty/crates/BUILD.clap_builder-4.3.3.bazel
index e9991e2..4b28e30 100644
--- a/bindgen/3rdparty/crates/BUILD.clap_builder-4.3.3.bazel
+++ b/bindgen/3rdparty/crates/BUILD.clap_builder-4.3.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "clap_builder",
     srcs = glob(["**/*.rs"]),
@@ -38,7 +34,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap_builder",
@@ -54,6 +52,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -77,6 +77,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.clap_complete-4.3.1.bazel b/bindgen/3rdparty/crates/BUILD.clap_complete-4.3.1.bazel
index b07c275..0ada2d4 100644
--- a/bindgen/3rdparty/crates/BUILD.clap_complete-4.3.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.clap_complete-4.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "clap_complete",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap_complete",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel b/bindgen/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel
index 60eed0a..0fad6c0 100644
--- a/bindgen/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_proc_macro(
     name = "clap_derive",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap_derive",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel b/bindgen/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel
index a8486e7..15697f7 100644
--- a/bindgen/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "clap_lex",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap_lex",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel b/bindgen/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel
index f5491f9..674cbfa 100644
--- a/bindgen/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "colorchoice",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=colorchoice",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.either-1.8.1.bazel b/bindgen/3rdparty/crates/BUILD.either-1.8.1.bazel
deleted file mode 100644
index 53df8aa..0000000
--- a/bindgen/3rdparty/crates/BUILD.either-1.8.1.bazel
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//bindgen/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "either",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "use_std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=either",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.8.1",
-)
diff --git a/bindgen/3rdparty/crates/BUILD.env_logger-0.10.0.bazel b/bindgen/3rdparty/crates/BUILD.env_logger-0.10.0.bazel
index 5b7be32..a82cb00 100644
--- a/bindgen/3rdparty/crates/BUILD.env_logger-0.10.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.env_logger-0.10.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "env_logger",
     srcs = glob(["**/*.rs"]),
@@ -37,7 +33,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=env_logger",
@@ -53,6 +51,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -76,6 +76,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.errno-0.3.1.bazel b/bindgen/3rdparty/crates/BUILD.errno-0.3.1.bazel
index 8577304..7984fea 100644
--- a/bindgen/3rdparty/crates/BUILD.errno-0.3.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.errno-0.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "errno",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=errno",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -95,6 +96,12 @@
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(unix)
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(unix)
         ],
@@ -149,6 +156,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(unix)
+        ],
         "//conditions:default": [],
     }),
 )
diff --git a/bindgen/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel b/bindgen/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel
index 0e457f6..53868c5 100644
--- a/bindgen/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "errno_dragonfly",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=errno-dragonfly",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.glob-0.3.1.bazel b/bindgen/3rdparty/crates/BUILD.glob-0.3.1.bazel
index a88d377..ab744d0 100644
--- a/bindgen/3rdparty/crates/BUILD.glob-0.3.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.glob-0.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "glob",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=glob",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.heck-0.4.1.bazel b/bindgen/3rdparty/crates/BUILD.heck-0.4.1.bazel
index bddecb8..d5665bd 100644
--- a/bindgen/3rdparty/crates/BUILD.heck-0.4.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.heck-0.4.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "heck",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=heck",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.hermit-abi-0.3.1.bazel b/bindgen/3rdparty/crates/BUILD.hermit-abi-0.3.1.bazel
index 3fddd0d..0ff068b 100644
--- a/bindgen/3rdparty/crates/BUILD.hermit-abi-0.3.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.hermit-abi-0.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "hermit_abi",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=hermit-abi",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.humantime-2.1.0.bazel b/bindgen/3rdparty/crates/BUILD.humantime-2.1.0.bazel
index 81407fb..1d14807 100644
--- a/bindgen/3rdparty/crates/BUILD.humantime-2.1.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.humantime-2.1.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "humantime",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=humantime",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel b/bindgen/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel
index 6cea8ec..0d26ee1 100644
--- a/bindgen/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel
+++ b/bindgen/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "io_lifetimes",
     srcs = glob(["**/*.rs"]),
@@ -37,7 +33,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=io-lifetimes",
@@ -53,6 +51,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -76,6 +76,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -102,6 +103,12 @@
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(not(windows))
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(not(windows))
         ],
@@ -171,6 +178,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(not(windows))
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
         "@rules_rust//rust/platform:x86_64-unknown-none": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(not(windows))
         ],
diff --git a/bindgen/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel b/bindgen/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel
index 7109d7e..e766c46 100644
--- a/bindgen/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel
+++ b/bindgen/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "is_terminal",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=is-terminal",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -97,6 +98,12 @@
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
             "@rules_rust_bindgen__rustix-0.37.20//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__rustix-0.37.20//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@rules_rust_bindgen__rustix-0.37.20//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
             "@rules_rust_bindgen__rustix-0.37.20//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
@@ -163,6 +170,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@rules_rust_bindgen__rustix-0.37.20//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__rustix-0.37.20//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
+        ],
         "@rules_rust//rust/platform:x86_64-unknown-none": [
             "@rules_rust_bindgen__rustix-0.37.20//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
diff --git a/bindgen/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel b/bindgen/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
index e84586f..3f63daa 100644
--- a/bindgen/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "lazy_static",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=lazy_static",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.lazycell-1.3.0.bazel b/bindgen/3rdparty/crates/BUILD.lazycell-1.3.0.bazel
index b7cbb43..8195d43 100644
--- a/bindgen/3rdparty/crates/BUILD.lazycell-1.3.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.lazycell-1.3.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "lazycell",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=lazycell",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.libc-0.2.146.bazel b/bindgen/3rdparty/crates/BUILD.libc-0.2.146.bazel
index 1d2a218..fc5234a 100644
--- a/bindgen/3rdparty/crates/BUILD.libc-0.2.146.bazel
+++ b/bindgen/3rdparty/crates/BUILD.libc-0.2.146.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "libc",
     srcs = glob(["**/*.rs"]),
@@ -29,14 +25,168 @@
             "WORKSPACE.bazel",
         ],
     ),
-    crate_features = [
-        "default",
-        "extra_traits",
-        "std",
-    ],
+    crate_features = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "default",  # aarch64-apple-darwin
+            "extra_traits",  # aarch64-apple-darwin
+            "std",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "default",  # aarch64-apple-ios
+            "extra_traits",  # aarch64-apple-ios
+            "std",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "default",  # aarch64-apple-ios-sim
+            "extra_traits",  # aarch64-apple-ios-sim
+            "std",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "default",  # aarch64-fuchsia
+            "extra_traits",  # aarch64-fuchsia
+            "std",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "default",  # aarch64-linux-android
+            "extra_traits",  # aarch64-linux-android
+            "std",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "default",  # aarch64-unknown-linux-gnu
+            "extra_traits",  # aarch64-unknown-linux-gnu
+            "std",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "default",  # aarch64-unknown-nixos-gnu
+            "extra_traits",  # aarch64-unknown-nixos-gnu
+            "std",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "default",  # aarch64-unknown-nto-qnx710
+            "extra_traits",  # aarch64-unknown-nto-qnx710
+            "std",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "default",  # arm-unknown-linux-gnueabi
+            "extra_traits",  # arm-unknown-linux-gnueabi
+            "std",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "default",  # armv7-linux-androideabi
+            "extra_traits",  # armv7-linux-androideabi
+            "std",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "default",  # armv7-unknown-linux-gnueabi
+            "extra_traits",  # armv7-unknown-linux-gnueabi
+            "std",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "default",  # i686-apple-darwin
+            "extra_traits",  # i686-apple-darwin
+            "std",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "default",  # i686-linux-android
+            "extra_traits",  # i686-linux-android
+            "std",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "default",  # i686-unknown-freebsd
+            "extra_traits",  # i686-unknown-freebsd
+            "std",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "default",  # i686-unknown-linux-gnu
+            "extra_traits",  # i686-unknown-linux-gnu
+            "std",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "default",  # powerpc-unknown-linux-gnu
+            "extra_traits",  # powerpc-unknown-linux-gnu
+            "std",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "default",  # riscv32imc-unknown-none-elf
+            "extra_traits",  # riscv32imc-unknown-none-elf
+            "std",  # riscv32imc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "default",  # riscv64gc-unknown-none-elf
+            "extra_traits",  # riscv64gc-unknown-none-elf
+            "std",  # riscv64gc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "default",  # s390x-unknown-linux-gnu
+            "extra_traits",  # s390x-unknown-linux-gnu
+            "std",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "default",  # thumbv7em-none-eabi
+            "extra_traits",  # thumbv7em-none-eabi
+            "std",  # thumbv7em-none-eabi
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "default",  # thumbv8m.main-none-eabi
+            "extra_traits",  # thumbv8m.main-none-eabi
+            "std",  # thumbv8m.main-none-eabi
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "default",  # wasm32-unknown-unknown
+            "std",  # wasm32-unknown-unknown
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "default",  # wasm32-wasi
+            "extra_traits",  # wasm32-wasi
+            "std",  # wasm32-wasi
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "default",  # x86_64-apple-darwin
+            "extra_traits",  # x86_64-apple-darwin
+            "std",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "default",  # x86_64-apple-ios
+            "extra_traits",  # x86_64-apple-ios
+            "std",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "default",  # x86_64-fuchsia
+            "extra_traits",  # x86_64-fuchsia
+            "std",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "default",  # x86_64-linux-android
+            "extra_traits",  # x86_64-linux-android
+            "std",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "default",  # x86_64-unknown-freebsd
+            "extra_traits",  # x86_64-unknown-freebsd
+            "std",  # x86_64-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "default",  # x86_64-unknown-linux-gnu
+            "extra_traits",  # x86_64-unknown-linux-gnu
+            "std",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "default",  # x86_64-unknown-nixos-gnu
+            "extra_traits",  # x86_64-unknown-nixos-gnu
+            "std",  # x86_64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "default",  # x86_64-unknown-none
+            "extra_traits",  # x86_64-unknown-none
+            "std",  # x86_64-unknown-none
+        ],
+        "//conditions:default": [],
+    }),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=libc",
@@ -52,6 +202,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,6 +227,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -87,11 +240,163 @@
 cargo_build_script(
     name = "libc_build_script",
     srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "extra_traits",
-        "std",
-    ],
+    crate_features = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "default",  # aarch64-apple-darwin
+            "extra_traits",  # aarch64-apple-darwin
+            "std",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "default",  # aarch64-apple-ios
+            "extra_traits",  # aarch64-apple-ios
+            "std",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "default",  # aarch64-apple-ios-sim
+            "extra_traits",  # aarch64-apple-ios-sim
+            "std",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "default",  # aarch64-fuchsia
+            "extra_traits",  # aarch64-fuchsia
+            "std",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "default",  # aarch64-linux-android
+            "extra_traits",  # aarch64-linux-android
+            "std",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "default",  # aarch64-unknown-linux-gnu
+            "extra_traits",  # aarch64-unknown-linux-gnu
+            "std",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "default",  # aarch64-unknown-nixos-gnu
+            "extra_traits",  # aarch64-unknown-nixos-gnu
+            "std",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "default",  # aarch64-unknown-nto-qnx710
+            "extra_traits",  # aarch64-unknown-nto-qnx710
+            "std",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "default",  # arm-unknown-linux-gnueabi
+            "extra_traits",  # arm-unknown-linux-gnueabi
+            "std",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "default",  # armv7-linux-androideabi
+            "extra_traits",  # armv7-linux-androideabi
+            "std",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "default",  # armv7-unknown-linux-gnueabi
+            "extra_traits",  # armv7-unknown-linux-gnueabi
+            "std",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "default",  # i686-apple-darwin
+            "extra_traits",  # i686-apple-darwin
+            "std",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "default",  # i686-linux-android
+            "extra_traits",  # i686-linux-android
+            "std",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "default",  # i686-unknown-freebsd
+            "extra_traits",  # i686-unknown-freebsd
+            "std",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "default",  # i686-unknown-linux-gnu
+            "extra_traits",  # i686-unknown-linux-gnu
+            "std",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "default",  # powerpc-unknown-linux-gnu
+            "extra_traits",  # powerpc-unknown-linux-gnu
+            "std",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "default",  # riscv32imc-unknown-none-elf
+            "extra_traits",  # riscv32imc-unknown-none-elf
+            "std",  # riscv32imc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "default",  # riscv64gc-unknown-none-elf
+            "extra_traits",  # riscv64gc-unknown-none-elf
+            "std",  # riscv64gc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "default",  # s390x-unknown-linux-gnu
+            "extra_traits",  # s390x-unknown-linux-gnu
+            "std",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "default",  # thumbv7em-none-eabi
+            "extra_traits",  # thumbv7em-none-eabi
+            "std",  # thumbv7em-none-eabi
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "default",  # thumbv8m.main-none-eabi
+            "extra_traits",  # thumbv8m.main-none-eabi
+            "std",  # thumbv8m.main-none-eabi
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "default",  # wasm32-unknown-unknown
+            "std",  # wasm32-unknown-unknown
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "default",  # wasm32-wasi
+            "extra_traits",  # wasm32-wasi
+            "std",  # wasm32-wasi
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "default",  # x86_64-apple-darwin
+            "extra_traits",  # x86_64-apple-darwin
+            "std",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "default",  # x86_64-apple-ios
+            "extra_traits",  # x86_64-apple-ios
+            "std",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "default",  # x86_64-fuchsia
+            "extra_traits",  # x86_64-fuchsia
+            "std",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "default",  # x86_64-linux-android
+            "extra_traits",  # x86_64-linux-android
+            "std",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "default",  # x86_64-unknown-freebsd
+            "extra_traits",  # x86_64-unknown-freebsd
+            "std",  # x86_64-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "default",  # x86_64-unknown-linux-gnu
+            "extra_traits",  # x86_64-unknown-linux-gnu
+            "std",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "default",  # x86_64-unknown-nixos-gnu
+            "extra_traits",  # x86_64-unknown-nixos-gnu
+            "std",  # x86_64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "default",  # x86_64-unknown-none
+            "extra_traits",  # x86_64-unknown-none
+            "std",  # x86_64-unknown-none
+        ],
+        "//conditions:default": [],
+    }),
     crate_name = "build_script_build",
     crate_root = "build.rs",
     data = glob(
@@ -122,6 +427,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "libc_build_script",
+    actual = ":libc_build_script",
     tags = ["manual"],
 )
diff --git a/bindgen/3rdparty/crates/BUILD.libloading-0.7.4.bazel b/bindgen/3rdparty/crates/BUILD.libloading-0.7.4.bazel
index 02820a1..edbba5b 100644
--- a/bindgen/3rdparty/crates/BUILD.libloading-0.7.4.bazel
+++ b/bindgen/3rdparty/crates/BUILD.libloading-0.7.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # ISC
-# ])
-
 rust_library(
     name = "libloading",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=libloading",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -95,6 +96,12 @@
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
             "@rules_rust_bindgen__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@rules_rust_bindgen__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
             "@rules_rust_bindgen__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
         ],
@@ -146,6 +153,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@rules_rust_bindgen__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
+        ],
         "//conditions:default": [],
     }),
 )
diff --git a/bindgen/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel b/bindgen/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel
index 5002214..4df8aac 100644
--- a/bindgen/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel
+++ b/bindgen/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "linux_raw_sys",
     srcs = glob(["**/*.rs"]),
@@ -29,14 +25,38 @@
         ],
     ),
     crate_features = [
-        "errno",
         "general",
         "ioctl",
         "no_std",
-    ],
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "errno",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "errno",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "errno",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "errno",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "errno",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "errno",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "errno",  # x86_64-unknown-nixos-gnu
+        ],
+        "//conditions:default": [],
+    }),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=linux-raw-sys",
@@ -52,6 +72,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,6 +97,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.log-0.4.19.bazel b/bindgen/3rdparty/crates/BUILD.log-0.4.19.bazel
index ece05e7..b165593 100644
--- a/bindgen/3rdparty/crates/BUILD.log-0.4.19.bazel
+++ b/bindgen/3rdparty/crates/BUILD.log-0.4.19.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "log",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=log",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.memchr-2.5.0.bazel b/bindgen/3rdparty/crates/BUILD.memchr-2.5.0.bazel
index e9f6dbc..52d1e8d 100644
--- a/bindgen/3rdparty/crates/BUILD.memchr-2.5.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.memchr-2.5.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
 rust_library(
     name = "memchr",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=memchr",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.minimal-lexical-0.2.1.bazel b/bindgen/3rdparty/crates/BUILD.minimal-lexical-0.2.1.bazel
index fc114ef..9b13aff 100644
--- a/bindgen/3rdparty/crates/BUILD.minimal-lexical-0.2.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.minimal-lexical-0.2.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "minimal_lexical",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=minimal-lexical",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.nom-7.1.3.bazel b/bindgen/3rdparty/crates/BUILD.nom-7.1.3.bazel
index d0ec246..f40b95b 100644
--- a/bindgen/3rdparty/crates/BUILD.nom-7.1.3.bazel
+++ b/bindgen/3rdparty/crates/BUILD.nom-7.1.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "nom",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=nom",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.once_cell-1.18.0.bazel b/bindgen/3rdparty/crates/BUILD.once_cell-1.18.0.bazel
index a0ccc08..7d580df 100644
--- a/bindgen/3rdparty/crates/BUILD.once_cell-1.18.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.once_cell-1.18.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "once_cell",
     srcs = glob(["**/*.rs"]),
@@ -36,7 +32,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=once_cell",
@@ -52,6 +50,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,6 +75,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.peeking_take_while-0.1.2.bazel b/bindgen/3rdparty/crates/BUILD.peeking_take_while-0.1.2.bazel
index ade7a87..53de6ff 100644
--- a/bindgen/3rdparty/crates/BUILD.peeking_take_while-0.1.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.peeking_take_while-0.1.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
 rust_library(
     name = "peeking_take_while",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=peeking_take_while",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.prettyplease-0.2.6.bazel b/bindgen/3rdparty/crates/BUILD.prettyplease-0.2.6.bazel
deleted file mode 100644
index 477069c..0000000
--- a/bindgen/3rdparty/crates/BUILD.prettyplease-0.2.6.bazel
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//bindgen/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "prettyplease",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=prettyplease",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.2.6",
-    deps = [
-        "@rules_rust_bindgen__proc-macro2-1.0.60//:proc_macro2",
-        "@rules_rust_bindgen__syn-2.0.18//:syn",
-    ],
-)
diff --git a/bindgen/3rdparty/crates/BUILD.proc-macro2-1.0.60.bazel b/bindgen/3rdparty/crates/BUILD.proc-macro2-1.0.60.bazel
index 5cd65a5..76d24fe 100644
--- a/bindgen/3rdparty/crates/BUILD.proc-macro2-1.0.60.bazel
+++ b/bindgen/3rdparty/crates/BUILD.proc-macro2-1.0.60.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "proc_macro2",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=proc-macro2",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.quote-1.0.28.bazel b/bindgen/3rdparty/crates/BUILD.quote-1.0.28.bazel
index 04f9e5a..5b3ff8d 100644
--- a/bindgen/3rdparty/crates/BUILD.quote-1.0.28.bazel
+++ b/bindgen/3rdparty/crates/BUILD.quote-1.0.28.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "quote",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=quote",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.regex-1.8.4.bazel b/bindgen/3rdparty/crates/BUILD.regex-1.8.4.bazel
index 34b8ea2..6acc048 100644
--- a/bindgen/3rdparty/crates/BUILD.regex-1.8.4.bazel
+++ b/bindgen/3rdparty/crates/BUILD.regex-1.8.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "regex",
     srcs = glob(["**/*.rs"]),
@@ -48,7 +44,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=regex",
@@ -64,6 +62,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -87,6 +87,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.regex-syntax-0.7.2.bazel b/bindgen/3rdparty/crates/BUILD.regex-syntax-0.7.2.bazel
index 6ae6db2..065188b 100644
--- a/bindgen/3rdparty/crates/BUILD.regex-syntax-0.7.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.regex-syntax-0.7.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "regex_syntax",
     srcs = glob(["**/*.rs"]),
@@ -40,7 +36,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=regex-syntax",
@@ -56,6 +54,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -79,6 +79,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel b/bindgen/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
index 4850110..c51f36e 100644
--- a/bindgen/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
 rust_library(
     name = "rustc_hash",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rustc-hash",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.rustix-0.37.20.bazel b/bindgen/3rdparty/crates/BUILD.rustix-0.37.20.bazel
index 8c71a0d..7ccbabf 100644
--- a/bindgen/3rdparty/crates/BUILD.rustix-0.37.20.bazel
+++ b/bindgen/3rdparty/crates/BUILD.rustix-0.37.20.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "rustix",
     srcs = glob(["**/*.rs"]),
@@ -37,6 +33,9 @@
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": {
             "@rules_rust_bindgen__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
         },
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": {
+            "@rules_rust_bindgen__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
         "@rules_rust//rust/platform:armv7-linux-androideabi": {
             "@rules_rust_bindgen__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         },
@@ -120,7 +119,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rustix",
@@ -136,6 +137,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -159,6 +162,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -197,6 +201,14 @@
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@rules_rust_bindgen__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@rules_rust_bindgen__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@rules_rust_bindgen__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@rules_rust_bindgen__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
@@ -294,6 +306,10 @@
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@rules_rust_bindgen__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@rules_rust_bindgen__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
         "@rules_rust//rust/platform:x86_64-unknown-none": [
             "@rules_rust_bindgen__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
             "@rules_rust_bindgen__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
@@ -343,6 +359,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "rustix_build_script",
+    actual = ":rustix_build_script",
     tags = ["manual"],
 )
diff --git a/bindgen/3rdparty/crates/BUILD.shlex-1.1.0.bazel b/bindgen/3rdparty/crates/BUILD.shlex-1.1.0.bazel
index dff978e..6752acb 100644
--- a/bindgen/3rdparty/crates/BUILD.shlex-1.1.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.shlex-1.1.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "shlex",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=shlex",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.strsim-0.10.0.bazel b/bindgen/3rdparty/crates/BUILD.strsim-0.10.0.bazel
index 23c61ce..5800d7a 100644
--- a/bindgen/3rdparty/crates/BUILD.strsim-0.10.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.strsim-0.10.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "strsim",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=strsim",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.syn-2.0.18.bazel b/bindgen/3rdparty/crates/BUILD.syn-2.0.18.bazel
index 051a536..171f1cd 100644
--- a/bindgen/3rdparty/crates/BUILD.syn-2.0.18.bazel
+++ b/bindgen/3rdparty/crates/BUILD.syn-2.0.18.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "syn",
     srcs = glob(["**/*.rs"]),
@@ -42,7 +38,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=syn",
@@ -58,6 +56,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -81,6 +81,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.termcolor-1.2.0.bazel b/bindgen/3rdparty/crates/BUILD.termcolor-1.2.0.bazel
index ea77a7b..ac4ff30 100644
--- a/bindgen/3rdparty/crates/BUILD.termcolor-1.2.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.termcolor-1.2.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense OR MIT
-# ])
-
 rust_library(
     name = "termcolor",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=termcolor",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.unicode-ident-1.0.9.bazel b/bindgen/3rdparty/crates/BUILD.unicode-ident-1.0.9.bazel
index 271cb7f..19b31b9 100644
--- a/bindgen/3rdparty/crates/BUILD.unicode-ident-1.0.9.bazel
+++ b/bindgen/3rdparty/crates/BUILD.unicode-ident-1.0.9.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
-# ])
-
 rust_library(
     name = "unicode_ident",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unicode-ident",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel b/bindgen/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel
index 72ca4c8..4186cef 100644
--- a/bindgen/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel
+++ b/bindgen/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unicode_width",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unicode-width",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel b/bindgen/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel
index 14e533c..6674782 100644
--- a/bindgen/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel
+++ b/bindgen/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "utf8parse",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=utf8parse",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.which-4.4.0.bazel b/bindgen/3rdparty/crates/BUILD.which-4.4.0.bazel
deleted file mode 100644
index fa91ce1..0000000
--- a/bindgen/3rdparty/crates/BUILD.which-4.4.0.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//bindgen/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "which",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=which",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "4.4.0",
-    deps = [
-        "@rules_rust_bindgen__either-1.8.1//:either",
-        "@rules_rust_bindgen__libc-0.2.146//:libc",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
-            "@rules_rust_bindgen__once_cell-1.18.0//:once_cell",  # cfg(windows)
-        ],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
-            "@rules_rust_bindgen__once_cell-1.18.0//:once_cell",  # cfg(windows)
-        ],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
-            "@rules_rust_bindgen__once_cell-1.18.0//:once_cell",  # cfg(windows)
-        ],
-        "//conditions:default": [],
-    }),
-)
diff --git a/bindgen/3rdparty/crates/BUILD.winapi-0.3.9.bazel b/bindgen/3rdparty/crates/BUILD.winapi-0.3.9.bazel
index 35796cd..90f885d 100644
--- a/bindgen/3rdparty/crates/BUILD.winapi-0.3.9.bazel
+++ b/bindgen/3rdparty/crates/BUILD.winapi-0.3.9.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "winapi",
     srcs = glob(["**/*.rs"]),
@@ -45,7 +41,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi",
@@ -61,6 +59,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -84,6 +84,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -140,6 +141,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "winapi_build_script",
+    actual = ":winapi_build_script",
     tags = ["manual"],
 )
diff --git a/bindgen/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/bindgen/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
index 34d746a..420921f 100644
--- a/bindgen/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "winapi_i686_pc_windows_gnu",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi-i686-pc-windows-gnu",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel b/bindgen/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
index eae5d5c..1985145 100644
--- a/bindgen/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
+++ b/bindgen/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
 rust_library(
     name = "winapi_util",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi-util",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/bindgen/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
index 7fe8de2..c3c0bd2 100644
--- a/bindgen/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "winapi_x86_64_pc_windows_gnu",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi-x86_64-pc-windows-gnu",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel
index f4eb335..eb0f788 100644
--- a/bindgen/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_sys",
     srcs = glob(["**/*.rs"]),
@@ -31,8 +27,6 @@
     crate_features = [
         "Win32",
         "Win32_Foundation",
-        "Win32_NetworkManagement",
-        "Win32_NetworkManagement_IpHelper",
         "Win32_Networking",
         "Win32_Networking_WinSock",
         "Win32_Security",
@@ -40,15 +34,15 @@
         "Win32_Storage_FileSystem",
         "Win32_System",
         "Win32_System_Console",
-        "Win32_System_Diagnostics",
-        "Win32_System_Diagnostics_Debug",
         "Win32_System_IO",
         "Win32_System_Threading",
         "default",
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows-sys",
@@ -64,6 +58,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -87,6 +83,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows-targets-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows-targets-0.48.0.bazel
index f478751..573f947 100644
--- a/bindgen/3rdparty/crates/BUILD.windows-targets-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows-targets-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_targets",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows-targets",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -89,6 +90,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@rules_rust_bindgen__windows_x86_64_gnu-0.48.0//:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@rules_rust_bindgen__windows_x86_64_gnu-0.48.0//:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
+        ],
         "//conditions:default": [],
     }),
 )
diff --git a/bindgen/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
index f14414a..80a2870 100644
--- a/bindgen/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_aarch64_gnullvm",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_aarch64_gnullvm",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
index e3f1531..782b96a 100644
--- a/bindgen/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_aarch64_msvc",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_aarch64_msvc",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel
index 411e00d..d2b718c 100644
--- a/bindgen/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_i686_gnu",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_i686_gnu",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel
index 15ea7fc..7073976 100644
--- a/bindgen/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_i686_msvc",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_i686_msvc",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
index f15f03b..e0d2c78 100644
--- a/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_x86_64_gnu",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_x86_64_gnu",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
index 576afd9..b772590 100644
--- a/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_x86_64_gnullvm",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_x86_64_gnullvm",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel b/bindgen/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
index 1fc1e3b..8a4f01d 100644
--- a/bindgen/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
+++ b/bindgen/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_x86_64_msvc",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_x86_64_msvc",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/BUILD.yansi-term-0.1.2.bazel b/bindgen/3rdparty/crates/BUILD.yansi-term-0.1.2.bazel
index 5668bcb..744a6cc 100644
--- a/bindgen/3rdparty/crates/BUILD.yansi-term-0.1.2.bazel
+++ b/bindgen/3rdparty/crates/BUILD.yansi-term-0.1.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "yansi_term",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=yansi-term",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/bindgen/3rdparty/crates/alias_rules.bzl b/bindgen/3rdparty/crates/alias_rules.bzl
new file mode 100644
index 0000000..14b04c1
--- /dev/null
+++ b/bindgen/3rdparty/crates/alias_rules.bzl
@@ -0,0 +1,47 @@
+"""Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias="opt"` to enable."""
+
+load("@rules_cc//cc:defs.bzl", "CcInfo")
+load("@rules_rust//rust:rust_common.bzl", "COMMON_PROVIDERS")
+
+def _transition_alias_impl(ctx):
+    # `ctx.attr.actual` is a list of 1 item due to the transition
+    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]
+    if CcInfo in ctx.attr.actual[0]:
+        providers.append(ctx.attr.actual[0][CcInfo])
+    return providers
+
+def _change_compilation_mode(compilation_mode):
+    def _change_compilation_mode_impl(_settings, _attr):
+        return {
+            "//command_line_option:compilation_mode": compilation_mode,
+        }
+
+    return transition(
+        implementation = _change_compilation_mode_impl,
+        inputs = [],
+        outputs = [
+            "//command_line_option:compilation_mode",
+        ],
+    )
+
+def _transition_alias_rule(compilation_mode):
+    return rule(
+        implementation = _transition_alias_impl,
+        provides = COMMON_PROVIDERS,
+        attrs = {
+            "actual": attr.label(
+                mandatory = True,
+                doc = "`rust_library()` target to transition to `compilation_mode=opt`.",
+                providers = COMMON_PROVIDERS,
+                cfg = _change_compilation_mode(compilation_mode),
+            ),
+            "_allowlist_function_transition": attr.label(
+                default = "@bazel_tools//tools/allowlists/function_transition_allowlist",
+            ),
+        },
+        doc = "Transitions a Rust library crate to the `compilation_mode=opt`.",
+    )
+
+transition_alias_dbg = _transition_alias_rule("dbg")
+transition_alias_fastbuild = _transition_alias_rule("fastbuild")
+transition_alias_opt = _transition_alias_rule("opt")
diff --git a/bindgen/3rdparty/crates/crates.bzl b/bindgen/3rdparty/crates/crates.bzl
index 9ffa4ff..7e262ca 100644
--- a/bindgen/3rdparty/crates/crates.bzl
+++ b/bindgen/3rdparty/crates/crates.bzl
@@ -15,6 +15,11 @@
 load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
 
 def crate_repositories():
+    """Generates repositories for vendored crates.
+
+    Returns:
+      A list of repos visible to the module through the module extension.
+    """
     maybe(
         crates_vendor_remote_repository,
         name = "rules_rust_bindgen",
@@ -22,4 +27,6 @@
         defs_module = Label("@rules_rust//bindgen/3rdparty/crates:defs.bzl"),
     )
 
-    _crate_repositories()
+    direct_deps = [struct(repo = "rules_rust_bindgen", is_dev_dep = False)]
+    direct_deps.extend(_crate_repositories())
+    return direct_deps
diff --git a/bindgen/3rdparty/crates/defs.bzl b/bindgen/3rdparty/crates/defs.bzl
index b0aaa90..9ee731c 100644
--- a/bindgen/3rdparty/crates/defs.bzl
+++ b/bindgen/3rdparty/crates/defs.bzl
@@ -295,7 +295,7 @@
 _NORMAL_DEPENDENCIES = {
     "": {
         _COMMON_CONDITION: {
-            "bindgen": "@rules_rust_bindgen__bindgen-0.65.1//:bindgen",
+            "bindgen": "@rules_rust_bindgen__bindgen-0.69.1//:bindgen",
             "clang-sys": "@rules_rust_bindgen__clang-sys-1.6.1//:clang_sys",
             "clap": "@rules_rust_bindgen__clap-4.3.3//:clap",
             "clap_complete": "@rules_rust_bindgen__clap_complete-4.3.1//:clap_complete",
@@ -369,26 +369,28 @@
     "aarch64-linux-android": ["@rules_rust//rust/platform:aarch64-linux-android"],
     "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
     "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu"],
+    "aarch64-unknown-nixos-gnu": ["@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"],
+    "aarch64-unknown-nto-qnx710": ["@rules_rust//rust/platform:aarch64-unknown-nto-qnx710"],
     "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"],
     "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"],
     "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"],
     "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android"],
-    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
-    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
+    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
     "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
     "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
     "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
     "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
-    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
     "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
     "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
-    "cfg(not(any(windows, target_os = \"hermit\", target_os = \"unknown\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
-    "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(not(any(windows, target_os = \"hermit\", target_os = \"unknown\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
     "cfg(target_os = \"dragonfly\")": [],
     "cfg(target_os = \"hermit\")": [],
     "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"],
     "cfg(target_os = \"windows\")": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
-    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
     "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"],
     "i686-linux-android": ["@rules_rust//rust/platform:i686-linux-android"],
@@ -412,13 +414,18 @@
     "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"],
     "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
     "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"],
 }
 
 ###############################################################################
 
 def crate_repositories():
-    """A macro for defining repositories for all generated crates"""
+    """A macro for defining repositories for all generated crates.
+
+    Returns:
+      A list of repos visible to the module through the module extension.
+    """
     maybe(
         http_archive,
         name = "rules_rust_bindgen__aho-corasick-1.0.2",
@@ -491,12 +498,12 @@
 
     maybe(
         http_archive,
-        name = "rules_rust_bindgen__bindgen-0.65.1",
-        sha256 = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5",
+        name = "rules_rust_bindgen__bindgen-0.69.1",
+        sha256 = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/bindgen/0.65.1/download"],
-        strip_prefix = "bindgen-0.65.1",
-        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.bindgen-0.65.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/bindgen/0.69.1/download"],
+        strip_prefix = "bindgen-0.69.1",
+        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.bindgen-0.69.1.bazel"),
     )
 
     maybe(
@@ -511,6 +518,16 @@
 
     maybe(
         http_archive,
+        name = "rules_rust_bindgen__bitflags-2.4.1",
+        sha256 = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bitflags/2.4.1/download"],
+        strip_prefix = "bitflags-2.4.1",
+        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.bitflags-2.4.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "rules_rust_bindgen__cc-1.0.79",
         sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f",
         type = "tar.gz",
@@ -611,16 +628,6 @@
 
     maybe(
         http_archive,
-        name = "rules_rust_bindgen__either-1.8.1",
-        sha256 = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/either/1.8.1/download"],
-        strip_prefix = "either-1.8.1",
-        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.either-1.8.1.bazel"),
-    )
-
-    maybe(
-        http_archive,
         name = "rules_rust_bindgen__env_logger-0.10.0",
         sha256 = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0",
         type = "tar.gz",
@@ -821,16 +828,6 @@
 
     maybe(
         http_archive,
-        name = "rules_rust_bindgen__prettyplease-0.2.6",
-        sha256 = "3b69d39aab54d069e7f2fe8cb970493e7834601ca2d8c65fd7bbd183578080d1",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/prettyplease/0.2.6/download"],
-        strip_prefix = "prettyplease-0.2.6",
-        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.prettyplease-0.2.6.bazel"),
-    )
-
-    maybe(
-        http_archive,
         name = "rules_rust_bindgen__proc-macro2-1.0.60",
         sha256 = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406",
         type = "tar.gz",
@@ -961,16 +958,6 @@
 
     maybe(
         http_archive,
-        name = "rules_rust_bindgen__which-4.4.0",
-        sha256 = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/which/4.4.0/download"],
-        strip_prefix = "which-4.4.0",
-        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.which-4.4.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
         name = "rules_rust_bindgen__winapi-0.3.9",
         sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
         type = "tar.gz",
@@ -1108,3 +1095,11 @@
         strip_prefix = "yansi-term-0.1.2",
         build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.yansi-term-0.1.2.bazel"),
     )
+
+    return [
+        struct(repo = "rules_rust_bindgen__bindgen-0.69.1", is_dev_dep = False),
+        struct(repo = "rules_rust_bindgen__clang-sys-1.6.1", is_dev_dep = False),
+        struct(repo = "rules_rust_bindgen__clap-4.3.3", is_dev_dep = False),
+        struct(repo = "rules_rust_bindgen__clap_complete-4.3.1", is_dev_dep = False),
+        struct(repo = "rules_rust_bindgen__env_logger-0.10.0", is_dev_dep = False),
+    ]
diff --git a/bindgen/bindgen.bzl b/bindgen/bindgen.bzl
deleted file mode 100644
index d73b40d..0000000
--- a/bindgen/bindgen.bzl
+++ /dev/null
@@ -1,12 +0,0 @@
-"""Rust Bindgen rules legacy load path"""
-
-load(
-    ":defs.bzl",
-    _rust_bindgen = "rust_bindgen",
-    _rust_bindgen_library = "rust_bindgen_library",
-    _rust_bindgen_toolchain = "rust_bindgen_toolchain",
-)
-
-rust_bindgen = _rust_bindgen
-rust_bindgen_library = _rust_bindgen_library
-rust_bindgen_toolchain = _rust_bindgen_toolchain
diff --git a/bindgen/private/BUILD.bazel b/bindgen/private/BUILD.bazel
index 97c4669..e8f1c33 100644
--- a/bindgen/private/BUILD.bazel
+++ b/bindgen/private/BUILD.bazel
@@ -2,6 +2,8 @@
 
 bzl_library(
     name = "bzl_lib",
-    srcs = glob(["**/*.bzl"]),
+    srcs = glob(["**/*.bzl"]) + [
+        "@rules_cc//cc:bzl_srcs",
+    ],
     visibility = ["//bindgen:__pkg__"],
 )
diff --git a/bindgen/private/bindgen.bzl b/bindgen/private/bindgen.bzl
index aba0469..f32a4fc 100644
--- a/bindgen/private/bindgen.bzl
+++ b/bindgen/private/bindgen.bzl
@@ -14,13 +14,19 @@
 
 """Rust Bindgen rules"""
 
+load(
+    "@bazel_tools//tools/build_defs/cc:action_names.bzl",
+    "CPP_COMPILE_ACTION_NAME",
+)
+load("@rules_cc//cc:defs.bzl", "CcInfo")
 load("//rust:defs.bzl", "rust_library")
+load("//rust:rust_common.bzl", "BuildInfo")
 
 # buildifier: disable=bzl-visibility
 load("//rust/private:rustc.bzl", "get_linker_and_args")
 
 # buildifier: disable=bzl-visibility
-load("//rust/private:utils.bzl", "find_cc_toolchain", "get_preferred_artifact")
+load("//rust/private:utils.bzl", "find_cc_toolchain", "get_lib_name_default", "get_preferred_artifact")
 
 # TODO(hlopko): use the more robust logic from rustc.bzl also here, through a reasonable API.
 def _get_libs_for_static_executable(dep):
@@ -40,6 +46,7 @@
         header,
         cc_lib,
         bindgen_flags = None,
+        bindgen_features = None,
         clang_flags = None,
         **kwargs):
     """Generates a rust source file for `header`, and builds a rust_library.
@@ -51,6 +58,7 @@
         header (str): The label of the .h file to generate bindings for.
         cc_lib (str): The label of the cc_library that contains the .h file. This is used to find the transitive includes.
         bindgen_flags (list, optional): Flags to pass directly to the bindgen executable. See https://rust-lang.github.io/rust-bindgen/ for details.
+        bindgen_features (list, optional): The `features` attribute for the `rust_bindgen` target.
         clang_flags (list, optional): Flags to pass directly to the clang executable.
         **kwargs: Arguments to forward to the underlying `rust_library` rule.
     """
@@ -59,30 +67,98 @@
     if "tags" in kwargs:
         kwargs.pop("tags")
 
+    sub_tags = tags + ([] if "manual" in tags else ["manual"])
+
     deps = kwargs.get("deps") or []
     if "deps" in kwargs:
         kwargs.pop("deps")
 
+    bindgen_kwargs = {}
+    if "leak_symbols" in kwargs:
+        bindgen_kwargs.update({"leak_symbols": kwargs.pop("leak_symbols")})
+
     rust_bindgen(
         name = name + "__bindgen",
         header = header,
         cc_lib = cc_lib,
         bindgen_flags = bindgen_flags or [],
+        features = bindgen_features,
         clang_flags = clang_flags or [],
-        tags = tags,
+        tags = sub_tags,
+        **bindgen_kwargs
     )
 
+    for custom_tag in ["__bindgen", "no-clippy", "no-rustfmt"]:
+        tags = tags + ([] if custom_tag in tags else [custom_tag])
+
     rust_library(
         name = name,
         srcs = [name + "__bindgen.rs"],
-        tags = tags + ["__bindgen", "noclippy"],
-        deps = deps + [cc_lib],
+        deps = deps + [name + "__bindgen"],
+        tags = tags,
         **kwargs
     )
 
-def _rust_bindgen_impl(ctx):
-    toolchain = ctx.toolchains[Label("//bindgen:toolchain_type")]
+def _generate_cc_link_build_info(ctx, cc_lib):
+    """Produce the eqivilant cargo_build_script providers for use in linking the library.
 
+    Args:
+        ctx (ctx): The rule's context object
+        cc_lib (Target): The `rust_bindgen.cc_lib` target.
+
+    Returns:
+        The `BuildInfo` provider.
+    """
+    compile_data = []
+    linker_flags = []
+    linker_search_paths = []
+
+    for linker_input in cc_lib[CcInfo].linking_context.linker_inputs.to_list():
+        for lib in linker_input.libraries:
+            if lib.static_library:
+                linker_flags.append("-lstatic={}".format(get_lib_name_default(lib.static_library)))
+                linker_search_paths.append(lib.static_library.dirname)
+                compile_data.append(lib.static_library)
+            elif lib.pic_static_library:
+                linker_flags.append("-lstatic={}".format(get_lib_name_default(lib.pic_static_library)))
+                linker_search_paths.append(lib.pic_static_library.dirname)
+                compile_data.append(lib.pic_static_library)
+
+        if linker_input.user_link_flags:
+            linker_flags.append("-C")
+            linker_flags.append("link-args={}".format(" ".join(linker_input.user_link_flags)))
+
+    if not compile_data:
+        fail("No static libraries found in {}".format(
+            cc_lib.label,
+        ))
+
+    link_flags = ctx.actions.declare_file("{}.link_flags".format(ctx.label.name))
+    ctx.actions.write(
+        output = link_flags,
+        content = "\n".join(linker_flags),
+    )
+
+    link_search_paths = ctx.actions.declare_file("{}.link_search_paths".format(ctx.label.name))
+    ctx.actions.write(
+        output = link_search_paths,
+        content = "\n".join([
+            "-Lnative=${{pwd}}/{}".format(path)
+            for path in depset(linker_search_paths).to_list()
+        ]),
+    )
+
+    return BuildInfo(
+        compile_data = depset(compile_data),
+        dep_env = None,
+        flags = None,
+        link_flags = link_flags,
+        link_search_paths = link_search_paths,
+        out_dir = None,
+        rustc_env = None,
+    )
+
+def _rust_bindgen_impl(ctx):
     # nb. We can't grab the cc_library`s direct headers, so a header must be provided.
     cc_lib = ctx.attr.cc_lib
     header = ctx.file.header
@@ -97,13 +173,13 @@
     libstdcxx = toolchain.libstdcxx
 
     output = ctx.outputs.out
-    tools = depset([clang_bin])
+
+    cc_toolchain, feature_configuration = find_cc_toolchain(ctx = ctx)
+
+    tools = depset([clang_bin], transitive = [cc_toolchain.all_files])
 
     # libclang should only have 1 output file
     libclang_dir = _get_libs_for_static_executable(libclang).to_list()[0].dirname
-    include_directories = cc_lib[CcInfo].compilation_context.includes.to_list()
-    quote_include_directories = cc_lib[CcInfo].compilation_context.quote_includes.to_list()
-    system_include_directories = cc_lib[CcInfo].compilation_context.system_includes.to_list()
 
     env = {
         "CLANG_PATH": clang_bin.path,
@@ -129,26 +205,51 @@
 
     # Configure Clang Arguments
     args.add("--")
-    args.add_all(include_directories, before_each = "-I")
-    args.add_all(quote_include_directories, before_each = "-iquote")
-    args.add_all(system_include_directories, before_each = "-isystem")
-    args.add_all(ctx.attr.clang_flags)
 
-    cc_toolchain, feature_configuration = find_cc_toolchain(ctx)
+    compile_variables = cc_common.create_compile_variables(
+        cc_toolchain = cc_toolchain,
+        feature_configuration = feature_configuration,
+        include_directories = cc_lib[CcInfo].compilation_context.includes,
+        quote_include_directories = cc_lib[CcInfo].compilation_context.quote_includes,
+        system_include_directories = cc_lib[CcInfo].compilation_context.system_includes,
+        user_compile_flags = ctx.attr.clang_flags,
+    )
+    compile_flags = cc_common.get_memory_inefficient_command_line(
+        feature_configuration = feature_configuration,
+        action_name = CPP_COMPILE_ACTION_NAME,
+        variables = compile_variables,
+    )
+
+    # Bindgen forcibly uses clang.
+    # It's possible that the selected cc_toolchain isn't clang, and may specify flags which clang doesn't recognise.
+    # Ideally we could depend on a more specific toolchain, requesting one which is specifically clang via some constraint.
+    # Unfortunately, we can't currently rely on this, so instead we filter only to flags we know clang supports.
+    # We can add extra flags here as needed.
+    flags_known_to_clang = ("-I", "-iquote", "-isystem", "--sysroot", "--gcc-toolchain")
+    open_arg = False
+    for arg in compile_flags:
+        if open_arg:
+            args.add(arg)
+            open_arg = False
+            continue
+
+        # The cc_toolchain merged these flags into its returned flags - don't strip these out.
+        if arg in ctx.attr.clang_flags:
+            args.add(arg)
+            continue
+
+        if not arg.startswith(flags_known_to_clang):
+            continue
+
+        args.add(arg)
+
+        if arg in flags_known_to_clang:
+            open_arg = True
+            continue
+
     _, _, linker_env = get_linker_and_args(ctx, ctx.attr, "bin", cc_toolchain, feature_configuration, None)
     env.update(**linker_env)
 
-    # Allow sysroots configured by the toolchain to be added to Clang arguments.
-    if "no-rust-bindgen-cc-sysroot" not in ctx.features:
-        if cc_toolchain.sysroot:
-            tools = depset(transitive = [tools, cc_toolchain.all_files])
-            sysroot_args = ["--sysroot", cc_toolchain.sysroot]
-            for arg in ctx.attr.clang_flags:
-                if arg.startswith("--sysroot"):
-                    sysroot_args = []
-                    break
-            args.add_all(sysroot_args)
-
     # Set the dynamic linker search path so that clang uses the libstdcxx from the toolchain.
     # DYLD_LIBRARY_PATH is LD_LIBRARY_PATH on macOS.
     if libstdcxx:
@@ -174,6 +275,21 @@
         tools = tools,
     )
 
+    if ctx.attr.leak_symbols:
+        # buildifier: disable=print
+        print("WARN: rust_bindgen.leak_symbols is set to True for {} - please file an issue at https://github.com/bazelbuild/rules_rust/issues explaining why this was necessary, as this support will be removed soon.".format(ctx.label))
+        providers = [cc_common.merge_cc_infos(
+            direct_cc_infos = [cc_lib[CcInfo]],
+        )]
+    else:
+        providers = [_generate_cc_link_build_info(ctx, cc_lib)]
+
+    return providers + [
+        OutputGroupInfo(
+            bindgen_bindings = depset([output]),
+        ),
+    ]
+
 rust_bindgen = rule(
     doc = "Generates a rust source file from a cc_library and a header.",
     implementation = _rust_bindgen_impl,
@@ -184,6 +300,7 @@
         "cc_lib": attr.label(
             doc = "The cc_library that contains the `.h` file. This is used to find the transitive includes.",
             providers = [CcInfo],
+            mandatory = True,
         ),
         "clang_flags": attr.string_list(
             doc = "Flags to pass directly to the clang executable.",
@@ -191,6 +308,14 @@
         "header": attr.label(
             doc = "The `.h` file to generate bindings for.",
             allow_single_file = True,
+            mandatory = True,
+        ),
+        "leak_symbols": attr.bool(
+            doc = (
+                "If True, `cc_lib` will be exposed and linked into all downstream consumers of the target vs. the " +
+                "`rust_library` directly consuming it."
+            ),
+            default = False,
         ),
         "_cc_toolchain": attr.label(
             default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"),
@@ -210,7 +335,6 @@
         str(Label("//rust/rustfmt:toolchain_type")),
         "@bazel_tools//tools/cpp:toolchain_type",
     ],
-    incompatible_use_toolchain_transition = True,
 )
 
 def _rust_bindgen_toolchain_impl(ctx):
@@ -262,6 +386,7 @@
             doc = "The label of a `clang` executable.",
             executable = True,
             cfg = "exec",
+            allow_files = True,
         ),
         "default_rustfmt": attr.bool(
             doc = "If set, `rust_bindgen` targets will always format generated sources with `rustfmt`.",
@@ -272,12 +397,14 @@
             doc = "A cc_library that provides bindgen's runtime dependency on libclang.",
             cfg = "exec",
             providers = [CcInfo],
+            allow_files = True,
         ),
         "libstdcxx": attr.label(
             doc = "A cc_library that satisfies libclang's libstdc++ dependency. This is used to make the execution of clang hermetic. If None, system libraries will be used instead.",
             cfg = "exec",
             providers = [CcInfo],
             mandatory = False,
+            allow_files = True,
         ),
     },
 )
diff --git a/bindgen/repositories.bzl b/bindgen/repositories.bzl
index a9077c3..2ded1a9 100644
--- a/bindgen/repositories.bzl
+++ b/bindgen/repositories.bzl
@@ -18,11 +18,16 @@
 load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
 load("//bindgen/3rdparty/crates:defs.bzl", "crate_repositories")
 
-BINDGEN_VERSION = "0.65.1"
+BINDGEN_VERSION = "0.69.1"
 
 # buildifier: disable=unnamed-macro
 def rust_bindgen_dependencies():
-    """Declare dependencies needed for bindgen."""
+    """Declare dependencies needed for bindgen.
+
+    Returns:
+        list[struct(repo=str, is_dev_dep=bool)]: A list of the repositories
+        defined by this macro.
+    """
 
     maybe(
         http_archive,
@@ -38,17 +43,23 @@
         ],
     )
 
+    bindgen_name = "rules_rust_bindgen__bindgen-cli-{}".format(BINDGEN_VERSION)
     maybe(
         http_archive,
-        name = "rules_rust_bindgen__bindgen-cli-{}".format(BINDGEN_VERSION),
-        sha256 = "33373a4e0ec8b6fa2654e0c941ad16631b0d564cfd20e7e4b3db4c5b28f4a237",
+        name = bindgen_name,
+        integrity = "sha256-iFZe4JEQqZ54KZiX+/7VA7mqAwZThu6MGBl/yvIotQE=",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/bindgen-cli/{}/download".format(BINDGEN_VERSION)],
         strip_prefix = "bindgen-cli-{}".format(BINDGEN_VERSION),
         build_file = Label("//bindgen/3rdparty:BUILD.bindgen-cli.bazel"),
     )
 
-    crate_repositories()
+    direct_deps = [
+        struct(repo = "llvm-raw", is_dev_dep = False),
+        struct(repo = bindgen_name, is_dev_dep = False),
+    ]
+    direct_deps.extend(crate_repositories())
+    return direct_deps
 
 # buildifier: disable=unnamed-macro
 def rust_bindgen_register_toolchains(register_toolchains = True):
diff --git a/cargo/cargo_build_script.bzl b/cargo/cargo_build_script.bzl
deleted file mode 100644
index af21a91..0000000
--- a/cargo/cargo_build_script.bzl
+++ /dev/null
@@ -1,16 +0,0 @@
-"""Legacy load locations for Cargo build script rules
-
-Instead, `defs.bzl` should be used.
-"""
-
-load(
-    "//cargo/private:cargo_build_script.bzl",
-    _cargo_dep_env = "cargo_dep_env",
-)
-load(
-    "//cargo/private:cargo_build_script_wrapper.bzl",
-    _cargo_build_script = "cargo_build_script",
-)
-
-cargo_build_script = _cargo_build_script
-cargo_dep_env = _cargo_dep_env
diff --git a/cargo/defs.bzl b/cargo/defs.bzl
index 2801805..89e0321 100644
--- a/cargo/defs.bzl
+++ b/cargo/defs.bzl
@@ -1,6 +1,11 @@
 """Common definitions for the `@rules_rust//cargo` package"""
 
 load(
+    "//cargo/private:cargo_bootstrap.bzl",
+    _cargo_bootstrap_repository = "cargo_bootstrap_repository",
+    _cargo_env = "cargo_env",
+)
+load(
     "//cargo/private:cargo_build_script.bzl",
     _cargo_dep_env = "cargo_dep_env",
 )
@@ -8,11 +13,6 @@
     "//cargo/private:cargo_build_script_wrapper.bzl",
     _cargo_build_script = "cargo_build_script",
 )
-load(
-    ":cargo_bootstrap.bzl",
-    _cargo_bootstrap_repository = "cargo_bootstrap_repository",
-    _cargo_env = "cargo_env",
-)
 
 cargo_bootstrap_repository = _cargo_bootstrap_repository
 cargo_env = _cargo_env
diff --git a/cargo/features.bzl b/cargo/features.bzl
deleted file mode 100644
index 29b9921..0000000
--- a/cargo/features.bzl
+++ /dev/null
@@ -1,6 +0,0 @@
-"""Public Cargo features for Bazel."""
-
-# `symlink-exec-root` feature will symlink the execroot to the build script execution directory.
-#
-# This is useful for building with hermetic C++ toolchains.
-SYMLINK_EXEC_ROOT_FEATURE = "symlink-exec-root"
diff --git a/cargo/cargo_bootstrap.bzl b/cargo/private/cargo_bootstrap.bzl
similarity index 100%
rename from cargo/cargo_bootstrap.bzl
rename to cargo/private/cargo_bootstrap.bzl
diff --git a/cargo/private/cargo_build_script.bzl b/cargo/private/cargo_build_script.bzl
index 91ccb46..ad93a5c 100644
--- a/cargo/private/cargo_build_script.bzl
+++ b/cargo/private/cargo_build_script.bzl
@@ -4,16 +4,25 @@
 load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
 load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "CPP_COMPILE_ACTION_NAME", "C_COMPILE_ACTION_NAME")
 load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain")
-load("//cargo:features.bzl", "SYMLINK_EXEC_ROOT_FEATURE")
 load("//rust:defs.bzl", "rust_common")
 load("//rust:rust_common.bzl", "BuildInfo", "DepInfo")
 
 # buildifier: disable=bzl-visibility
-load("//rust/private:rustc.bzl", "get_compilation_mode_opts", "get_linker_and_args")
+load(
+    "//rust/private:rustc.bzl",
+    "get_compilation_mode_opts",
+    "get_linker_and_args",
+)
 
 # buildifier: disable=bzl-visibility
-load("//rust/private:utils.bzl", "dedent", "expand_dict_value_locations", "find_cc_toolchain", "find_toolchain", _name_to_crate_name = "name_to_crate_name")
-load(":features.bzl", "feature_enabled")
+load(
+    "//rust/private:utils.bzl",
+    "dedent",
+    "expand_dict_value_locations",
+    "find_cc_toolchain",
+    "find_toolchain",
+    _name_to_crate_name = "name_to_crate_name",
+)
 
 # Reexport for cargo_build_script_wrapper.bzl
 name_to_crate_name = _name_to_crate_name
@@ -70,6 +79,29 @@
             res.append(arg)
     return res
 
+def _feature_enabled(ctx, feature_name, default = False):
+    """Check if a feature is enabled.
+
+    If the feature is explicitly enabled or disabled, return accordingly.
+
+    In the case where the feature is not explicitly enabled or disabled, return the default value.
+
+    Args:
+        ctx: The context object.
+        feature_name: The name of the feature.
+        default: The default value to return if the feature is not explicitly enabled or disabled.
+
+    Returns:
+        Boolean defining whether the feature is enabled.
+    """
+    if feature_name in ctx.disabled_features:
+        return False
+
+    if feature_name in ctx.features:
+        return True
+
+    return default
+
 def _cargo_build_script_impl(ctx):
     """The implementation for the `cargo_build_script` rule.
 
@@ -244,7 +276,7 @@
             build_script_inputs.append(dep_build_info.out_dir)
 
     experimental_symlink_execroot = ctx.attr._experimental_symlink_execroot[BuildSettingInfo].value or \
-                                    feature_enabled(ctx, SYMLINK_EXEC_ROOT_FEATURE)
+                                    _feature_enabled(ctx, "symlink-exec-root")
 
     if experimental_symlink_execroot:
         env["RULES_RUST_SYMLINK_EXEC_ROOT"] = "1"
@@ -269,6 +301,7 @@
             flags = flags_out,
             link_flags = link_flags,
             link_search_paths = link_search_paths,
+            compile_data = depset([]),
         ),
         OutputGroupInfo(
             streams = depset([streams.stdout, streams.stderr]),
@@ -364,7 +397,6 @@
         str(Label("//rust:toolchain_type")),
         "@bazel_tools//tools/cpp:toolchain_type",
     ],
-    incompatible_use_toolchain_transition = True,
 )
 
 def _merge_env_dict(prefix_dict, suffix_dict):
@@ -417,6 +449,7 @@
             link_search_paths = empty_file,
             out_dir = out_dir,
             rustc_env = empty_file,
+            compile_data = depset([]),
         ))
     return [
         DefaultInfo(files = depset(ctx.files.src)),
@@ -433,8 +466,9 @@
             flags = empty_file,
             link_flags = empty_file,
             link_search_paths = empty_file,
-            out_dir = empty_dir,
+            out_dir = None,
             rustc_env = empty_file,
+            compile_data = depset([]),
         ),
         # Information here is used directly by dependencies, and it is an error to have more than
         # one dependency which sets this. This is the main way to specify information from build
diff --git a/cargo/private/cargo_build_script_wrapper.bzl b/cargo/private/cargo_build_script_wrapper.bzl
index 579630f..51421fd 100644
--- a/cargo/private/cargo_build_script_wrapper.bzl
+++ b/cargo/private/cargo_build_script_wrapper.bzl
@@ -21,10 +21,12 @@
         proc_macro_deps = [],
         build_script_env = {},
         data = [],
+        compile_data = [],
         tools = [],
         links = None,
         rundir = None,
         rustc_env = {},
+        rustc_env_files = [],
         rustc_flags = [],
         visibility = None,
         tags = None,
@@ -71,7 +73,7 @@
         # one.
         build_script_env = {
             "SOME_TOOL_OR_FILE": "$(execpath @tool//:binary)"
-        }
+        },
         # Optional data/tool dependencies
         data = ["@tool//:binary"],
     )
@@ -103,6 +105,7 @@
         proc_macro_deps (list of label, optional): List of rust_proc_macro targets used to build the script.
         build_script_env (dict, optional): Environment variables for build scripts.
         data (list, optional): Files needed by the build script.
+        compile_data (list, optional): Files needed for the compilation of the build script.
         tools (list, optional): Tools (executables) needed by the build script.
         links (str, optional): Name of the native library this crate links against.
         rundir (str, optional): A directory to `cd` to before the cargo_build_script is run. This should be a path relative to the exec root.
@@ -111,6 +114,8 @@
 
             If set to `.`, the cargo build script will run in the exec root.
         rustc_env (dict, optional): Environment variables to set in rustc when compiling the build script.
+        rustc_env_files (list of label, optional): Files containing additional environment variables to set for rustc
+            when building the build script.
         rustc_flags (list, optional): List of compiler flags passed to `rustc`.
         visibility (list of label, optional): Visibility to apply to the generated build script output.
         tags: (list of str, optional): Tags to apply to the generated build script output.
@@ -145,7 +150,9 @@
         deps = deps,
         proc_macro_deps = proc_macro_deps,
         data = data,
+        compile_data = compile_data,
         rustc_env = rustc_env,
+        rustc_env_files = rustc_env_files,
         rustc_flags = rustc_flags,
         edition = edition,
         tags = binary_tags,
diff --git a/cargo/private/features.bzl b/cargo/private/features.bzl
deleted file mode 100644
index 5d396b9..0000000
--- a/cargo/private/features.bzl
+++ /dev/null
@@ -1,24 +0,0 @@
-"""Feature helpers."""
-
-def feature_enabled(ctx, feature_name, default = False):
-    """Check if a feature is enabled.
-
-    If the feature is explicitly enabled or disabled, return accordingly.
-
-    In the case where the feature is not explicitly enabled or disabled, return the default value.
-
-    Args:
-        ctx: The context object.
-        feature_name: The name of the feature.
-        default: The default value to return if the feature is not explicitly enabled or disabled.
-
-    Returns:
-        Boolean defining whether the feature is enabled.
-    """
-    if feature_name in ctx.disabled_features:
-        return False
-
-    if feature_name in ctx.features:
-        return True
-
-    return default
diff --git a/crate_universe/3rdparty/BUILD.bazel b/crate_universe/3rdparty/BUILD.bazel
index f56c01e..9da855d 100644
--- a/crate_universe/3rdparty/BUILD.bazel
+++ b/crate_universe/3rdparty/BUILD.bazel
@@ -1,4 +1,3 @@
-load("//crate_universe/private:crate.bzl", "crate")
 load("//crate_universe/private:crates_vendor.bzl", "crates_vendor")
 
 package(default_visibility = ["//visibility:public"])
@@ -10,16 +9,6 @@
 
 crates_vendor(
     name = "crates_vendor",
-    annotations = {
-        "libgit2-sys": [crate.annotation(
-            gen_build_script = False,
-            deps = ["@libgit2"],
-        )],
-        "libz-sys": [crate.annotation(
-            gen_build_script = False,
-            deps = ["@zlib"],
-        )],
-    },
     cargo_lockfile = "@rules_rust//crate_universe:Cargo.lock",
     manifests = [
         "@rules_rust//crate_universe:Cargo.toml",
diff --git a/crate_universe/3rdparty/crates/BUILD.adler-1.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.adler-1.0.2.bazel
new file mode 100644
index 0000000..b6e4d49
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.adler-1.0.2.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "adler",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=adler",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.2",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.ahash-0.7.6.bazel b/crate_universe/3rdparty/crates/BUILD.ahash-0.7.6.bazel
deleted file mode 100644
index 1b57b70..0000000
--- a/crate_universe/3rdparty/crates/BUILD.ahash-0.7.6.bazel
+++ /dev/null
@@ -1,234 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "ahash",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=ahash",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.7.6",
-    deps = [
-        "@cui__ahash-0.7.6//:build_script_build",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:wasm32-wasi": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__getrandom-0.2.10//:getrandom",  # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [
-            "@cui__once_cell-1.18.0//:once_cell",  # cfg(not(all(target_arch = "arm", target_os = "none")))
-        ],
-        "//conditions:default": [],
-    }),
-)
-
-cargo_build_script(
-    name = "ahash_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=ahash",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.7.6",
-    visibility = ["//visibility:private"],
-    deps = [
-        "@cui__version_check-0.9.4//:version_check",
-    ],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "ahash_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel
index 60ef480..97b97a3 100644
--- a/crate_universe/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.aho-corasick-1.0.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense OR MIT
-# ])
-
 rust_library(
     name = "aho_corasick",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=aho-corasick",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,11 +74,12 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "1.0.2",
     deps = [
-        "@cui__memchr-2.5.0//:memchr",
+        "@cui__memchr-2.6.4//:memchr",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.android-tzdata-0.1.1.bazel b/crate_universe/3rdparty/crates/BUILD.android-tzdata-0.1.1.bazel
index 8f0041a..dc79a82 100644
--- a/crate_universe/3rdparty/crates/BUILD.android-tzdata-0.1.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.android-tzdata-0.1.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "android_tzdata",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=android-tzdata",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.android_system_properties-0.1.5.bazel b/crate_universe/3rdparty/crates/BUILD.android_system_properties-0.1.5.bazel
index fc84486..ba4503b 100644
--- a/crate_universe/3rdparty/crates/BUILD.android_system_properties-0.1.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.android_system_properties-0.1.5.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "android_system_properties",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=android_system_properties",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,11 +69,12 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.1.5",
     deps = [
-        "@cui__libc-0.2.147//:libc",
+        "@cui__libc-0.2.149//:libc",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.anstream-0.3.2.bazel b/crate_universe/3rdparty/crates/BUILD.anstream-0.3.2.bazel
index 4e8f466..aaad255 100644
--- a/crate_universe/3rdparty/crates/BUILD.anstream-0.3.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.anstream-0.3.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstream",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstream",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.anstyle-1.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.anstyle-1.0.1.bazel
index 4db6503..2b89ce6 100644
--- a/crate_universe/3rdparty/crates/BUILD.anstyle-1.0.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.anstyle-1.0.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.anstyle-parse-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.anstyle-parse-0.2.1.bazel
index 1f47bf6..558061c 100644
--- a/crate_universe/3rdparty/crates/BUILD.anstyle-parse-0.2.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.anstyle-parse-0.2.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle_parse",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle-parse",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel
index 9f3c4e2..a9448cd 100644
--- a/crate_universe/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.anstyle-query-1.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle_query",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle-query",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel
index 8aa60ae..5301543 100644
--- a/crate_universe/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.anstyle-wincon-1.0.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "anstyle_wincon",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=anstyle-wincon",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.71.bazel b/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.71.bazel
deleted file mode 100644
index f9f49ff..0000000
--- a/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.71.bazel
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "anyhow",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=anyhow",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.0.71",
-    deps = [
-        "@cui__anyhow-1.0.71//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "anyhow_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=anyhow",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.71",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "anyhow_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.75.bazel b/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.75.bazel
new file mode 100644
index 0000000..8da42d8
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.75.bazel
@@ -0,0 +1,126 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "anyhow",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=anyhow",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.75",
+    deps = [
+        "@cui__anyhow-1.0.75//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "anyhow_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=anyhow",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.75",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":anyhow_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.arc-swap-1.6.0.bazel b/crate_universe/3rdparty/crates/BUILD.arc-swap-1.6.0.bazel
new file mode 100644
index 0000000..3c1da41
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.arc-swap-1.6.0.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "arc_swap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=arc-swap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.6.0",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.arrayvec-0.7.4.bazel b/crate_universe/3rdparty/crates/BUILD.arrayvec-0.7.4.bazel
new file mode 100644
index 0000000..84c9828
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.arrayvec-0.7.4.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "arrayvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=arrayvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.7.4",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
index 349a919..7378ca0 100644
--- a/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "autocfg",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=autocfg",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.bazel b/crate_universe/3rdparty/crates/BUILD.bazel
index b6885a5..22ce4bd 100644
--- a/crate_universe/3rdparty/crates/BUILD.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.bazel
@@ -27,7 +27,13 @@
 # Workspace Member Dependencies
 alias(
     name = "anyhow",
-    actual = "@cui__anyhow-1.0.71//:anyhow",
+    actual = "@cui__anyhow-1.0.75//:anyhow",
+    tags = ["manual"],
+)
+
+alias(
+    name = "camino",
+    actual = "@cui__camino-1.1.6//:camino",
     tags = ["manual"],
 )
 
@@ -39,25 +45,25 @@
 
 alias(
     name = "cargo-platform",
-    actual = "@cui__cargo-platform-0.1.3//:cargo_platform",
+    actual = "@cui__cargo-platform-0.1.4//:cargo_platform",
     tags = ["manual"],
 )
 
 alias(
     name = "cargo_metadata",
-    actual = "@cui__cargo_metadata-0.15.4//:cargo_metadata",
+    actual = "@cui__cargo_metadata-0.18.1//:cargo_metadata",
     tags = ["manual"],
 )
 
 alias(
     name = "cargo_toml",
-    actual = "@cui__cargo_toml-0.15.3//:cargo_toml",
+    actual = "@cui__cargo_toml-0.17.1//:cargo_toml",
     tags = ["manual"],
 )
 
 alias(
     name = "cfg-expr",
-    actual = "@cui__cfg-expr-0.15.3//:cfg_expr",
+    actual = "@cui__cfg-expr-0.15.5//:cfg_expr",
     tags = ["manual"],
 )
 
@@ -69,7 +75,7 @@
 
 alias(
     name = "crates-index",
-    actual = "@cui__crates-index-0.19.13//:crates_index",
+    actual = "@cui__crates-index-2.2.0//:crates_index",
     tags = ["manual"],
 )
 
@@ -81,13 +87,13 @@
 
 alias(
     name = "indoc",
-    actual = "@cui__indoc-2.0.2//:indoc",
+    actual = "@cui__indoc-2.0.4//:indoc",
     tags = ["manual"],
 )
 
 alias(
     name = "itertools",
-    actual = "@cui__itertools-0.11.0//:itertools",
+    actual = "@cui__itertools-0.12.0//:itertools",
     tags = ["manual"],
 )
 
@@ -111,37 +117,43 @@
 
 alias(
     name = "regex",
-    actual = "@cui__regex-1.9.1//:regex",
+    actual = "@cui__regex-1.10.2//:regex",
     tags = ["manual"],
 )
 
 alias(
     name = "semver",
-    actual = "@cui__semver-1.0.17//:semver",
+    actual = "@cui__semver-1.0.20//:semver",
     tags = ["manual"],
 )
 
 alias(
     name = "serde",
-    actual = "@cui__serde-1.0.171//:serde",
+    actual = "@cui__serde-1.0.190//:serde",
     tags = ["manual"],
 )
 
 alias(
     name = "serde_json",
-    actual = "@cui__serde_json-1.0.102//:serde_json",
+    actual = "@cui__serde_json-1.0.108//:serde_json",
     tags = ["manual"],
 )
 
 alias(
     name = "serde_starlark",
-    actual = "@cui__serde_starlark-0.1.13//:serde_starlark",
+    actual = "@cui__serde_starlark-0.1.14//:serde_starlark",
     tags = ["manual"],
 )
 
 alias(
     name = "sha2",
-    actual = "@cui__sha2-0.10.7//:sha2",
+    actual = "@cui__sha2-0.10.8//:sha2",
+    tags = ["manual"],
+)
+
+alias(
+    name = "spdx",
+    actual = "@cui__spdx-0.10.3//:spdx",
     tags = ["manual"],
 )
 
@@ -153,13 +165,13 @@
 
 alias(
     name = "tempfile",
-    actual = "@cui__tempfile-3.6.0//:tempfile",
+    actual = "@cui__tempfile-3.8.1//:tempfile",
     tags = ["manual"],
 )
 
 alias(
     name = "tera",
-    actual = "@cui__tera-1.19.0//:tera",
+    actual = "@cui__tera-1.19.1//:tera",
     tags = ["manual"],
 )
 
@@ -171,6 +183,18 @@
 
 alias(
     name = "toml",
-    actual = "@cui__toml-0.7.6//:toml",
+    actual = "@cui__toml-0.8.10//:toml",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tracing",
+    actual = "@cui__tracing-0.1.40//:tracing",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tracing-subscriber",
+    actual = "@cui__tracing-subscriber-0.3.17//:tracing_subscriber",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel b/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
index f6c334f..a52c519 100644
--- a/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "bitflags",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=bitflags",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.bitflags-2.4.1.bazel b/crate_universe/3rdparty/crates/BUILD.bitflags-2.4.1.bazel
new file mode 100644
index 0000000..f494fdf
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.bitflags-2.4.1.bazel
@@ -0,0 +1,155 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "std",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "std",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "std",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "std",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "std",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "std",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "std",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "std",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "std",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "std",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "std",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "std",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "std",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "std",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "std",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "std",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "std",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "std",  # wasm32-wasi
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "std",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "std",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "std",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "std",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "std",  # x86_64-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "std",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "std",  # x86_64-unknown-nixos-gnu
+        ],
+        "//conditions:default": [],
+    }),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bitflags",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.4.1",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.4.bazel b/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.4.bazel
index 1d8d8a2..a96f408 100644
--- a/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "block_buffer",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=block-buffer",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.bstr-1.6.0.bazel b/crate_universe/3rdparty/crates/BUILD.bstr-1.6.0.bazel
index 32fcfa3..263cfa7 100644
--- a/crate_universe/3rdparty/crates/BUILD.bstr-1.6.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.bstr-1.6.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "bstr",
     srcs = glob(["**/*.rs"]),
@@ -31,10 +27,13 @@
     crate_features = [
         "alloc",
         "std",
+        "unicode",
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=bstr",
@@ -50,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,11 +74,13 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "1.6.0",
     deps = [
-        "@cui__memchr-2.5.0//:memchr",
+        "@cui__memchr-2.6.4//:memchr",
+        "@cui__regex-automata-0.3.3//:regex_automata",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.btoi-0.4.3.bazel b/crate_universe/3rdparty/crates/BUILD.btoi-0.4.3.bazel
new file mode 100644
index 0000000..66174ef
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.btoi-0.4.3.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "btoi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=btoi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.3",
+    deps = [
+        "@cui__num-traits-0.2.15//:num_traits",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.bumpalo-3.13.0.bazel b/crate_universe/3rdparty/crates/BUILD.bumpalo-3.13.0.bazel
index 44dd5c0..a5eb41b 100644
--- a/crate_universe/3rdparty/crates/BUILD.bumpalo-3.13.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.bumpalo-3.13.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "bumpalo",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=bumpalo",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.byteyarn-0.2.3.bazel b/crate_universe/3rdparty/crates/BUILD.byteyarn-0.2.3.bazel
new file mode 100644
index 0000000..ff3841d
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.byteyarn-0.2.3.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "byteyarn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=byteyarn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.3",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.camino-1.1.6.bazel b/crate_universe/3rdparty/crates/BUILD.camino-1.1.6.bazel
index 0ef022a..b8ec4e3 100644
--- a/crate_universe/3rdparty/crates/BUILD.camino-1.1.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.camino-1.1.6.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "camino",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=camino",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,13 +74,14 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "1.1.6",
     deps = [
         "@cui__camino-1.1.6//:build_script_build",
-        "@cui__serde-1.0.171//:serde",
+        "@cui__serde-1.0.190//:serde",
     ],
 )
 
@@ -121,6 +122,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "camino_build_script",
+    actual = ":camino_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo-lock-9.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.cargo-lock-9.0.0.bazel
index 5bea81f..fe2d60a 100644
--- a/crate_universe/3rdparty/crates/BUILD.cargo-lock-9.0.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cargo-lock-9.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "cargo_lock",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=cargo-lock",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,13 +69,14 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "9.0.0",
     deps = [
-        "@cui__semver-1.0.17//:semver",
-        "@cui__serde-1.0.171//:serde",
+        "@cui__semver-1.0.20//:semver",
+        "@cui__serde-1.0.190//:serde",
         "@cui__toml-0.7.6//:toml",
         "@cui__url-2.4.0//:url",
     ],
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.3.bazel
deleted file mode 100644
index 1340a3d..0000000
--- a/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.3.bazel
+++ /dev/null
@@ -1,79 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "cargo_platform",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=cargo-platform",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.1.3",
-    deps = [
-        "@cui__serde-1.0.171//:serde",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.4.bazel
new file mode 100644
index 0000000..88efaee
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.4.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "cargo_platform",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cargo-platform",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.4",
+    deps = [
+        "@cui__serde-1.0.190//:serde",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.15.4.bazel b/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.15.4.bazel
deleted file mode 100644
index 7742257..0000000
--- a/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.15.4.bazel
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "cargo_metadata",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=cargo_metadata",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.15.4",
-    deps = [
-        "@cui__camino-1.1.6//:camino",
-        "@cui__cargo-platform-0.1.3//:cargo_platform",
-        "@cui__semver-1.0.17//:semver",
-        "@cui__serde-1.0.171//:serde",
-        "@cui__serde_json-1.0.102//:serde_json",
-        "@cui__thiserror-1.0.43//:thiserror",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.18.1.bazel b/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.18.1.bazel
new file mode 100644
index 0000000..f609acd
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.18.1.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "cargo_metadata",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cargo_metadata",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.18.1",
+    deps = [
+        "@cui__camino-1.1.6//:camino",
+        "@cui__cargo-platform-0.1.4//:cargo_platform",
+        "@cui__semver-1.0.20//:semver",
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_json-1.0.108//:serde_json",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.15.3.bazel b/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.15.3.bazel
deleted file mode 100644
index 2ef8a86..0000000
--- a/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.15.3.bazel
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "cargo_toml",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/cargo_toml.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=cargo_toml",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.15.3",
-    deps = [
-        "@cui__serde-1.0.171//:serde",
-        "@cui__toml-0.7.6//:toml",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.17.1.bazel b/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.17.1.bazel
new file mode 100644
index 0000000..3680d9a
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.17.1.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "cargo_toml",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/cargo_toml.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cargo_toml",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.17.1",
+    deps = [
+        "@cui__serde-1.0.190//:serde",
+        "@cui__toml-0.8.10//:toml",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.cc-1.0.79.bazel b/crate_universe/3rdparty/crates/BUILD.cc-1.0.79.bazel
index c160ece..2bc5bf9 100644
--- a/crate_universe/3rdparty/crates/BUILD.cc-1.0.79.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cc-1.0.79.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "cc",
     srcs = glob(["**/*.rs"]),
@@ -28,13 +24,11 @@
             "WORKSPACE.bazel",
         ],
     ),
-    crate_features = [
-        "jobserver",
-        "parallel",
-    ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=cc",
@@ -50,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,11 +69,9 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "1.0.79",
-    deps = [
-        "@cui__jobserver-0.1.26//:jobserver",
-    ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.15.3.bazel b/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.15.3.bazel
deleted file mode 100644
index 438deb4..0000000
--- a/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.15.3.bazel
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "cfg_expr",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=cfg-expr",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.15.3",
-    deps = [
-        "@cui__smallvec-1.11.0//:smallvec",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.15.5.bazel b/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.15.5.bazel
new file mode 100644
index 0000000..f5768fe
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.15.5.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "cfg_expr",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cfg-expr",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.15.5",
+    deps = [
+        "@cui__smallvec-1.11.0//:smallvec",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
index c4b8eed..54e0b0a 100644
--- a/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "cfg_if",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=cfg-if",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-0.4.26.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-0.4.26.bazel
index be49ed0..8ff1678 100644
--- a/crate_universe/3rdparty/crates/BUILD.chrono-0.4.26.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.chrono-0.4.26.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "chrono",
     srcs = glob(["**/*.rs"]),
@@ -36,7 +32,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=chrono",
@@ -52,6 +50,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,6 +75,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -104,6 +105,12 @@
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
             "@cui__iana-time-zone-0.1.57//:iana_time_zone",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__iana-time-zone-0.1.57//:iana_time_zone",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__iana-time-zone-0.1.57//:iana_time_zone",  # cfg(unix)
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
             "@cui__iana-time-zone-0.1.57//:iana_time_zone",  # cfg(unix)
         ],
@@ -158,6 +165,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@cui__iana-time-zone-0.1.57//:iana_time_zone",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__iana-time-zone-0.1.57//:iana_time_zone",  # cfg(unix)
+        ],
         "//conditions:default": [],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.6.1.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.6.1.bazel
deleted file mode 100644
index e50274c..0000000
--- a/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.6.1.bazel
+++ /dev/null
@@ -1,130 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "chrono_tz",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=chrono-tz",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.6.1",
-    deps = [
-        "@cui__chrono-0.4.26//:chrono",
-        "@cui__chrono-tz-0.6.1//:build_script_build",
-        "@cui__phf-0.10.1//:phf",
-    ],
-)
-
-cargo_build_script(
-    name = "chrono-tz_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=chrono-tz",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.6.1",
-    visibility = ["//visibility:private"],
-    deps = [
-        "@cui__chrono-tz-build-0.0.2//:chrono_tz_build",
-    ],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "chrono-tz_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.8.4.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.8.4.bazel
new file mode 100644
index 0000000..8a08e4e
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.8.4.bazel
@@ -0,0 +1,131 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "chrono_tz",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=chrono-tz",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.4",
+    deps = [
+        "@cui__chrono-0.4.26//:chrono",
+        "@cui__chrono-tz-0.8.4//:build_script_build",
+        "@cui__phf-0.11.2//:phf",
+    ],
+)
+
+cargo_build_script(
+    name = "chrono-tz_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=chrono-tz",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.4",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cui__chrono-tz-build-0.2.1//:chrono_tz_build",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":chrono-tz_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.0.2.bazel
deleted file mode 100644
index 2e92f7c..0000000
--- a/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.0.2.bazel
+++ /dev/null
@@ -1,81 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "chrono_tz_build",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=chrono-tz-build",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.0.2",
-    deps = [
-        "@cui__parse-zoneinfo-0.3.0//:parse_zoneinfo",
-        "@cui__phf-0.10.1//:phf",
-        "@cui__phf_codegen-0.10.0//:phf_codegen",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.2.1.bazel
new file mode 100644
index 0000000..31b2e7c
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.2.1.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "chrono_tz_build",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=chrono-tz-build",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.1",
+    deps = [
+        "@cui__parse-zoneinfo-0.3.0//:parse_zoneinfo",
+        "@cui__phf-0.11.2//:phf",
+        "@cui__phf_codegen-0.11.2//:phf_codegen",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.clap-4.3.11.bazel b/crate_universe/3rdparty/crates/BUILD.clap-4.3.11.bazel
index c2b12e4..708f39a 100644
--- a/crate_universe/3rdparty/crates/BUILD.clap-4.3.11.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.clap-4.3.11.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "clap",
     srcs = glob(["**/*.rs"]),
@@ -44,7 +40,9 @@
     proc_macro_deps = [
         "@cui__clap_derive-4.3.2//:clap_derive",
     ],
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap",
@@ -60,6 +58,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -83,6 +83,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.clap_builder-4.3.11.bazel b/crate_universe/3rdparty/crates/BUILD.clap_builder-4.3.11.bazel
index d9e2194..33b64cd 100644
--- a/crate_universe/3rdparty/crates/BUILD.clap_builder-4.3.11.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.clap_builder-4.3.11.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "clap_builder",
     srcs = glob(["**/*.rs"]),
@@ -39,7 +35,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap_builder",
@@ -55,6 +53,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -78,6 +78,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel b/crate_universe/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel
index 34dd29b..3d0ed37 100644
--- a/crate_universe/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.clap_derive-4.3.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_proc_macro(
     name = "clap_derive",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap_derive",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -80,6 +81,6 @@
         "@cui__heck-0.4.1//:heck",
         "@cui__proc-macro2-1.0.64//:proc_macro2",
         "@cui__quote-1.0.29//:quote",
-        "@cui__syn-2.0.25//:syn",
+        "@cui__syn-2.0.32//:syn",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel b/crate_universe/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel
index 7ac2082..2298e49 100644
--- a/crate_universe/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.clap_lex-0.5.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "clap_lex",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=clap_lex",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.clru-0.6.1.bazel b/crate_universe/3rdparty/crates/BUILD.clru-0.6.1.bazel
new file mode 100644
index 0000000..31ad3c1
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.clru-0.6.1.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "clru",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=clru",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.6.1",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel
index 21b969c..6a842b0 100644
--- a/crate_universe/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.colorchoice-1.0.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "colorchoice",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=colorchoice",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.core-foundation-sys-0.8.4.bazel b/crate_universe/3rdparty/crates/BUILD.core-foundation-sys-0.8.4.bazel
index 0e5ec54..f7c4cbe 100644
--- a/crate_universe/3rdparty/crates/BUILD.core-foundation-sys-0.8.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.core-foundation-sys-0.8.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT / Apache-2.0
-# ])
-
 rust_library(
     name = "core_foundation_sys",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=core-foundation-sys",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.9.bazel b/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.9.bazel
index 301bf6c..98534ac 100644
--- a/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.9.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.9.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "cpufeatures",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=cpufeatures",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,25 +69,29 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.2.9",
     deps = select({
         "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(target_arch = "aarch64", target_vendor = "apple"))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(target_arch = "aarch64", target_vendor = "apple"))
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(target_arch = "aarch64", target_vendor = "apple"))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(target_arch = "aarch64", target_vendor = "apple"))
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(target_arch = "aarch64", target_vendor = "apple"))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(target_arch = "aarch64", target_vendor = "apple"))
         ],
         "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # aarch64-linux-android
+            "@cui__libc-0.2.149//:libc",  # aarch64-linux-android
         ],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(target_arch = "aarch64", target_os = "linux"))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(target_arch = "aarch64", target_os = "linux"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(all(target_arch = "aarch64", target_os = "linux"))
         ],
         "//conditions:default": [],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.crates-index-0.19.13.bazel b/crate_universe/3rdparty/crates/BUILD.crates-index-0.19.13.bazel
deleted file mode 100644
index 7d59acf..0000000
--- a/crate_universe/3rdparty/crates/BUILD.crates-index-0.19.13.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0
-# ])
-
-rust_library(
-    name = "crates_index",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    proc_macro_deps = [
-        "@cui__serde_derive-1.0.171//:serde_derive",
-    ],
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=crates-index",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.19.13",
-    deps = [
-        "@cui__git2-0.16.1//:git2",
-        "@cui__hex-0.4.3//:hex",
-        "@cui__home-0.5.5//:home",
-        "@cui__memchr-2.5.0//:memchr",
-        "@cui__rustc-hash-1.1.0//:rustc_hash",
-        "@cui__semver-1.0.17//:semver",
-        "@cui__serde-1.0.171//:serde",
-        "@cui__serde_json-1.0.102//:serde_json",
-        "@cui__smol_str-0.2.0//:smol_str",
-        "@cui__toml-0.7.6//:toml",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.crates-index-2.2.0.bazel b/crate_universe/3rdparty/crates/BUILD.crates-index-2.2.0.bazel
new file mode 100644
index 0000000..41642a9
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.crates-index-2.2.0.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "crates_index",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "git",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@cui__serde_derive-1.0.190//:serde_derive",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crates-index",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.2.0",
+    deps = [
+        "@cui__gix-0.54.1//:gix",
+        "@cui__hex-0.4.3//:hex",
+        "@cui__home-0.5.5//:home",
+        "@cui__memchr-2.6.4//:memchr",
+        "@cui__rustc-hash-1.1.0//:rustc_hash",
+        "@cui__semver-1.0.20//:semver",
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_json-1.0.108//:serde_json",
+        "@cui__smol_str-0.2.0//:smol_str",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__toml-0.8.10//:toml",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.crc32fast-1.3.2.bazel b/crate_universe/3rdparty/crates/BUILD.crc32fast-1.3.2.bazel
new file mode 100644
index 0000000..8de6d65
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.crc32fast-1.3.2.bazel
@@ -0,0 +1,127 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "crc32fast",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crc32fast",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.3.2",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__crc32fast-1.3.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "crc32fast_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crc32fast",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.3.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":crc32fast_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.crossbeam-0.8.2.bazel b/crate_universe/3rdparty/crates/BUILD.crossbeam-0.8.2.bazel
new file mode 100644
index 0000000..d860a63
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.crossbeam-0.8.2.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "crossbeam",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "crossbeam-channel",
+        "crossbeam-deque",
+        "crossbeam-epoch",
+        "crossbeam-queue",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crossbeam",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.2",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__crossbeam-channel-0.5.8//:crossbeam_channel",
+        "@cui__crossbeam-deque-0.8.3//:crossbeam_deque",
+        "@cui__crossbeam-epoch-0.9.15//:crossbeam_epoch",
+        "@cui__crossbeam-queue-0.3.8//:crossbeam_queue",
+        "@cui__crossbeam-utils-0.8.16//:crossbeam_utils",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.crossbeam-channel-0.5.8.bazel b/crate_universe/3rdparty/crates/BUILD.crossbeam-channel-0.5.8.bazel
new file mode 100644
index 0000000..ddc1a5c
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.crossbeam-channel-0.5.8.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "crossbeam_channel",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "crossbeam-utils",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crossbeam-channel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.5.8",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__crossbeam-utils-0.8.16//:crossbeam_utils",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.crossbeam-deque-0.8.3.bazel b/crate_universe/3rdparty/crates/BUILD.crossbeam-deque-0.8.3.bazel
new file mode 100644
index 0000000..de1f80c
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.crossbeam-deque-0.8.3.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "crossbeam_deque",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "crossbeam-epoch",
+        "crossbeam-utils",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crossbeam-deque",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.3",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__crossbeam-epoch-0.9.15//:crossbeam_epoch",
+        "@cui__crossbeam-utils-0.8.16//:crossbeam_utils",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.crossbeam-epoch-0.9.15.bazel b/crate_universe/3rdparty/crates/BUILD.crossbeam-epoch-0.9.15.bazel
new file mode 100644
index 0000000..545f39a
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.crossbeam-epoch-0.9.15.bazel
@@ -0,0 +1,133 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "crossbeam_epoch",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crossbeam-epoch",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.9.15",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__crossbeam-epoch-0.9.15//:build_script_build",
+        "@cui__crossbeam-utils-0.8.16//:crossbeam_utils",
+        "@cui__memoffset-0.9.0//:memoffset",
+        "@cui__scopeguard-1.2.0//:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "crossbeam-epoch_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crossbeam-epoch",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.15",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cui__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":crossbeam-epoch_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.crossbeam-queue-0.3.8.bazel b/crate_universe/3rdparty/crates/BUILD.crossbeam-queue-0.3.8.bazel
new file mode 100644
index 0000000..ec0b2c3
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.crossbeam-queue-0.3.8.bazel
@@ -0,0 +1,128 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "crossbeam_queue",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crossbeam-queue",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.8",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__crossbeam-queue-0.3.8//:build_script_build",
+        "@cui__crossbeam-utils-0.8.16//:crossbeam_utils",
+    ],
+)
+
+cargo_build_script(
+    name = "crossbeam-queue_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=crossbeam-queue",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.8",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":crossbeam-queue_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.16.bazel b/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.16.bazel
index 7fcfc3d..33640d9 100644
--- a/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.16.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.16.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "crossbeam_utils",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=crossbeam-utils",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -121,6 +122,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "crossbeam-utils_build_script",
+    actual = ":crossbeam-utils_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.6.bazel b/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.6.bazel
index 0ff93cc..9340ff6 100644
--- a/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.6.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "crypto_common",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=crypto-common",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.deranged-0.3.9.bazel b/crate_universe/3rdparty/crates/BUILD.deranged-0.3.9.bazel
new file mode 100644
index 0000000..af32ed3
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.deranged-0.3.9.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "deranged",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "powerfmt",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=deranged",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.9",
+    deps = [
+        "@cui__powerfmt-0.2.0//:powerfmt",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel b/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel
index cc47a0e..bb39c1d 100644
--- a/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # BSD-3-Clause
-# ])
-
 rust_library(
     name = "deunicode",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=deunicode",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.digest-0.10.7.bazel b/crate_universe/3rdparty/crates/BUILD.digest-0.10.7.bazel
index 1e15f90..099e3c7 100644
--- a/crate_universe/3rdparty/crates/BUILD.digest-0.10.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.digest-0.10.7.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "digest",
     srcs = glob(["**/*.rs"]),
@@ -37,7 +33,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=digest",
@@ -53,6 +51,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -76,6 +76,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.dunce-1.0.4.bazel b/crate_universe/3rdparty/crates/BUILD.dunce-1.0.4.bazel
new file mode 100644
index 0000000..43702a4
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.dunce-1.0.4.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "dunce",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=dunce",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.4",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.either-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.either-1.9.0.bazel
index 5b7ec01..01e76b2 100644
--- a/crate_universe/3rdparty/crates/BUILD.either-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.either-1.9.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "either",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=either",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.encoding_rs-0.8.33.bazel b/crate_universe/3rdparty/crates/BUILD.encoding_rs-0.8.33.bazel
new file mode 100644
index 0000000..7e03abd
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.encoding_rs-0.8.33.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "encoding_rs",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=encoding_rs",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.33",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.equivalent-1.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.equivalent-1.0.1.bazel
index a9d0786..134bd93 100644
--- a/crate_universe/3rdparty/crates/BUILD.equivalent-1.0.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.equivalent-1.0.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "equivalent",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=equivalent",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.errno-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.errno-0.3.1.bazel
index d83c0b0..1a63908 100644
--- a/crate_universe/3rdparty/crates/BUILD.errno-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.errno-0.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "errno",
     srcs = glob(["**/*.rs"]),
@@ -28,9 +24,68 @@
             "WORKSPACE.bazel",
         ],
     ),
+    crate_features = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "std",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "std",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "std",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "std",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "std",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "std",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "std",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "std",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "std",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "std",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "std",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "std",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "std",  # wasm32-wasi
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "std",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "std",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "std",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "std",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "std",  # x86_64-unknown-freebsd
+        ],
+        "//conditions:default": [],
+    }),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=errno",
@@ -46,6 +101,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,85 +126,95 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.3.1",
     deps = select({
         "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
             "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-pc-windows-msvc": [
             "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:wasm32-wasi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(target_os = "wasi")
+            "@cui__libc-0.2.149//:libc",  # cfg(target_os = "wasi")
         ],
         "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
             "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "//conditions:default": [],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel b/crate_universe/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel
index e13ef3f..3fde9b0 100644
--- a/crate_universe/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.errno-dragonfly-0.1.2.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "errno_dragonfly",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=errno-dragonfly",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,13 +70,14 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.1.2",
     deps = [
         "@cui__errno-dragonfly-0.1.2//:build_script_build",
-        "@cui__libc-0.2.147//:libc",
+        "@cui__libc-0.2.149//:libc",
     ],
 )
 
@@ -116,6 +117,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "errno-dragonfly_build_script",
+    actual = ":errno-dragonfly_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.faster-hex-0.8.1.bazel b/crate_universe/3rdparty/crates/BUILD.faster-hex-0.8.1.bazel
new file mode 100644
index 0000000..563a045
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.faster-hex-0.8.1.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "faster_hex",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "serde",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=faster-hex",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.1",
+    deps = [
+        "@cui__serde-1.0.190//:serde",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.fastrand-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.fastrand-1.9.0.bazel
deleted file mode 100644
index 310cd51..0000000
--- a/crate_universe/3rdparty/crates/BUILD.fastrand-1.9.0.bazel
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "fastrand",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=fastrand",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.9.0",
-    deps = select({
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
-            "@cui__instant-0.1.12//:instant",  # cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
-        ],
-        "//conditions:default": [],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.fastrand-2.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.fastrand-2.0.1.bazel
new file mode 100644
index 0000000..274c350
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.fastrand-2.0.1.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "fastrand",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=fastrand",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.0.1",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.filetime-0.2.22.bazel b/crate_universe/3rdparty/crates/BUILD.filetime-0.2.22.bazel
new file mode 100644
index 0000000..6226974
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.filetime-0.2.22.bazel
@@ -0,0 +1,163 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "filetime",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=filetime",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.22",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.flate2-1.0.28.bazel b/crate_universe/3rdparty/crates/BUILD.flate2-1.0.28.bazel
new file mode 100644
index 0000000..96fca41
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.flate2-1.0.28.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "flate2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "any_impl",
+        "miniz_oxide",
+        "rust_backend",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=flate2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.28",
+    deps = [
+        "@cui__crc32fast-1.3.2//:crc32fast",
+        "@cui__miniz_oxide-0.7.1//:miniz_oxide",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel b/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel
index fc85e1c..56bfc51 100644
--- a/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 / MIT
-# ])
-
 rust_library(
     name = "fnv",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=fnv",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.2.0.bazel b/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.2.0.bazel
index e0a0aae..d1eb99b 100644
--- a/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.2.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.2.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "form_urlencoded",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=form_urlencoded",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel b/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel
index bb6516e..ee0440a 100644
--- a/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel
@@ -26,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=fuchsia-cprng",
@@ -42,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -65,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.7.bazel b/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.7.bazel
index 1e83115..0075afa 100644
--- a/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.7.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "generic_array",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=generic-array",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -122,6 +123,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "generic-array_build_script",
+    actual = ":generic-array_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.10.bazel b/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.10.bazel
index c21b618..7c7be8d 100644
--- a/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.10.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.10.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "getrandom",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=getrandom",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -80,70 +81,79 @@
         "@cui__cfg-if-1.0.0//:cfg_if",
     ] + select({
         "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:wasm32-wasi": [
             "@cui__wasi-0.11.0-wasi-snapshot-preview1//:wasi",  # cfg(target_os = "wasi")
         ],
         "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "//conditions:default": [],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.git2-0.16.1.bazel b/crate_universe/3rdparty/crates/BUILD.git2-0.16.1.bazel
deleted file mode 100644
index 6ca9a06..0000000
--- a/crate_universe/3rdparty/crates/BUILD.git2-0.16.1.bazel
+++ /dev/null
@@ -1,83 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "git2",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=git2",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.16.1",
-    deps = [
-        "@cui__bitflags-1.3.2//:bitflags",
-        "@cui__libc-0.2.147//:libc",
-        "@cui__libgit2-sys-0.14.2-1.5.1//:libgit2_sys",
-        "@cui__log-0.4.19//:log",
-        "@cui__url-2.4.0//:url",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-0.54.1.bazel b/crate_universe/3rdparty/crates/BUILD.gix-0.54.1.bazel
new file mode 100644
index 0000000..099b62a
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-0.54.1.bazel
@@ -0,0 +1,156 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "attributes",
+        "blocking-network-client",
+        "credentials",
+        "excludes",
+        "gix-protocol",
+        "index",
+        "max-performance-safe",
+        "pack-cache-lru-dynamic",
+        "pack-cache-lru-static",
+        "parallel",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@cui__gix-macros-0.1.0//:gix_macros",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.54.1",
+    deps = [
+        "@cui__gix-actor-0.27.0//:gix_actor",
+        "@cui__gix-attributes-0.19.0//:gix_attributes",
+        "@cui__gix-commitgraph-0.21.0//:gix_commitgraph",
+        "@cui__gix-config-0.30.0//:gix_config",
+        "@cui__gix-credentials-0.20.0//:gix_credentials",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-diff-0.36.0//:gix_diff",
+        "@cui__gix-discover-0.25.0//:gix_discover",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-filter-0.5.0//:gix_filter",
+        "@cui__gix-fs-0.7.0//:gix_fs",
+        "@cui__gix-glob-0.13.0//:gix_glob",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-hashtable-0.4.0//:gix_hashtable",
+        "@cui__gix-ignore-0.8.0//:gix_ignore",
+        "@cui__gix-index-0.25.0//:gix_index",
+        "@cui__gix-lock-10.0.0//:gix_lock",
+        "@cui__gix-negotiate-0.8.0//:gix_negotiate",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-odb-0.53.0//:gix_odb",
+        "@cui__gix-pack-0.43.0//:gix_pack",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-pathspec-0.3.0//:gix_pathspec",
+        "@cui__gix-prompt-0.7.0//:gix_prompt",
+        "@cui__gix-protocol-0.40.0//:gix_protocol",
+        "@cui__gix-ref-0.37.0//:gix_ref",
+        "@cui__gix-refspec-0.18.0//:gix_refspec",
+        "@cui__gix-revision-0.22.0//:gix_revision",
+        "@cui__gix-revwalk-0.8.0//:gix_revwalk",
+        "@cui__gix-sec-0.10.0//:gix_sec",
+        "@cui__gix-submodule-0.4.0//:gix_submodule",
+        "@cui__gix-tempfile-10.0.0//:gix_tempfile",
+        "@cui__gix-trace-0.1.3//:gix_trace",
+        "@cui__gix-traverse-0.33.0//:gix_traverse",
+        "@cui__gix-url-0.24.0//:gix_url",
+        "@cui__gix-utils-0.1.5//:gix_utils",
+        "@cui__gix-validate-0.8.0//:gix_validate",
+        "@cui__gix-worktree-0.26.0//:gix_worktree",
+        "@cui__once_cell-1.18.0//:once_cell",
+        "@cui__parking_lot-0.12.1//:parking_lot",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__unicode-normalization-0.1.22//:unicode_normalization",  # cfg(target_vendor = "apple")
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__unicode-normalization-0.1.22//:unicode_normalization",  # cfg(target_vendor = "apple")
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__unicode-normalization-0.1.22//:unicode_normalization",  # cfg(target_vendor = "apple")
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__unicode-normalization-0.1.22//:unicode_normalization",  # cfg(target_vendor = "apple")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__unicode-normalization-0.1.22//:unicode_normalization",  # cfg(target_vendor = "apple")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__unicode-normalization-0.1.22//:unicode_normalization",  # cfg(target_vendor = "apple")
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-actor-0.27.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-actor-0.27.0.bazel
new file mode 100644
index 0000000..2639142
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-actor-0.27.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_actor",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-actor",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.27.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__btoi-0.4.3//:btoi",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__itoa-1.0.8//:itoa",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__winnow-0.5.18//:winnow",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-attributes-0.19.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-attributes-0.19.0.bazel
new file mode 100644
index 0000000..42556e2
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-attributes-0.19.0.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_attributes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-attributes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.19.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__byteyarn-0.2.3//:byteyarn",
+        "@cui__gix-glob-0.13.0//:gix_glob",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-quote-0.4.7//:gix_quote",
+        "@cui__gix-trace-0.1.3//:gix_trace",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__unicode-bom-2.0.2//:unicode_bom",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-bitmap-0.2.7.bazel b/crate_universe/3rdparty/crates/BUILD.gix-bitmap-0.2.7.bazel
new file mode 100644
index 0000000..86b167b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-bitmap-0.2.7.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_bitmap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-bitmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.7",
+    deps = [
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-chunk-0.4.4.bazel b/crate_universe/3rdparty/crates/BUILD.gix-chunk-0.4.4.bazel
new file mode 100644
index 0000000..43aa199
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-chunk-0.4.4.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_chunk",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-chunk",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.4",
+    deps = [
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-command-0.2.10.bazel b/crate_universe/3rdparty/crates/BUILD.gix-command-0.2.10.bazel
new file mode 100644
index 0000000..bece43d
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-command-0.2.10.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_command",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-command",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.10",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-commitgraph-0.21.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-commitgraph-0.21.0.bazel
new file mode 100644
index 0000000..2137b3b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-commitgraph-0.21.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_commitgraph",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-commitgraph",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.21.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-chunk-0.4.4//:gix_chunk",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__memmap2-0.7.1//:memmap2",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-config-0.30.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-config-0.30.0.bazel
new file mode 100644
index 0000000..3273414
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-config-0.30.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_config",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-config",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.30.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-config-value-0.14.0//:gix_config_value",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-glob-0.13.0//:gix_glob",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-ref-0.37.0//:gix_ref",
+        "@cui__gix-sec-0.10.0//:gix_sec",
+        "@cui__memchr-2.6.4//:memchr",
+        "@cui__once_cell-1.18.0//:once_cell",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__unicode-bom-2.0.2//:unicode_bom",
+        "@cui__winnow-0.5.18//:winnow",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-config-value-0.14.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-config-value-0.14.0.bazel
new file mode 100644
index 0000000..ba3b68d
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-config-value-0.14.0.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_config_value",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-config-value",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.14.0",
+    deps = [
+        "@cui__bitflags-2.4.1//:bitflags",
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-credentials-0.20.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-credentials-0.20.0.bazel
new file mode 100644
index 0000000..8893011
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-credentials-0.20.0.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_credentials",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-credentials",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.20.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-command-0.2.10//:gix_command",
+        "@cui__gix-config-value-0.14.0//:gix_config_value",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-prompt-0.7.0//:gix_prompt",
+        "@cui__gix-sec-0.10.0//:gix_sec",
+        "@cui__gix-url-0.24.0//:gix_url",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-date-0.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-date-0.8.0.bazel
new file mode 100644
index 0000000..b80a638
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-date-0.8.0.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_date",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-date",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__itoa-1.0.8//:itoa",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__time-0.3.30//:time",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-diff-0.36.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-diff-0.36.0.bazel
new file mode 100644
index 0000000..82e5a1e
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-diff-0.36.0.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_diff",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-diff",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.36.0",
+    deps = [
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-discover-0.25.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-discover-0.25.0.bazel
new file mode 100644
index 0000000..6d539ab
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-discover-0.25.0.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_discover",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-discover",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.25.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-ref-0.37.0//:gix_ref",
+        "@cui__gix-sec-0.10.0//:gix_sec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__dunce-1.0.4//:dunce",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__dunce-1.0.4//:dunce",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__dunce-1.0.4//:dunce",  # cfg(windows)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-features-0.35.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-features-0.35.0.bazel
new file mode 100644
index 0000000..4b47668
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-features-0.35.0.bazel
@@ -0,0 +1,177 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_features",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "crc32",
+        "default",
+        "fs-walkdir-parallel",
+        "once_cell",
+        "parallel",
+        "prodash",
+        "progress",
+        "rustsha1",
+        "walkdir",
+        "zlib",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-features",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.35.0",
+    deps = [
+        "@cui__crc32fast-1.3.2//:crc32fast",
+        "@cui__crossbeam-channel-0.5.8//:crossbeam_channel",
+        "@cui__flate2-1.0.28//:flate2",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-trace-0.1.3//:gix_trace",
+        "@cui__jwalk-0.8.1//:jwalk",
+        "@cui__once_cell-1.18.0//:once_cell",
+        "@cui__parking_lot-0.12.1//:parking_lot",
+        "@cui__prodash-26.2.2//:prodash",
+        "@cui__sha1_smol-1.0.0//:sha1_smol",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__walkdir-2.3.3//:walkdir",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-filter-0.5.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-filter-0.5.0.bazel
new file mode 100644
index 0000000..cbad0b6
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-filter-0.5.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_filter",
+    srcs = glob(["**/*.rs"]),
+    aliases = {
+        "@cui__gix-packetline-blocking-0.16.6//:gix_packetline_blocking": "gix_packetline",
+    },
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-filter",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.5.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__encoding_rs-0.8.33//:encoding_rs",
+        "@cui__gix-attributes-0.19.0//:gix_attributes",
+        "@cui__gix-command-0.2.10//:gix_command",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-packetline-blocking-0.16.6//:gix_packetline_blocking",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-quote-0.4.7//:gix_quote",
+        "@cui__gix-trace-0.1.3//:gix_trace",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-fs-0.7.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-fs-0.7.0.bazel
new file mode 100644
index 0000000..5dd4129
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-fs-0.7.0.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_fs",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-fs",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.7.0",
+    deps = [
+        "@cui__gix-features-0.35.0//:gix_features",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-glob-0.13.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-glob-0.13.0.bazel
new file mode 100644
index 0000000..0d41494
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-glob-0.13.0.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_glob",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-glob",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.13.0",
+    deps = [
+        "@cui__bitflags-2.4.1//:bitflags",
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-path-0.10.0//:gix_path",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-hash-0.13.1.bazel b/crate_universe/3rdparty/crates/BUILD.gix-hash-0.13.1.bazel
new file mode 100644
index 0000000..66038fc
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-hash-0.13.1.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_hash",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-hash",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.13.1",
+    deps = [
+        "@cui__faster-hex-0.8.1//:faster_hex",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-hashtable-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-hashtable-0.4.0.bazel
new file mode 100644
index 0000000..5ebc5e6
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-hashtable-0.4.0.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_hashtable",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-hashtable",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.0",
+    deps = [
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__hashbrown-0.14.3//:hashbrown",
+        "@cui__parking_lot-0.12.1//:parking_lot",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-ignore-0.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-ignore-0.8.0.bazel
new file mode 100644
index 0000000..83c24da
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-ignore-0.8.0.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_ignore",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-ignore",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-glob-0.13.0//:gix_glob",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__unicode-bom-2.0.2//:unicode_bom",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-index-0.25.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-index-0.25.0.bazel
new file mode 100644
index 0000000..359d164
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-index-0.25.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_index",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-index",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.25.0",
+    deps = [
+        "@cui__bitflags-2.4.1//:bitflags",
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__btoi-0.4.3//:btoi",
+        "@cui__filetime-0.2.22//:filetime",
+        "@cui__gix-bitmap-0.2.7//:gix_bitmap",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-fs-0.7.0//:gix_fs",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-lock-10.0.0//:gix_lock",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-traverse-0.33.0//:gix_traverse",
+        "@cui__itoa-1.0.8//:itoa",
+        "@cui__memmap2-0.7.1//:memmap2",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-lock-10.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-lock-10.0.0.bazel
new file mode 100644
index 0000000..dfcdbad
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-lock-10.0.0.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_lock",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-lock",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "10.0.0",
+    deps = [
+        "@cui__gix-tempfile-10.0.0//:gix_tempfile",
+        "@cui__gix-utils-0.1.5//:gix_utils",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-macros-0.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-macros-0.1.0.bazel
new file mode 100644
index 0000000..b68111c
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-macros-0.1.0.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "gix_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.0",
+    deps = [
+        "@cui__proc-macro2-1.0.64//:proc_macro2",
+        "@cui__quote-1.0.29//:quote",
+        "@cui__syn-2.0.32//:syn",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-negotiate-0.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-negotiate-0.8.0.bazel
new file mode 100644
index 0000000..4006175
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-negotiate-0.8.0.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_negotiate",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-negotiate",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.0",
+    deps = [
+        "@cui__bitflags-2.4.1//:bitflags",
+        "@cui__gix-commitgraph-0.21.0//:gix_commitgraph",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-revwalk-0.8.0//:gix_revwalk",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-object-0.37.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-object-0.37.0.bazel
new file mode 100644
index 0000000..9ae6dd8
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-object-0.37.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_object",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-object",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.37.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__btoi-0.4.3//:btoi",
+        "@cui__gix-actor-0.27.0//:gix_actor",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-validate-0.8.0//:gix_validate",
+        "@cui__itoa-1.0.8//:itoa",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__winnow-0.5.18//:winnow",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-odb-0.53.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-odb-0.53.0.bazel
new file mode 100644
index 0000000..7f28e62
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-odb-0.53.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_odb",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-odb",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.53.0",
+    deps = [
+        "@cui__arc-swap-1.6.0//:arc_swap",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-pack-0.43.0//:gix_pack",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-quote-0.4.7//:gix_quote",
+        "@cui__parking_lot-0.12.1//:parking_lot",
+        "@cui__tempfile-3.8.1//:tempfile",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-pack-0.43.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-pack-0.43.0.bazel
new file mode 100644
index 0000000..1d66b2a
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-pack-0.43.0.bazel
@@ -0,0 +1,195 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_pack",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "object-cache-dynamic",
+        "pack-cache-lru-dynamic",
+        "pack-cache-lru-static",
+        "streaming-input",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-pack",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.43.0",
+    deps = [
+        "@cui__clru-0.6.1//:clru",
+        "@cui__gix-chunk-0.4.4//:gix_chunk",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-hashtable-0.4.0//:gix_hashtable",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__memmap2-0.7.1//:memmap2",
+        "@cui__parking_lot-0.12.1//:parking_lot",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__uluru-3.0.0//:uluru",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cui__gix-tempfile-10.0.0//:gix_tempfile",  # cfg(not(target_arch = "wasm32"))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-packetline-0.16.7.bazel b/crate_universe/3rdparty/crates/BUILD.gix-packetline-0.16.7.bazel
new file mode 100644
index 0000000..3d03cbf
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-packetline-0.16.7.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_packetline",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "blocking-io",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-packetline",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.16.7",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__faster-hex-0.8.1//:faster_hex",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-packetline-blocking-0.16.6.bazel b/crate_universe/3rdparty/crates/BUILD.gix-packetline-blocking-0.16.6.bazel
new file mode 100644
index 0000000..94d343f
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-packetline-blocking-0.16.6.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_packetline_blocking",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "blocking-io",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-packetline-blocking",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.16.6",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__faster-hex-0.8.1//:faster_hex",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-path-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-path-0.10.0.bazel
new file mode 100644
index 0000000..523ec82
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-path-0.10.0.bazel
@@ -0,0 +1,181 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_path",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-path",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.10.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-trace-0.1.3//:gix_trace",
+        "@cui__once_cell-1.18.0//:once_cell",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cui__home-0.5.5//:home",  # cfg(not(target_family = "wasm"))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-pathspec-0.3.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-pathspec-0.3.0.bazel
new file mode 100644
index 0000000..92bc9c8
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-pathspec-0.3.0.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_pathspec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-pathspec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.0",
+    deps = [
+        "@cui__bitflags-2.4.1//:bitflags",
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-attributes-0.19.0//:gix_attributes",
+        "@cui__gix-config-value-0.14.0//:gix_config_value",
+        "@cui__gix-glob-0.13.0//:gix_glob",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-prompt-0.7.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-prompt-0.7.0.bazel
new file mode 100644
index 0000000..05a3cd3
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-prompt-0.7.0.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_prompt",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-prompt",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.7.0",
+    deps = [
+        "@cui__gix-command-0.2.10//:gix_command",
+        "@cui__gix-config-value-0.14.0//:gix_config_value",
+        "@cui__parking_lot-0.12.1//:parking_lot",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-protocol-0.40.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-protocol-0.40.0.bazel
new file mode 100644
index 0000000..1c176d4
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-protocol-0.40.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_protocol",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "blocking-client",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@cui__maybe-async-0.2.7//:maybe_async",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-protocol",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.40.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__btoi-0.4.3//:btoi",
+        "@cui__gix-credentials-0.20.0//:gix_credentials",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-transport-0.37.0//:gix_transport",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__winnow-0.5.18//:winnow",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-quote-0.4.7.bazel b/crate_universe/3rdparty/crates/BUILD.gix-quote-0.4.7.bazel
new file mode 100644
index 0000000..9967f34
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-quote-0.4.7.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.7",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__btoi-0.4.3//:btoi",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-ref-0.37.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-ref-0.37.0.bazel
new file mode 100644
index 0000000..00aa777
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-ref-0.37.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_ref",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-ref",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.37.0",
+    deps = [
+        "@cui__gix-actor-0.27.0//:gix_actor",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-fs-0.7.0//:gix_fs",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-lock-10.0.0//:gix_lock",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-tempfile-10.0.0//:gix_tempfile",
+        "@cui__gix-validate-0.8.0//:gix_validate",
+        "@cui__memmap2-0.7.1//:memmap2",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__winnow-0.5.18//:winnow",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-refspec-0.18.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-refspec-0.18.0.bazel
new file mode 100644
index 0000000..368f53b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-refspec-0.18.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_refspec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-refspec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.18.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-revision-0.22.0//:gix_revision",
+        "@cui__gix-validate-0.8.0//:gix_validate",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-revision-0.22.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-revision-0.22.0.bazel
new file mode 100644
index 0000000..3b3e2fb
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-revision-0.22.0.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_revision",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-revision",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.22.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-hashtable-0.4.0//:gix_hashtable",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-revwalk-0.8.0//:gix_revwalk",
+        "@cui__gix-trace-0.1.3//:gix_trace",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-revwalk-0.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-revwalk-0.8.0.bazel
new file mode 100644
index 0000000..2e92efb
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-revwalk-0.8.0.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_revwalk",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-revwalk",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.0",
+    deps = [
+        "@cui__gix-commitgraph-0.21.0//:gix_commitgraph",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-hashtable-0.4.0//:gix_hashtable",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-sec-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-sec-0.10.0.bazel
new file mode 100644
index 0000000..d1c01d0
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-sec-0.10.0.bazel
@@ -0,0 +1,187 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_sec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-sec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.10.0",
+    deps = [
+        "@cui__bitflags-2.4.1//:bitflags",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__gix-path-0.10.0//:gix_path",  # cfg(windows)
+            "@cui__windows-0.48.0//:windows",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__gix-path-0.10.0//:gix_path",  # cfg(windows)
+            "@cui__windows-0.48.0//:windows",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__gix-path-0.10.0//:gix_path",  # cfg(windows)
+            "@cui__windows-0.48.0//:windows",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-submodule-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-submodule-0.4.0.bazel
new file mode 100644
index 0000000..eea986a
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-submodule-0.4.0.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_submodule",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-submodule",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-config-0.30.0//:gix_config",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__gix-pathspec-0.3.0//:gix_pathspec",
+        "@cui__gix-refspec-0.18.0//:gix_refspec",
+        "@cui__gix-url-0.24.0//:gix_url",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-tempfile-10.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-tempfile-10.0.0.bazel
new file mode 100644
index 0000000..950c5d2
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-tempfile-10.0.0.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_tempfile",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-tempfile",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "10.0.0",
+    deps = [
+        "@cui__gix-fs-0.7.0//:gix_fs",
+        "@cui__once_cell-1.18.0//:once_cell",
+        "@cui__parking_lot-0.12.1//:parking_lot",
+        "@cui__tempfile-3.8.1//:tempfile",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-trace-0.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.gix-trace-0.1.3.bazel
new file mode 100644
index 0000000..1a3a0b0
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-trace-0.1.3.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_trace",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-trace",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.3",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-transport-0.37.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-transport-0.37.0.bazel
new file mode 100644
index 0000000..1e8ecc2
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-transport-0.37.0.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_transport",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "blocking-client",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-transport",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.37.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-command-0.2.10//:gix_command",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-packetline-0.16.7//:gix_packetline",
+        "@cui__gix-quote-0.4.7//:gix_quote",
+        "@cui__gix-sec-0.10.0//:gix_sec",
+        "@cui__gix-url-0.24.0//:gix_url",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-traverse-0.33.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-traverse-0.33.0.bazel
new file mode 100644
index 0000000..7ee222b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-traverse-0.33.0.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_traverse",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-traverse",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.33.0",
+    deps = [
+        "@cui__gix-commitgraph-0.21.0//:gix_commitgraph",
+        "@cui__gix-date-0.8.0//:gix_date",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-hashtable-0.4.0//:gix_hashtable",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-revwalk-0.8.0//:gix_revwalk",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-url-0.24.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-url-0.24.0.bazel
new file mode 100644
index 0000000..154bd67
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-url-0.24.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_url",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-url",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.24.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-path-0.10.0//:gix_path",
+        "@cui__home-0.5.5//:home",
+        "@cui__thiserror-1.0.50//:thiserror",
+        "@cui__url-2.4.0//:url",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-utils-0.1.5.bazel b/crate_universe/3rdparty/crates/BUILD.gix-utils-0.1.5.bazel
new file mode 100644
index 0000000..c5c928b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-utils-0.1.5.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_utils",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-utils",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.5",
+    deps = [
+        "@cui__fastrand-2.0.1//:fastrand",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-validate-0.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-validate-0.8.0.bazel
new file mode 100644
index 0000000..f0ead3e
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-validate-0.8.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_validate",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-validate",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__thiserror-1.0.50//:thiserror",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.gix-worktree-0.26.0.bazel b/crate_universe/3rdparty/crates/BUILD.gix-worktree-0.26.0.bazel
new file mode 100644
index 0000000..c33c15c
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.gix-worktree-0.26.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "gix_worktree",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "attributes",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=gix-worktree",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.26.0",
+    deps = [
+        "@cui__bstr-1.6.0//:bstr",
+        "@cui__gix-attributes-0.19.0//:gix_attributes",
+        "@cui__gix-features-0.35.0//:gix_features",
+        "@cui__gix-fs-0.7.0//:gix_fs",
+        "@cui__gix-glob-0.13.0//:gix_glob",
+        "@cui__gix-hash-0.13.1//:gix_hash",
+        "@cui__gix-ignore-0.8.0//:gix_ignore",
+        "@cui__gix-index-0.25.0//:gix_index",
+        "@cui__gix-object-0.37.0//:gix_object",
+        "@cui__gix-path-0.10.0//:gix_path",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.globset-0.4.11.bazel b/crate_universe/3rdparty/crates/BUILD.globset-0.4.11.bazel
index 8e33a02..6b550a4 100644
--- a/crate_universe/3rdparty/crates/BUILD.globset-0.4.11.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.globset-0.4.11.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense OR MIT
-# ])
-
 rust_library(
     name = "globset",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=globset",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -82,6 +83,6 @@
         "@cui__bstr-1.6.0//:bstr",
         "@cui__fnv-1.0.7//:fnv",
         "@cui__log-0.4.19//:log",
-        "@cui__regex-1.9.1//:regex",
+        "@cui__regex-1.10.2//:regex",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel b/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel
index cbee972..692347d 100644
--- a/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "globwalk",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=globwalk",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.hashbrown-0.12.3.bazel b/crate_universe/3rdparty/crates/BUILD.hashbrown-0.12.3.bazel
deleted file mode 100644
index 5f5d7ec..0000000
--- a/crate_universe/3rdparty/crates/BUILD.hashbrown-0.12.3.bazel
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "hashbrown",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "ahash",
-        "default",
-        "inline-more",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=hashbrown",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.12.3",
-    deps = [
-        "@cui__ahash-0.7.6//:ahash",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.hashbrown-0.14.0.bazel b/crate_universe/3rdparty/crates/BUILD.hashbrown-0.14.0.bazel
deleted file mode 100644
index 5344480..0000000
--- a/crate_universe/3rdparty/crates/BUILD.hashbrown-0.14.0.bazel
+++ /dev/null
@@ -1,79 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "hashbrown",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "raw",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=hashbrown",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.14.0",
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.hashbrown-0.14.3.bazel b/crate_universe/3rdparty/crates/BUILD.hashbrown-0.14.3.bazel
new file mode 100644
index 0000000..3c2e5d1
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.hashbrown-0.14.3.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "hashbrown",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "inline-more",
+        "raw",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hashbrown",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.14.3",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.heck-0.4.1.bazel b/crate_universe/3rdparty/crates/BUILD.heck-0.4.1.bazel
index 298d16b..8535c02 100644
--- a/crate_universe/3rdparty/crates/BUILD.heck-0.4.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.heck-0.4.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "heck",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=heck",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.3.2.bazel b/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.3.2.bazel
index f1e09f1..cc4c6bc 100644
--- a/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.3.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.3.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "hermit_abi",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=hermit-abi",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel b/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel
index 8317d0e..e53c7f4 100644
--- a/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "hex",
     srcs = glob(["**/*.rs"]),
@@ -36,7 +32,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=hex",
@@ -52,6 +50,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,11 +75,12 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.4.3",
     deps = [
-        "@cui__serde-1.0.171//:serde",
+        "@cui__serde-1.0.190//:serde",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.home-0.5.5.bazel b/crate_universe/3rdparty/crates/BUILD.home-0.5.5.bazel
index 712a587..33f7e75 100644
--- a/crate_universe/3rdparty/crates/BUILD.home-0.5.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.home-0.5.5.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "home",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=home",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.humansize-2.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.humansize-2.1.3.bazel
index 93854b1..e033dcf 100644
--- a/crate_universe/3rdparty/crates/BUILD.humansize-2.1.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.humansize-2.1.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "humansize",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=humansize",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.iana-time-zone-0.1.57.bazel b/crate_universe/3rdparty/crates/BUILD.iana-time-zone-0.1.57.bazel
index acd69aa..90f60a4 100644
--- a/crate_universe/3rdparty/crates/BUILD.iana-time-zone-0.1.57.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.iana-time-zone-0.1.57.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "iana_time_zone",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=iana-time-zone",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel b/crate_universe/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel
index 3d15291..f9a48f3 100644
--- a/crate_universe/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "iana_time_zone_haiku",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=iana-time-zone-haiku",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -115,6 +116,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "iana-time-zone-haiku_build_script",
+    actual = ":iana-time-zone-haiku_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.idna-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.idna-0.4.0.bazel
index 609f9ec..6245442 100644
--- a/crate_universe/3rdparty/crates/BUILD.idna-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.idna-0.4.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "idna",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=idna",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel b/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel
index ed3dfb2..6ac42ef 100644
--- a/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
 rust_library(
     name = "ignore",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=ignore",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -78,8 +79,8 @@
         "@cui__globset-0.4.11//:globset",
         "@cui__lazy_static-1.4.0//:lazy_static",
         "@cui__log-0.4.19//:log",
-        "@cui__memchr-2.5.0//:memchr",
-        "@cui__regex-1.9.1//:regex",
+        "@cui__memchr-2.6.4//:memchr",
+        "@cui__regex-1.10.2//:regex",
         "@cui__same-file-1.0.6//:same_file",
         "@cui__thread_local-1.1.4//:thread_local",
         "@cui__walkdir-2.3.3//:walkdir",
diff --git a/crate_universe/3rdparty/crates/BUILD.indexmap-2.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.indexmap-2.0.0.bazel
deleted file mode 100644
index 55bf3ad..0000000
--- a/crate_universe/3rdparty/crates/BUILD.indexmap-2.0.0.bazel
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "indexmap",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=indexmap",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "2.0.0",
-    deps = [
-        "@cui__equivalent-1.0.1//:equivalent",
-        "@cui__hashbrown-0.14.0//:hashbrown",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.indexmap-2.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.indexmap-2.1.0.bazel
new file mode 100644
index 0000000..b4fd33b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.indexmap-2.1.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "indexmap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.1.0",
+    deps = [
+        "@cui__equivalent-1.0.1//:equivalent",
+        "@cui__hashbrown-0.14.3//:hashbrown",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.indoc-2.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.indoc-2.0.2.bazel
deleted file mode 100644
index 7d5c497..0000000
--- a/crate_universe/3rdparty/crates/BUILD.indoc-2.0.2.bazel
+++ /dev/null
@@ -1,76 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_proc_macro(
-    name = "indoc",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=indoc",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "2.0.2",
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.indoc-2.0.4.bazel b/crate_universe/3rdparty/crates/BUILD.indoc-2.0.4.bazel
new file mode 100644
index 0000000..d9e3546
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.indoc-2.0.4.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "indoc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indoc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.0.4",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.instant-0.1.12.bazel b/crate_universe/3rdparty/crates/BUILD.instant-0.1.12.bazel
deleted file mode 100644
index 1579dd2..0000000
--- a/crate_universe/3rdparty/crates/BUILD.instant-0.1.12.bazel
+++ /dev/null
@@ -1,79 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # BSD-3-Clause
-# ])
-
-rust_library(
-    name = "instant",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=instant",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.1.12",
-    deps = [
-        "@cui__cfg-if-1.0.0//:cfg_if",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel b/crate_universe/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel
index 9948a61..a843830 100644
--- a/crate_universe/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.io-lifetimes-1.0.11.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "io_lifetimes",
     srcs = glob(["**/*.rs"]),
@@ -38,7 +34,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=io-lifetimes",
@@ -54,6 +52,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -77,6 +77,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -85,97 +86,106 @@
         "@cui__io-lifetimes-1.0.11//:build_script_build",
     ] + select({
         "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
             "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:i686-pc-windows-msvc": [
             "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:thumbv7em-none-eabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:wasm32-unknown-unknown": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:wasm32-wasi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
             "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "@rules_rust//rust/platform:x86_64-unknown-none": [
-            "@cui__libc-0.2.147//:libc",  # cfg(not(windows))
+            "@cui__libc-0.2.149//:libc",  # cfg(not(windows))
         ],
         "//conditions:default": [],
     }),
@@ -221,6 +231,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "io-lifetimes_build_script",
+    actual = ":io-lifetimes_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel b/crate_universe/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel
index a9c61b9..503b9f4 100644
--- a/crate_universe/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.is-terminal-0.4.7.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "is_terminal",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=is-terminal",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -97,6 +98,12 @@
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
             "@cui__rustix-0.37.23//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__rustix-0.37.23//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__rustix-0.37.23//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
             "@cui__rustix-0.37.23//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
@@ -163,6 +170,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@cui__rustix-0.37.23//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__rustix-0.37.23//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
+        ],
         "@rules_rust//rust/platform:x86_64-unknown-none": [
             "@cui__rustix-0.37.23//:rustix",  # cfg(not(any(windows, target_os = "hermit", target_os = "unknown")))
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.itertools-0.11.0.bazel b/crate_universe/3rdparty/crates/BUILD.itertools-0.11.0.bazel
deleted file mode 100644
index 8c6742b..0000000
--- a/crate_universe/3rdparty/crates/BUILD.itertools-0.11.0.bazel
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "itertools",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "use_alloc",
-        "use_std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=itertools",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.11.0",
-    deps = [
-        "@cui__either-1.9.0//:either",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.itertools-0.12.0.bazel b/crate_universe/3rdparty/crates/BUILD.itertools-0.12.0.bazel
new file mode 100644
index 0000000..31f76df
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.itertools-0.12.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "itertools",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "use_alloc",
+        "use_std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=itertools",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.12.0",
+    deps = [
+        "@cui__either-1.9.0//:either",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.itoa-1.0.8.bazel b/crate_universe/3rdparty/crates/BUILD.itoa-1.0.8.bazel
index 6198a95..5058656 100644
--- a/crate_universe/3rdparty/crates/BUILD.itoa-1.0.8.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.itoa-1.0.8.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "itoa",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=itoa",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.jobserver-0.1.26.bazel b/crate_universe/3rdparty/crates/BUILD.jobserver-0.1.26.bazel
deleted file mode 100644
index de17f2a..0000000
--- a/crate_universe/3rdparty/crates/BUILD.jobserver-0.1.26.bazel
+++ /dev/null
@@ -1,142 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "jobserver",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=jobserver",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.1.26",
-    deps = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
-        ],
-        "//conditions:default": [],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.js-sys-0.3.64.bazel b/crate_universe/3rdparty/crates/BUILD.js-sys-0.3.64.bazel
index 1137a9d..35d1e77 100644
--- a/crate_universe/3rdparty/crates/BUILD.js-sys-0.3.64.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.js-sys-0.3.64.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "js_sys",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=js-sys",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.jwalk-0.8.1.bazel b/crate_universe/3rdparty/crates/BUILD.jwalk-0.8.1.bazel
new file mode 100644
index 0000000..8c8bd0b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.jwalk-0.8.1.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "jwalk",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=jwalk",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.1",
+    deps = [
+        "@cui__crossbeam-0.8.2//:crossbeam",
+        "@cui__rayon-1.8.0//:rayon",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
index 615a570..a3f03ac 100644
--- a/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "lazy_static",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=lazy_static",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.libc-0.2.147.bazel b/crate_universe/3rdparty/crates/BUILD.libc-0.2.147.bazel
deleted file mode 100644
index 01e26ad..0000000
--- a/crate_universe/3rdparty/crates/BUILD.libc-0.2.147.bazel
+++ /dev/null
@@ -1,291 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:wasm32-wasi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [
-            "extra_traits",
-        ],
-        "//conditions:default": [],
-    }),
-    crate_root = "src/lib.rs",
-    edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=libc",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.2.147",
-    deps = [
-        "@cui__libc-0.2.147//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "libc_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:wasm32-wasi": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "extra_traits",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [
-            "extra_traits",
-        ],
-        "//conditions:default": [],
-    }),
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=libc",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.147",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "libc_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.libc-0.2.149.bazel b/crate_universe/3rdparty/crates/BUILD.libc-0.2.149.bazel
new file mode 100644
index 0000000..33b80f6
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.libc-0.2.149.bazel
@@ -0,0 +1,310 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "extra_traits",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "extra_traits",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "extra_traits",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "extra_traits",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "extra_traits",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "extra_traits",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "extra_traits",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "extra_traits",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "extra_traits",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "extra_traits",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "extra_traits",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "extra_traits",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "extra_traits",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "extra_traits",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "extra_traits",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "extra_traits",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "extra_traits",  # riscv32imc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "extra_traits",  # riscv64gc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "extra_traits",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "extra_traits",  # thumbv7em-none-eabi
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "extra_traits",  # thumbv8m.main-none-eabi
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "extra_traits",  # wasm32-wasi
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "extra_traits",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "extra_traits",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "extra_traits",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "extra_traits",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "extra_traits",  # x86_64-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "extra_traits",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "extra_traits",  # x86_64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "extra_traits",  # x86_64-unknown-none
+        ],
+        "//conditions:default": [],
+    }),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.149",
+    deps = [
+        "@cui__libc-0.2.149//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "extra_traits",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "extra_traits",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "extra_traits",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "extra_traits",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "extra_traits",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "extra_traits",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "extra_traits",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "extra_traits",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "extra_traits",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "extra_traits",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "extra_traits",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "extra_traits",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "extra_traits",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "extra_traits",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "extra_traits",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "extra_traits",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "extra_traits",  # riscv32imc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "extra_traits",  # riscv64gc-unknown-none-elf
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "extra_traits",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "extra_traits",  # thumbv7em-none-eabi
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "extra_traits",  # thumbv8m.main-none-eabi
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "extra_traits",  # wasm32-wasi
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "extra_traits",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "extra_traits",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "extra_traits",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "extra_traits",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "extra_traits",  # x86_64-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "extra_traits",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "extra_traits",  # x86_64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "extra_traits",  # x86_64-unknown-none
+        ],
+        "//conditions:default": [],
+    }),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.149",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":libc_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.14.2+1.5.1.bazel b/crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.14.2+1.5.1.bazel
deleted file mode 100644
index 822828f..0000000
--- a/crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.14.2+1.5.1.bazel
+++ /dev/null
@@ -1,81 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libgit2_sys",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=libgit2-sys",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.14.2+1.5.1",
-    deps = [
-        "@cui__libc-0.2.147//:libc",
-        "@cui__libz-sys-1.1.9//:libz_sys",
-        "@libgit2",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.libm-0.2.7.bazel b/crate_universe/3rdparty/crates/BUILD.libm-0.2.7.bazel
index 2b9e53a..98e716c 100644
--- a/crate_universe/3rdparty/crates/BUILD.libm-0.2.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.libm-0.2.7.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "libm",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=libm",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -118,6 +119,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "libm_build_script",
+    actual = ":libm_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.9.bazel b/crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.9.bazel
deleted file mode 100644
index c8542f2..0000000
--- a/crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.9.bazel
+++ /dev/null
@@ -1,83 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libz_sys",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "libc",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=libz-sys",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.1.9",
-    deps = [
-        "@cui__libc-0.2.147//:libc",
-        "@zlib",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel b/crate_universe/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel
index 87f0ae4..69ab37a 100644
--- a/crate_universe/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.linux-raw-sys-0.3.8.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "linux_raw_sys",
     srcs = glob(["**/*.rs"]),
@@ -34,25 +30,33 @@
         "no_std",
     ] + select({
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "errno",
+            "errno",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "errno",  # aarch64-unknown-nixos-gnu
         ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "errno",
+            "errno",  # arm-unknown-linux-gnueabi
         ],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "errno",
+            "errno",  # armv7-unknown-linux-gnueabi
         ],
         "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "errno",
+            "errno",  # i686-unknown-linux-gnu
         ],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "errno",
+            "errno",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "errno",  # x86_64-unknown-nixos-gnu
         ],
         "//conditions:default": [],
     }),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=linux-raw-sys",
@@ -68,6 +72,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -91,6 +97,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.linux-raw-sys-0.4.10.bazel b/crate_universe/3rdparty/crates/BUILD.linux-raw-sys-0.4.10.bazel
new file mode 100644
index 0000000..fb33284
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.linux-raw-sys-0.4.10.bazel
@@ -0,0 +1,112 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "linux_raw_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "general",
+        "ioctl",
+        "no_std",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "elf",  # aarch64-unknown-linux-gnu
+            "errno",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "elf",  # aarch64-unknown-nixos-gnu
+            "errno",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "elf",  # arm-unknown-linux-gnueabi
+            "errno",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "elf",  # armv7-unknown-linux-gnueabi
+            "errno",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "elf",  # i686-unknown-linux-gnu
+            "errno",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "elf",  # x86_64-unknown-linux-gnu
+            "errno",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "elf",  # x86_64-unknown-nixos-gnu
+            "errno",  # x86_64-unknown-nixos-gnu
+        ],
+        "//conditions:default": [],
+    }),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=linux-raw-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.10",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.lock_api-0.4.11.bazel b/crate_universe/3rdparty/crates/BUILD.lock_api-0.4.11.bazel
new file mode 100644
index 0000000..a94a06c
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.lock_api-0.4.11.bazel
@@ -0,0 +1,130 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.11",
+    deps = [
+        "@cui__lock_api-0.4.11//:build_script_build",
+        "@cui__scopeguard-1.2.0//:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "lock_api_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.11",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cui__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":lock_api_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.log-0.4.19.bazel b/crate_universe/3rdparty/crates/BUILD.log-0.4.19.bazel
index bdc16bf..105d51d 100644
--- a/crate_universe/3rdparty/crates/BUILD.log-0.4.19.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.log-0.4.19.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "log",
     srcs = glob(["**/*.rs"]),
@@ -28,9 +24,14 @@
             "WORKSPACE.bazel",
         ],
     ),
+    crate_features = [
+        "std",
+    ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=log",
@@ -46,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel
index f2d6845..98a7ab8 100644
--- a/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "maplit",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=maplit",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.maybe-async-0.2.7.bazel b/crate_universe/3rdparty/crates/BUILD.maybe-async-0.2.7.bazel
new file mode 100644
index 0000000..9f53535
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.maybe-async-0.2.7.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "maybe_async",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "is_sync",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=maybe-async",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.7",
+    deps = [
+        "@cui__proc-macro2-1.0.64//:proc_macro2",
+        "@cui__quote-1.0.29//:quote",
+        "@cui__syn-1.0.109//:syn",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.memchr-2.5.0.bazel b/crate_universe/3rdparty/crates/BUILD.memchr-2.5.0.bazel
deleted file mode 100644
index 7259702..0000000
--- a/crate_universe/3rdparty/crates/BUILD.memchr-2.5.0.bazel
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
-rust_library(
-    name = "memchr",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=memchr",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "2.5.0",
-    deps = [
-        "@cui__memchr-2.5.0//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "memchr_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=memchr",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.5.0",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "memchr_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.memchr-2.6.4.bazel b/crate_universe/3rdparty/crates/BUILD.memchr-2.6.4.bazel
new file mode 100644
index 0000000..82138ab
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.memchr-2.6.4.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "memchr",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memchr",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.6.4",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.memmap2-0.7.1.bazel b/crate_universe/3rdparty/crates/BUILD.memmap2-0.7.1.bazel
new file mode 100644
index 0000000..1fb45b6
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.memmap2-0.7.1.bazel
@@ -0,0 +1,152 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "memmap2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memmap2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.7.1",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.memoffset-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.memoffset-0.9.0.bazel
new file mode 100644
index 0000000..109a364
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.memoffset-0.9.0.bazel
@@ -0,0 +1,127 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "memoffset",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memoffset",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.9.0",
+    deps = [
+        "@cui__memoffset-0.9.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "memoffset_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memoffset",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.0",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cui__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":memoffset_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.miniz_oxide-0.7.1.bazel b/crate_universe/3rdparty/crates/BUILD.miniz_oxide-0.7.1.bazel
new file mode 100644
index 0000000..45f76c9
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.miniz_oxide-0.7.1.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "miniz_oxide",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "with-alloc",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=miniz_oxide",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.7.1",
+    deps = [
+        "@cui__adler-1.0.2//:adler",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.normpath-1.1.1.bazel b/crate_universe/3rdparty/crates/BUILD.normpath-1.1.1.bazel
index 8162aa0..38acf5e 100644
--- a/crate_universe/3rdparty/crates/BUILD.normpath-1.1.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.normpath-1.1.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "normpath",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=normpath",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.nu-ansi-term-0.46.0.bazel b/crate_universe/3rdparty/crates/BUILD.nu-ansi-term-0.46.0.bazel
new file mode 100644
index 0000000..f5080b3
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.nu-ansi-term-0.46.0.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "nu_ansi_term",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=nu-ansi-term",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.46.0",
+    deps = [
+        "@cui__overload-0.1.1//:overload",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel b/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel
index 705691d..09a4501 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "num",
     srcs = glob(["**/*.rs"]),
@@ -40,7 +36,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=num",
@@ -56,6 +54,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -79,6 +79,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel b/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel
index ae8bbc7..ba9c3ae 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "num_bigint",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=num-bigint",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -82,6 +83,6 @@
         "@cui__num-integer-0.1.45//:num_integer",
         "@cui__num-traits-0.2.15//:num_traits",
         "@cui__rand-0.4.6//:rand",
-        "@cui__rustc-serialize-0.3.24//:rustc_serialize",
+        "@cui__rustc-serialize-0.3.25//:rustc_serialize",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel b/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel
index e875b4d..f933ce7 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "num_complex",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=num-complex",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,12 +73,13 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.1.43",
     deps = [
         "@cui__num-traits-0.2.15//:num_traits",
-        "@cui__rustc-serialize-0.3.24//:rustc_serialize",
+        "@cui__rustc-serialize-0.3.25//:rustc_serialize",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.45.bazel b/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
index e3090cd..b5e4d11 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "num_integer",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=num-integer",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -124,6 +125,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "num-integer_build_script",
+    actual = ":num-integer_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.43.bazel b/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.43.bazel
index 4c586e3..ce0a415 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.43.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.43.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "num_iter",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=num-iter",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -125,6 +126,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "num-iter_build_script",
+    actual = ":num-iter_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel b/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel
index 8759cea..0867744 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "num_rational",
     srcs = glob(["**/*.rs"]),
@@ -36,7 +32,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=num-rational",
@@ -52,6 +50,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,6 +75,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -83,6 +84,6 @@
         "@cui__num-bigint-0.1.44//:num_bigint",
         "@cui__num-integer-0.1.45//:num_integer",
         "@cui__num-traits-0.2.15//:num_traits",
-        "@cui__rustc-serialize-0.3.24//:rustc_serialize",
+        "@cui__rustc-serialize-0.3.25//:rustc_serialize",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.15.bazel b/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
index 73ee8b9..dae9925 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "num_traits",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=num-traits",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -123,6 +124,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "num-traits_build_script",
+    actual = ":num-traits_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num_threads-0.1.6.bazel b/crate_universe/3rdparty/crates/BUILD.num_threads-0.1.6.bazel
new file mode 100644
index 0000000..332acec
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.num_threads-0.1.6.bazel
@@ -0,0 +1,104 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "num_threads",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=num_threads",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.6",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.18.0.bazel b/crate_universe/3rdparty/crates/BUILD.once_cell-1.18.0.bazel
index 5d945be..2fd7a1a 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.18.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.once_cell-1.18.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "once_cell",
     srcs = glob(["**/*.rs"]),
@@ -36,7 +32,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=once_cell",
@@ -52,6 +50,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,6 +75,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.overload-0.1.1.bazel b/crate_universe/3rdparty/crates/BUILD.overload-0.1.1.bazel
new file mode 100644
index 0000000..f6002cb
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.overload-0.1.1.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "overload",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=overload",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.1",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.parking_lot-0.12.1.bazel b/crate_universe/3rdparty/crates/BUILD.parking_lot-0.12.1.bazel
new file mode 100644
index 0000000..967502b
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.parking_lot-0.12.1.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "parking_lot",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.12.1",
+    deps = [
+        "@cui__lock_api-0.4.11//:lock_api",
+        "@cui__parking_lot_core-0.9.9//:parking_lot_core",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.parking_lot_core-0.9.9.bazel b/crate_universe/3rdparty/crates/BUILD.parking_lot_core-0.9.9.bazel
new file mode 100644
index 0000000..9a472e4
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.parking_lot_core-0.9.9.bazel
@@ -0,0 +1,203 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.9.9",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__parking_lot_core-0.9.9//:build_script_build",
+        "@cui__smallvec-1.11.0//:smallvec",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__windows-targets-0.48.1//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__windows-targets-0.48.1//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__windows-targets-0.48.1//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "parking_lot_core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.9",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":parking_lot_core_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel b/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel
index 2b4d62a..9c29f0d 100644
--- a/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "parse_zoneinfo",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=parse-zoneinfo",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,11 +69,12 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.3.0",
     deps = [
-        "@cui__regex-1.9.1//:regex",
+        "@cui__regex-1.10.2//:regex",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel
index 6f0a9fe..51b424f 100644
--- a/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "pathdiff",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=pathdiff",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.3.0.bazel b/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.3.0.bazel
index 390b42e..e03814d 100644
--- a/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.3.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.3.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "percent_encoding",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=percent-encoding",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.pest-2.7.0.bazel b/crate_universe/3rdparty/crates/BUILD.pest-2.7.0.bazel
index 0d75a51..78605cf 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest-2.7.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest-2.7.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "pest",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=pest",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,12 +73,13 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "2.7.0",
     deps = [
-        "@cui__thiserror-1.0.43//:thiserror",
+        "@cui__thiserror-1.0.50//:thiserror",
         "@cui__ucd-trie-0.1.6//:ucd_trie",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pest_derive-2.7.0.bazel b/crate_universe/3rdparty/crates/BUILD.pest_derive-2.7.0.bazel
index 3a42b1b..e9ba129 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest_derive-2.7.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest_derive-2.7.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_proc_macro(
     name = "pest_derive",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=pest_derive",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.pest_generator-2.7.0.bazel b/crate_universe/3rdparty/crates/BUILD.pest_generator-2.7.0.bazel
index 7efe122..2b9b39c 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest_generator-2.7.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest_generator-2.7.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "pest_generator",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=pest_generator",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -81,6 +82,6 @@
         "@cui__pest_meta-2.7.0//:pest_meta",
         "@cui__proc-macro2-1.0.64//:proc_macro2",
         "@cui__quote-1.0.29//:quote",
-        "@cui__syn-2.0.25//:syn",
+        "@cui__syn-2.0.32//:syn",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pest_meta-2.7.0.bazel b/crate_universe/3rdparty/crates/BUILD.pest_meta-2.7.0.bazel
index 0e687e3..add9224 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest_meta-2.7.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest_meta-2.7.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "pest_meta",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=pest_meta",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.phf-0.10.1.bazel b/crate_universe/3rdparty/crates/BUILD.phf-0.10.1.bazel
deleted file mode 100644
index 362a1c8..0000000
--- a/crate_universe/3rdparty/crates/BUILD.phf-0.10.1.bazel
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "phf",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "uncased",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=phf",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.10.1",
-    deps = [
-        "@cui__phf_shared-0.10.0//:phf_shared",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.phf-0.11.2.bazel b/crate_universe/3rdparty/crates/BUILD.phf-0.11.2.bazel
new file mode 100644
index 0000000..8ace25f
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.phf-0.11.2.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "phf",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=phf",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.11.2",
+    deps = [
+        "@cui__phf_shared-0.11.2//:phf_shared",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.10.0.bazel
deleted file mode 100644
index 598375b..0000000
--- a/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.10.0.bazel
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "phf_codegen",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=phf_codegen",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.10.0",
-    deps = [
-        "@cui__phf_generator-0.10.0//:phf_generator",
-        "@cui__phf_shared-0.10.0//:phf_shared",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.11.2.bazel b/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.11.2.bazel
new file mode 100644
index 0000000..3699a14
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.11.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "phf_codegen",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=phf_codegen",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.11.2",
+    deps = [
+        "@cui__phf_generator-0.11.2//:phf_generator",
+        "@cui__phf_shared-0.11.2//:phf_shared",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_generator-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.phf_generator-0.10.0.bazel
deleted file mode 100644
index 97b3673..0000000
--- a/crate_universe/3rdparty/crates/BUILD.phf_generator-0.10.0.bazel
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "phf_generator",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=phf_generator",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.10.0",
-    deps = [
-        "@cui__phf_shared-0.10.0//:phf_shared",
-        "@cui__rand-0.8.5//:rand",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_generator-0.11.2.bazel b/crate_universe/3rdparty/crates/BUILD.phf_generator-0.11.2.bazel
new file mode 100644
index 0000000..bfa77a0
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.phf_generator-0.11.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "phf_generator",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=phf_generator",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.11.2",
+    deps = [
+        "@cui__phf_shared-0.11.2//:phf_shared",
+        "@cui__rand-0.8.5//:rand",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_shared-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.phf_shared-0.10.0.bazel
deleted file mode 100644
index 6850c67..0000000
--- a/crate_universe/3rdparty/crates/BUILD.phf_shared-0.10.0.bazel
+++ /dev/null
@@ -1,85 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "phf_shared",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-        "uncased",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=phf_shared",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.10.0",
-    deps = [
-        "@cui__siphasher-0.3.10//:siphasher",
-        "@cui__uncased-0.9.9//:uncased",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_shared-0.11.2.bazel b/crate_universe/3rdparty/crates/BUILD.phf_shared-0.11.2.bazel
new file mode 100644
index 0000000..a14f7d2
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.phf_shared-0.11.2.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "phf_shared",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=phf_shared",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.11.2",
+    deps = [
+        "@cui__siphasher-0.3.10//:siphasher",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.pin-project-lite-0.2.13.bazel b/crate_universe/3rdparty/crates/BUILD.pin-project-lite-0.2.13.bazel
new file mode 100644
index 0000000..12b1949
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.pin-project-lite-0.2.13.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "pin_project_lite",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project-lite",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.13",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.27.bazel b/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.27.bazel
deleted file mode 100644
index 390d560..0000000
--- a/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.27.bazel
+++ /dev/null
@@ -1,76 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "pkg_config",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=pkg-config",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.3.27",
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.powerfmt-0.2.0.bazel b/crate_universe/3rdparty/crates/BUILD.powerfmt-0.2.0.bazel
new file mode 100644
index 0000000..e850b28
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.powerfmt-0.2.0.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "powerfmt",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=powerfmt",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.0",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.17.bazel b/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.17.bazel
index 446d30a..dcc0898 100644
--- a/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.17.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.17.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "ppv_lite86",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=ppv-lite86",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.64.bazel b/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.64.bazel
index 67c4a67..c8019ca 100644
--- a/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.64.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.64.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "proc_macro2",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=proc-macro2",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -121,6 +122,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "proc-macro2_build_script",
+    actual = ":proc-macro2_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.prodash-26.2.2.bazel b/crate_universe/3rdparty/crates/BUILD.prodash-26.2.2.bazel
new file mode 100644
index 0000000..d676b61
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.prodash-26.2.2.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "prodash",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=prodash",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "26.2.2",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.quote-1.0.29.bazel b/crate_universe/3rdparty/crates/BUILD.quote-1.0.29.bazel
index adc33b9..86d1e16 100644
--- a/crate_universe/3rdparty/crates/BUILD.quote-1.0.29.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.quote-1.0.29.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "quote",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=quote",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -121,6 +122,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "quote_build_script",
+    actual = ":quote_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel b/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel
index 3cd63d5..deb3a50 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "rand",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rand",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,84 +74,94 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.4.6",
     deps = select({
         "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-fuchsia": [
             "@cui__fuchsia-cprng-0.1.1//:fuchsia_cprng",  # cfg(target_os = "fuchsia")
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
             "@cui__winapi-0.3.9//:winapi",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-pc-windows-msvc": [
             "@cui__winapi-0.3.9//:winapi",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-fuchsia": [
             "@cui__fuchsia-cprng-0.1.1//:fuchsia_cprng",  # cfg(target_os = "fuchsia")
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
             "@cui__winapi-0.3.9//:winapi",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "//conditions:default": [],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel b/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel
index 95f75da..ec10796 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "rand",
     srcs = glob(["**/*.rs"]),
@@ -40,7 +36,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rand",
@@ -56,6 +54,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -79,6 +79,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -88,67 +89,76 @@
         "@cui__rand_core-0.6.4//:rand_core",
     ] + select({
         "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(unix)
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(unix)
         ],
         "//conditions:default": [],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
index d1eeb65..a88b9ec 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "rand_chacha",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rand_chacha",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel
index 9f5122b..325a890 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "rand_core",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rand_core",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel b/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel
index 1baf177..5292c75 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "rand_core",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rand_core",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.4.bazel b/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.4.bazel
index a0d9d7f..4959b59 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "rand_core",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rand_core",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.rayon-1.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.rayon-1.8.0.bazel
new file mode 100644
index 0000000..097db34
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.rayon-1.8.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "rayon",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rayon",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.8.0",
+    deps = [
+        "@cui__either-1.9.0//:either",
+        "@cui__rayon-core-1.12.0//:rayon_core",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.rayon-core-1.12.0.bazel b/crate_universe/3rdparty/crates/BUILD.rayon-core-1.12.0.bazel
new file mode 100644
index 0000000..8e21506
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.rayon-core-1.12.0.bazel
@@ -0,0 +1,121 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "rayon_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rayon-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.12.0",
+    deps = [
+        "@cui__crossbeam-deque-0.8.3//:crossbeam_deque",
+        "@cui__crossbeam-utils-0.8.16//:crossbeam_utils",
+        "@cui__rayon-core-1.12.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "rayon-core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    links = "rayon-core",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rayon-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.12.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":rayon-core_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel
index b7b76a5..c0ae659 100644
--- a/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # ISC
-# ])
-
 rust_library(
     name = "rdrand",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rdrand",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.3.5.bazel b/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.3.5.bazel
index 582bec2..06ad12a 100644
--- a/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.3.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.3.5.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "syscall",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=redox_syscall",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.4.1.bazel b/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.4.1.bazel
new file mode 100644
index 0000000..c520a1d
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.4.1.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.1",
+    deps = [
+        "@cui__bitflags-1.3.2//:bitflags",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-1.10.2.bazel b/crate_universe/3rdparty/crates/BUILD.regex-1.10.2.bazel
new file mode 100644
index 0000000..f11c355
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.regex-1.10.2.bazel
@@ -0,0 +1,102 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "regex",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "perf",
+        "perf-backtrack",
+        "perf-cache",
+        "perf-dfa",
+        "perf-inline",
+        "perf-literal",
+        "perf-onepass",
+        "std",
+        "unicode",
+        "unicode-age",
+        "unicode-bool",
+        "unicode-case",
+        "unicode-gencat",
+        "unicode-perl",
+        "unicode-script",
+        "unicode-segment",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=regex",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.10.2",
+    deps = [
+        "@cui__aho-corasick-1.0.2//:aho_corasick",
+        "@cui__memchr-2.6.4//:memchr",
+        "@cui__regex-automata-0.4.3//:regex_automata",
+        "@cui__regex-syntax-0.8.2//:regex_syntax",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-1.9.1.bazel b/crate_universe/3rdparty/crates/BUILD.regex-1.9.1.bazel
deleted file mode 100644
index 9a211fb..0000000
--- a/crate_universe/3rdparty/crates/BUILD.regex-1.9.1.bazel
+++ /dev/null
@@ -1,101 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "regex",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "perf",
-        "perf-backtrack",
-        "perf-cache",
-        "perf-dfa",
-        "perf-inline",
-        "perf-literal",
-        "perf-onepass",
-        "std",
-        "unicode",
-        "unicode-age",
-        "unicode-bool",
-        "unicode-case",
-        "unicode-gencat",
-        "unicode-perl",
-        "unicode-script",
-        "unicode-segment",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=regex",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.9.1",
-    deps = [
-        "@cui__aho-corasick-1.0.2//:aho_corasick",
-        "@cui__memchr-2.5.0//:memchr",
-        "@cui__regex-automata-0.3.3//:regex_automata",
-        "@cui__regex-syntax-0.7.4//:regex_syntax",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-automata-0.3.3.bazel b/crate_universe/3rdparty/crates/BUILD.regex-automata-0.3.3.bazel
index f7fc21f..75e8412 100644
--- a/crate_universe/3rdparty/crates/BUILD.regex-automata-0.3.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.regex-automata-0.3.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "regex_automata",
     srcs = glob(["**/*.rs"]),
@@ -29,32 +25,13 @@
         ],
     ),
     crate_features = [
-        "alloc",
-        "dfa-onepass",
-        "hybrid",
-        "meta",
-        "nfa-backtrack",
-        "nfa-pikevm",
-        "nfa-thompson",
-        "perf-inline",
-        "perf-literal",
-        "perf-literal-multisubstring",
-        "perf-literal-substring",
-        "std",
-        "syntax",
-        "unicode",
-        "unicode-age",
-        "unicode-bool",
-        "unicode-case",
-        "unicode-gencat",
-        "unicode-perl",
-        "unicode-script",
-        "unicode-segment",
-        "unicode-word-boundary",
+        "dfa-search",
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=regex-automata",
@@ -70,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -93,13 +72,9 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.3.3",
-    deps = [
-        "@cui__aho-corasick-1.0.2//:aho_corasick",
-        "@cui__memchr-2.5.0//:memchr",
-        "@cui__regex-syntax-0.7.4//:regex_syntax",
-    ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-automata-0.4.3.bazel b/crate_universe/3rdparty/crates/BUILD.regex-automata-0.4.3.bazel
new file mode 100644
index 0000000..8374dda
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.regex-automata-0.4.3.bazel
@@ -0,0 +1,106 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "regex_automata",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "dfa-onepass",
+        "hybrid",
+        "meta",
+        "nfa-backtrack",
+        "nfa-pikevm",
+        "nfa-thompson",
+        "perf-inline",
+        "perf-literal",
+        "perf-literal-multisubstring",
+        "perf-literal-substring",
+        "std",
+        "syntax",
+        "unicode",
+        "unicode-age",
+        "unicode-bool",
+        "unicode-case",
+        "unicode-gencat",
+        "unicode-perl",
+        "unicode-script",
+        "unicode-segment",
+        "unicode-word-boundary",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=regex-automata",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.3",
+    deps = [
+        "@cui__aho-corasick-1.0.2//:aho_corasick",
+        "@cui__memchr-2.6.4//:memchr",
+        "@cui__regex-syntax-0.8.2//:regex_syntax",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.7.4.bazel b/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.7.4.bazel
deleted file mode 100644
index 0cab2bc..0000000
--- a/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.7.4.bazel
+++ /dev/null
@@ -1,88 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "regex_syntax",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-        "unicode",
-        "unicode-age",
-        "unicode-bool",
-        "unicode-case",
-        "unicode-gencat",
-        "unicode-perl",
-        "unicode-script",
-        "unicode-segment",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=regex-syntax",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.7.4",
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.8.2.bazel b/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.8.2.bazel
new file mode 100644
index 0000000..f2506ae
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.8.2.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "regex_syntax",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+        "unicode",
+        "unicode-age",
+        "unicode-bool",
+        "unicode-case",
+        "unicode-gencat",
+        "unicode-perl",
+        "unicode-script",
+        "unicode-segment",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=regex-syntax",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.2",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
index 62b5e76..5482050 100644
--- a/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
 rust_library(
     name = "rustc_hash",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rustc-hash",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.24.bazel b/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.24.bazel
deleted file mode 100644
index e001f05..0000000
--- a/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.24.bazel
+++ /dev/null
@@ -1,76 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "rustc_serialize",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=rustc-serialize",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.3.24",
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.25.bazel b/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.25.bazel
new file mode 100644
index 0000000..dde3975
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.25.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "rustc_serialize",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustc-serialize",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.25",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.rustix-0.37.23.bazel b/crate_universe/3rdparty/crates/BUILD.rustix-0.37.23.bazel
index 5da88aa..046f85f 100644
--- a/crate_universe/3rdparty/crates/BUILD.rustix-0.37.23.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rustix-0.37.23.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "rustix",
     srcs = glob(["**/*.rs"]),
@@ -37,6 +33,9 @@
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": {
             "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
         },
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
         "@rules_rust//rust/platform:armv7-linux-androideabi": {
             "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         },
@@ -117,78 +116,12 @@
         "std",
         "termios",
         "use-libc-auxv",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:wasm32-wasi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "fs",
-        ],
-        "//conditions:default": [],
-    }),
+    ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=rustix",
@@ -204,6 +137,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -227,6 +162,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -238,23 +174,23 @@
     ] + select({
         "@rules_rust//rust/platform:aarch64-apple-darwin": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:aarch64-fuchsia": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:aarch64-linux-android": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
@@ -262,29 +198,37 @@
             "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
         ],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
         ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
         ],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
         ],
         "@rules_rust//rust/platform:i686-apple-darwin": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:i686-linux-android": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:i686-pc-windows-msvc": [
@@ -293,61 +237,61 @@
         ],
         "@rules_rust//rust/platform:i686-unknown-freebsd": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
         ],
         "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:thumbv7em-none-eabi": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:wasm32-unknown-unknown": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:wasm32-wasi": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:x86_64-apple-darwin": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:x86_64-apple-ios": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:x86_64-fuchsia": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:x86_64-linux-android": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
@@ -356,15 +300,19 @@
         ],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
             "@cui__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
         ],
         "@rules_rust//rust/platform:x86_64-unknown-none": [
             "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
-            "@cui__libc-0.2.147//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
         ],
         "//conditions:default": [],
     }),
@@ -380,75 +328,7 @@
         "std",
         "termios",
         "use-libc-auxv",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:wasm32-wasi": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "fs",
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "fs",
-        ],
-        "//conditions:default": [],
-    }),
+    ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
     data = glob(
@@ -479,6 +359,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "rustix_build_script",
+    actual = ":rustix_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.rustix-0.38.21.bazel b/crate_universe/3rdparty/crates/BUILD.rustix-0.38.21.bazel
new file mode 100644
index 0000000..969dba0
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.rustix-0.38.21.bazel
@@ -0,0 +1,502 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "rustix",
+    srcs = glob(["**/*.rs"]),
+    aliases = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-fuchsia": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-linux-android": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:armv7-linux-androideabi": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:i686-apple-darwin": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:i686-linux-android": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:i686-unknown-freebsd": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:wasm32-wasi": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-darwin": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-ios": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-fuchsia": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-linux-android": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-unknown-none": {
+            "@cui__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        },
+        "//conditions:default": {},
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "fs",
+        "std",
+        "use-libc-auxv",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "termios",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "termios",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "termios",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "termios",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "termios",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "termios",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "termios",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "termios",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "termios",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "termios",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "termios",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "termios",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "termios",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "termios",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "termios",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "termios",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "termios",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "termios",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "termios",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "termios",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "termios",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "termios",  # x86_64-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "termios",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "termios",  # x86_64-unknown-nixos-gnu
+        ],
+        "//conditions:default": [],
+    }),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.38.21",
+    deps = [
+        "@cui__bitflags-2.4.1//:bitflags",
+        "@cui__rustix-0.38.21//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__errno-0.3.1//:errno",  # cfg(windows)
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"))))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"))))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"))))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"))))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__errno-0.3.1//:errno",  # cfg(windows)
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"))))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__errno-0.3.1//:errno",  # cfg(windows)
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__linux-raw-sys-0.4.10//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cui__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+            "@cui__libc-0.2.149//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "riscv64", all(rustix_use_experimental_asm, target_arch = "powerpc64"), all(rustix_use_experimental_asm, target_arch = "mips"), all(rustix_use_experimental_asm, target_arch = "mips32r6"), all(rustix_use_experimental_asm, target_arch = "mips64"), all(rustix_use_experimental_asm, target_arch = "mips64r6"), target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64")))))))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "rustix_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "fs",
+        "std",
+        "use-libc-auxv",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "termios",  # aarch64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "termios",  # aarch64-apple-ios
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "termios",  # aarch64-apple-ios-sim
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "termios",  # aarch64-fuchsia
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "termios",  # aarch64-linux-android
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "termios",  # aarch64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "termios",  # aarch64-unknown-nixos-gnu
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "termios",  # aarch64-unknown-nto-qnx710
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "termios",  # arm-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "termios",  # armv7-linux-androideabi
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "termios",  # armv7-unknown-linux-gnueabi
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "termios",  # i686-apple-darwin
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "termios",  # i686-linux-android
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "termios",  # i686-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "termios",  # i686-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "termios",  # powerpc-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "termios",  # s390x-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "termios",  # x86_64-apple-darwin
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "termios",  # x86_64-apple-ios
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "termios",  # x86_64-fuchsia
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "termios",  # x86_64-linux-android
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "termios",  # x86_64-unknown-freebsd
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "termios",  # x86_64-unknown-linux-gnu
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "termios",  # x86_64-unknown-nixos-gnu
+        ],
+        "//conditions:default": [],
+    }),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.38.21",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":rustix_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.ryu-1.0.14.bazel b/crate_universe/3rdparty/crates/BUILD.ryu-1.0.14.bazel
index 5de3a91..f3822df 100644
--- a/crate_universe/3rdparty/crates/BUILD.ryu-1.0.14.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ryu-1.0.14.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 OR BSL-1.0
-# ])
-
 rust_library(
     name = "ryu",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=ryu",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel b/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel
index 927f251..2c78ad2 100644
--- a/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
 rust_library(
     name = "same_file",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=same-file",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.scopeguard-1.2.0.bazel b/crate_universe/3rdparty/crates/BUILD.scopeguard-1.2.0.bazel
new file mode 100644
index 0000000..d93a70e
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.scopeguard-1.2.0.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "scopeguard",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=scopeguard",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.2.0",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.semver-1.0.17.bazel b/crate_universe/3rdparty/crates/BUILD.semver-1.0.17.bazel
deleted file mode 100644
index c328158..0000000
--- a/crate_universe/3rdparty/crates/BUILD.semver-1.0.17.bazel
+++ /dev/null
@@ -1,128 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "semver",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "serde",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=semver",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.0.17",
-    deps = [
-        "@cui__semver-1.0.17//:build_script_build",
-        "@cui__serde-1.0.171//:serde",
-    ],
-)
-
-cargo_build_script(
-    name = "semver_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "serde",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=semver",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.17",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "semver_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.semver-1.0.20.bazel b/crate_universe/3rdparty/crates/BUILD.semver-1.0.20.bazel
new file mode 100644
index 0000000..28717f9
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.semver-1.0.20.bazel
@@ -0,0 +1,129 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "semver",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "serde",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=semver",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.20",
+    deps = [
+        "@cui__semver-1.0.20//:build_script_build",
+        "@cui__serde-1.0.190//:serde",
+    ],
+)
+
+cargo_build_script(
+    name = "semver_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "serde",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=semver",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.20",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":semver_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde-1.0.171.bazel b/crate_universe/3rdparty/crates/BUILD.serde-1.0.171.bazel
deleted file mode 100644
index 2a13a9f..0000000
--- a/crate_universe/3rdparty/crates/BUILD.serde-1.0.171.bazel
+++ /dev/null
@@ -1,134 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "derive",
-        "rc",
-        "serde_derive",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2015",
-    proc_macro_deps = [
-        "@cui__serde_derive-1.0.171//:serde_derive",
-    ],
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=serde",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.0.171",
-    deps = [
-        "@cui__serde-1.0.171//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "serde_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "derive",
-        "rc",
-        "serde_derive",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=serde",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.171",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "serde_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde-1.0.190.bazel b/crate_universe/3rdparty/crates/BUILD.serde-1.0.190.bazel
new file mode 100644
index 0000000..5da7918
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.serde-1.0.190.bazel
@@ -0,0 +1,135 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "serde",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "derive",
+        "rc",
+        "serde_derive",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@cui__serde_derive-1.0.190//:serde_derive",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.190",
+    deps = [
+        "@cui__serde-1.0.190//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "derive",
+        "rc",
+        "serde_derive",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.190",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":serde_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.171.bazel b/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.171.bazel
deleted file mode 100644
index f6673ef..0000000
--- a/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.171.bazel
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_proc_macro(
-    name = "serde_derive",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=serde_derive",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.0.171",
-    deps = [
-        "@cui__proc-macro2-1.0.64//:proc_macro2",
-        "@cui__quote-1.0.29//:quote",
-        "@cui__syn-2.0.25//:syn",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.190.bazel b/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.190.bazel
new file mode 100644
index 0000000..5b2ef09
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.190.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "serde_derive",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_derive",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.190",
+    deps = [
+        "@cui__proc-macro2-1.0.64//:proc_macro2",
+        "@cui__quote-1.0.29//:quote",
+        "@cui__syn-2.0.32//:syn",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.102.bazel b/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.102.bazel
deleted file mode 100644
index 1e3922c..0000000
--- a/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.102.bazel
+++ /dev/null
@@ -1,130 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde_json",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-        "unbounded_depth",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=serde_json",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.0.102",
-    deps = [
-        "@cui__itoa-1.0.8//:itoa",
-        "@cui__ryu-1.0.14//:ryu",
-        "@cui__serde-1.0.171//:serde",
-        "@cui__serde_json-1.0.102//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "serde_json_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-        "unbounded_depth",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2021",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=serde_json",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.102",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "serde_json_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.108.bazel b/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.108.bazel
new file mode 100644
index 0000000..fa2d9ea
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.108.bazel
@@ -0,0 +1,131 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "serde_json",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+        "unbounded_depth",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.108",
+    deps = [
+        "@cui__itoa-1.0.8//:itoa",
+        "@cui__ryu-1.0.14//:ryu",
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_json-1.0.108//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_json_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+        "unbounded_depth",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.108",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":serde_json_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_spanned-0.6.3.bazel b/crate_universe/3rdparty/crates/BUILD.serde_spanned-0.6.3.bazel
deleted file mode 100644
index abeb041..0000000
--- a/crate_universe/3rdparty/crates/BUILD.serde_spanned-0.6.3.bazel
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde_spanned",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "serde",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=serde_spanned",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.6.3",
-    deps = [
-        "@cui__serde-1.0.171//:serde",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_spanned-0.6.5.bazel b/crate_universe/3rdparty/crates/BUILD.serde_spanned-0.6.5.bazel
new file mode 100644
index 0000000..6d8c750
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.serde_spanned-0.6.5.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "serde_spanned",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "serde",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_spanned",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.6.5",
+    deps = [
+        "@cui__serde-1.0.190//:serde",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_starlark-0.1.13.bazel b/crate_universe/3rdparty/crates/BUILD.serde_starlark-0.1.13.bazel
deleted file mode 100644
index 7f6d00c..0000000
--- a/crate_universe/3rdparty/crates/BUILD.serde_starlark-0.1.13.bazel
+++ /dev/null
@@ -1,79 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde_starlark",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=serde_starlark",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.1.13",
-    deps = [
-        "@cui__serde-1.0.171//:serde",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_starlark-0.1.14.bazel b/crate_universe/3rdparty/crates/BUILD.serde_starlark-0.1.14.bazel
new file mode 100644
index 0000000..416bdba
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.serde_starlark-0.1.14.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "serde_starlark",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_starlark",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.14",
+    deps = [
+        "@cui__serde-1.0.190//:serde",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.sha1_smol-1.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.sha1_smol-1.0.0.bazel
new file mode 100644
index 0000000..da93269
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.sha1_smol-1.0.0.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "sha1_smol",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=sha1_smol",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.0",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.sha2-0.10.7.bazel b/crate_universe/3rdparty/crates/BUILD.sha2-0.10.7.bazel
deleted file mode 100644
index 3d8af61..0000000
--- a/crate_universe/3rdparty/crates/BUILD.sha2-0.10.7.bazel
+++ /dev/null
@@ -1,146 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "sha2",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=sha2",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.10.7",
-    deps = [
-        "@cui__cfg-if-1.0.0//:cfg_if",
-        "@cui__digest-0.10.7//:digest",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [
-            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
-        ],
-        "//conditions:default": [],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.sha2-0.10.8.bazel b/crate_universe/3rdparty/crates/BUILD.sha2-0.10.8.bazel
new file mode 100644
index 0000000..95b9479
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.sha2-0.10.8.bazel
@@ -0,0 +1,156 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "sha2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=sha2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.10.8",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__digest-0.10.7//:digest",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cui__cpufeatures-0.2.9//:cpufeatures",  # cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.sharded-slab-0.1.7.bazel b/crate_universe/3rdparty/crates/BUILD.sharded-slab-0.1.7.bazel
new file mode 100644
index 0000000..2484c65
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.sharded-slab-0.1.7.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "sharded_slab",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=sharded-slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.7",
+    deps = [
+        "@cui__lazy_static-1.4.0//:lazy_static",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.10.bazel b/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.10.bazel
index ec185b2..e0da186 100644
--- a/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.10.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.10.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "siphasher",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=siphasher",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel
index fc1a2d4..ae4ea1b 100644
--- a/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "slug",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=slug",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.smallvec-1.11.0.bazel b/crate_universe/3rdparty/crates/BUILD.smallvec-1.11.0.bazel
index 4948c65..29bf0a7 100644
--- a/crate_universe/3rdparty/crates/BUILD.smallvec-1.11.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.smallvec-1.11.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "smallvec",
     srcs = glob(["**/*.rs"]),
@@ -28,9 +24,14 @@
             "WORKSPACE.bazel",
         ],
     ),
+    crate_features = [
+        "write",
+    ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=smallvec",
@@ -46,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel
index 8d8f01f..095a7cf 100644
--- a/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "smawk",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=smawk",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.smol_str-0.2.0.bazel b/crate_universe/3rdparty/crates/BUILD.smol_str-0.2.0.bazel
index 384f5cf..5f94d75 100644
--- a/crate_universe/3rdparty/crates/BUILD.smol_str-0.2.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.smol_str-0.2.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "smol_str",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=smol_str",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,11 +74,12 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.2.0",
     deps = [
-        "@cui__serde-1.0.171//:serde",
+        "@cui__serde-1.0.190//:serde",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.spdx-0.10.3.bazel b/crate_universe/3rdparty/crates/BUILD.spdx-0.10.3.bazel
new file mode 100644
index 0000000..222dc77
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.spdx-0.10.3.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "spdx",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=spdx",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.10.3",
+    deps = [
+        "@cui__smallvec-1.11.0//:smallvec",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel b/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel
index 00ae7dc..83eef51 100644
--- a/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0
-# ])
-
 rust_library(
     name = "spectral",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=spectral",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel
index 31fcc6d..736ecdc 100644
--- a/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "strsim",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=strsim",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.syn-1.0.109.bazel b/crate_universe/3rdparty/crates/BUILD.syn-1.0.109.bazel
new file mode 100644
index 0000000..b1ac3c8
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.syn-1.0.109.bazel
@@ -0,0 +1,143 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.109",
+    deps = [
+        "@cui__proc-macro2-1.0.64//:proc_macro2",
+        "@cui__quote-1.0.29//:quote",
+        "@cui__syn-1.0.109//:build_script_build",
+        "@cui__unicode-ident-1.0.10//:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "syn_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.109",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":syn_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.syn-2.0.25.bazel b/crate_universe/3rdparty/crates/BUILD.syn-2.0.25.bazel
deleted file mode 100644
index ad11e0c..0000000
--- a/crate_universe/3rdparty/crates/BUILD.syn-2.0.25.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "syn",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=syn",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "2.0.25",
-    deps = [
-        "@cui__proc-macro2-1.0.64//:proc_macro2",
-        "@cui__quote-1.0.29//:quote",
-        "@cui__unicode-ident-1.0.10//:unicode_ident",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.syn-2.0.32.bazel b/crate_universe/3rdparty/crates/BUILD.syn-2.0.32.bazel
new file mode 100644
index 0000000..809e1cd
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.syn-2.0.32.bazel
@@ -0,0 +1,95 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "fold",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.0.32",
+    deps = [
+        "@cui__proc-macro2-1.0.64//:proc_macro2",
+        "@cui__quote-1.0.29//:quote",
+        "@cui__unicode-ident-1.0.10//:unicode_ident",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tempfile-3.6.0.bazel b/crate_universe/3rdparty/crates/BUILD.tempfile-3.6.0.bazel
deleted file mode 100644
index c6bd7a8..0000000
--- a/crate_universe/3rdparty/crates/BUILD.tempfile-3.6.0.bazel
+++ /dev/null
@@ -1,199 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "tempfile",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=tempfile",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "3.6.0",
-    deps = [
-        "@cui__cfg-if-1.0.0//:cfg_if",
-        "@cui__fastrand-1.9.0//:fastrand",
-        "@cui__tempfile-3.6.0//:build_script_build",
-    ] + select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:aarch64-linux-android": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
-            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
-        ],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:i686-apple-darwin": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:i686-linux-android": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
-            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
-        ],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:wasm32-wasi": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:x86_64-linux-android": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
-            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
-            "@cui__rustix-0.37.23//:rustix",  # cfg(any(unix, target_os = "wasi"))
-        ],
-        "//conditions:default": [],
-    }),
-)
-
-cargo_build_script(
-    name = "tempfile_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=tempfile",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "3.6.0",
-    visibility = ["//visibility:private"],
-    deps = [
-        "@cui__autocfg-1.1.0//:autocfg",
-    ],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "tempfile_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.tempfile-3.8.1.bazel b/crate_universe/3rdparty/crates/BUILD.tempfile-3.8.1.bazel
new file mode 100644
index 0000000..303b3b1
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.tempfile-3.8.1.bazel
@@ -0,0 +1,167 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "tempfile",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tempfile",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "3.8.1",
+    deps = [
+        "@cui__cfg-if-1.0.0//:cfg_if",
+        "@cui__fastrand-2.0.1//:fastrand",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cui__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__rustix-0.38.21//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tera-1.19.0.bazel b/crate_universe/3rdparty/crates/BUILD.tera-1.19.0.bazel
deleted file mode 100644
index a898c54..0000000
--- a/crate_universe/3rdparty/crates/BUILD.tera-1.19.0.bazel
+++ /dev/null
@@ -1,106 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tera",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "builtins",
-        "chrono",
-        "chrono-tz",
-        "default",
-        "humansize",
-        "percent-encoding",
-        "rand",
-        "slug",
-        "urlencode",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    proc_macro_deps = [
-        "@cui__pest_derive-2.7.0//:pest_derive",
-    ],
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=tera",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.19.0",
-    deps = [
-        "@cui__chrono-0.4.26//:chrono",
-        "@cui__chrono-tz-0.6.1//:chrono_tz",
-        "@cui__globwalk-0.8.1//:globwalk",
-        "@cui__humansize-2.1.3//:humansize",
-        "@cui__lazy_static-1.4.0//:lazy_static",
-        "@cui__percent-encoding-2.3.0//:percent_encoding",
-        "@cui__pest-2.7.0//:pest",
-        "@cui__rand-0.8.5//:rand",
-        "@cui__regex-1.9.1//:regex",
-        "@cui__serde-1.0.171//:serde",
-        "@cui__serde_json-1.0.102//:serde_json",
-        "@cui__slug-0.1.4//:slug",
-        "@cui__thread_local-1.1.4//:thread_local",
-        "@cui__unic-segment-0.9.0//:unic_segment",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.tera-1.19.1.bazel b/crate_universe/3rdparty/crates/BUILD.tera-1.19.1.bazel
new file mode 100644
index 0000000..572113f
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.tera-1.19.1.bazel
@@ -0,0 +1,106 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "tera",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "builtins",
+        "chrono",
+        "chrono-tz",
+        "default",
+        "humansize",
+        "percent-encoding",
+        "rand",
+        "slug",
+        "urlencode",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@cui__pest_derive-2.7.0//:pest_derive",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tera",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.19.1",
+    deps = [
+        "@cui__chrono-0.4.26//:chrono",
+        "@cui__chrono-tz-0.8.4//:chrono_tz",
+        "@cui__globwalk-0.8.1//:globwalk",
+        "@cui__humansize-2.1.3//:humansize",
+        "@cui__lazy_static-1.4.0//:lazy_static",
+        "@cui__percent-encoding-2.3.0//:percent_encoding",
+        "@cui__pest-2.7.0//:pest",
+        "@cui__rand-0.8.5//:rand",
+        "@cui__regex-1.10.2//:regex",
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_json-1.0.108//:serde_json",
+        "@cui__slug-0.1.4//:slug",
+        "@cui__unic-segment-0.9.0//:unic_segment",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.textwrap-0.16.0.bazel b/crate_universe/3rdparty/crates/BUILD.textwrap-0.16.0.bazel
index f020764..7e98339 100644
--- a/crate_universe/3rdparty/crates/BUILD.textwrap-0.16.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.textwrap-0.16.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT
-# ])
-
 rust_library(
     name = "textwrap",
     srcs = glob(["**/*.rs"]),
@@ -36,7 +32,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=textwrap",
@@ -52,6 +50,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -75,13 +75,14 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.16.0",
     deps = [
         "@cui__smawk-0.3.1//:smawk",
-        "@cui__unicode-linebreak-0.1.4//:unicode_linebreak",
+        "@cui__unicode-linebreak-0.1.5//:unicode_linebreak",
         "@cui__unicode-width-0.1.10//:unicode_width",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.thiserror-1.0.43.bazel b/crate_universe/3rdparty/crates/BUILD.thiserror-1.0.43.bazel
deleted file mode 100644
index fbcaa90..0000000
--- a/crate_universe/3rdparty/crates/BUILD.thiserror-1.0.43.bazel
+++ /dev/null
@@ -1,120 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "thiserror",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    proc_macro_deps = [
-        "@cui__thiserror-impl-1.0.43//:thiserror_impl",
-    ],
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=thiserror",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.0.43",
-    deps = [
-        "@cui__thiserror-1.0.43//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "thiserror_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2021",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=thiserror",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.43",
-    visibility = ["//visibility:private"],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "thiserror_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.thiserror-1.0.50.bazel b/crate_universe/3rdparty/crates/BUILD.thiserror-1.0.50.bazel
new file mode 100644
index 0000000..09fbf38
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.thiserror-1.0.50.bazel
@@ -0,0 +1,121 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "thiserror",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@cui__thiserror-impl-1.0.50//:thiserror_impl",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=thiserror",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.50",
+    deps = [
+        "@cui__thiserror-1.0.50//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "thiserror_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=thiserror",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.50",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":thiserror_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.thiserror-impl-1.0.43.bazel b/crate_universe/3rdparty/crates/BUILD.thiserror-impl-1.0.43.bazel
deleted file mode 100644
index bd9230e..0000000
--- a/crate_universe/3rdparty/crates/BUILD.thiserror-impl-1.0.43.bazel
+++ /dev/null
@@ -1,81 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_proc_macro(
-    name = "thiserror_impl",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=thiserror-impl",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "1.0.43",
-    deps = [
-        "@cui__proc-macro2-1.0.64//:proc_macro2",
-        "@cui__quote-1.0.29//:quote",
-        "@cui__syn-2.0.25//:syn",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.thiserror-impl-1.0.50.bazel b/crate_universe/3rdparty/crates/BUILD.thiserror-impl-1.0.50.bazel
new file mode 100644
index 0000000..97b0097
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.thiserror-impl-1.0.50.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "thiserror_impl",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=thiserror-impl",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.50",
+    deps = [
+        "@cui__proc-macro2-1.0.64//:proc_macro2",
+        "@cui__quote-1.0.29//:quote",
+        "@cui__syn-2.0.32//:syn",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel
index ea0988c..3c5e06b 100644
--- a/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
 rust_library(
     name = "thread_local",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=thread_local",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.time-0.3.30.bazel b/crate_universe/3rdparty/crates/BUILD.time-0.3.30.bazel
new file mode 100644
index 0000000..461c4b8
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.time-0.3.30.bazel
@@ -0,0 +1,192 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "time",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "formatting",
+        "local-offset",
+        "macros",
+        "parsing",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@cui__time-macros-0.2.15//:time_macros",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=time",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.30",
+    deps = [
+        "@cui__deranged-0.3.9//:deranged",
+        "@cui__itoa-1.0.8//:itoa",
+        "@cui__powerfmt-0.2.0//:powerfmt",
+        "@cui__time-core-0.1.2//:time_core",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__libc-0.2.149//:libc",  # cfg(target_family = "unix")
+            "@cui__num_threads-0.1.6//:num_threads",  # cfg(target_family = "unix")
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.time-core-0.1.2.bazel b/crate_universe/3rdparty/crates/BUILD.time-core-0.1.2.bazel
new file mode 100644
index 0000000..f82d3db
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.time-core-0.1.2.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "time_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=time-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.2",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.time-macros-0.2.15.bazel b/crate_universe/3rdparty/crates/BUILD.time-macros-0.2.15.bazel
new file mode 100644
index 0000000..211822a
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.time-macros-0.2.15.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "time_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "formatting",
+        "parsing",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=time-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.15",
+    deps = [
+        "@cui__time-core-0.1.2//:time_core",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel b/crate_universe/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
index f55ed3f..ca47cb5 100644
--- a/crate_universe/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Zlib OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "tinyvec",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=tinyvec",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,6 +74,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.1.bazel b/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.1.bazel
index 8680586..524e5ac 100644
--- a/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0 OR Zlib
-# ])
-
 rust_library(
     name = "tinyvec_macros",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=tinyvec_macros",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.toml-0.7.6.bazel b/crate_universe/3rdparty/crates/BUILD.toml-0.7.6.bazel
index db9c7ee..cfabc7f 100644
--- a/crate_universe/3rdparty/crates/BUILD.toml-0.7.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.toml-0.7.6.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "toml",
     srcs = glob(["**/*.rs"]),
@@ -35,7 +31,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=toml",
@@ -51,6 +49,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -74,14 +74,15 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.7.6",
     deps = [
-        "@cui__serde-1.0.171//:serde",
-        "@cui__serde_spanned-0.6.3//:serde_spanned",
-        "@cui__toml_datetime-0.6.3//:toml_datetime",
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_spanned-0.6.5//:serde_spanned",
+        "@cui__toml_datetime-0.6.5//:toml_datetime",
         "@cui__toml_edit-0.19.13//:toml_edit",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.toml-0.8.10.bazel b/crate_universe/3rdparty/crates/BUILD.toml-0.8.10.bazel
new file mode 100644
index 0000000..8eb5eb9
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.toml-0.8.10.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "toml",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "display",
+        "parse",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=toml",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.10",
+    deps = [
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_spanned-0.6.5//:serde_spanned",
+        "@cui__toml_datetime-0.6.5//:toml_datetime",
+        "@cui__toml_edit-0.22.4//:toml_edit",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.toml_datetime-0.6.3.bazel b/crate_universe/3rdparty/crates/BUILD.toml_datetime-0.6.3.bazel
deleted file mode 100644
index cffb1c4..0000000
--- a/crate_universe/3rdparty/crates/BUILD.toml_datetime-0.6.3.bazel
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "toml_datetime",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "serde",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=toml_datetime",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.6.3",
-    deps = [
-        "@cui__serde-1.0.171//:serde",
-    ],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.toml_datetime-0.6.5.bazel b/crate_universe/3rdparty/crates/BUILD.toml_datetime-0.6.5.bazel
new file mode 100644
index 0000000..0088e94
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.toml_datetime-0.6.5.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "toml_datetime",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "serde",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=toml_datetime",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.6.5",
+    deps = [
+        "@cui__serde-1.0.190//:serde",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.toml_edit-0.19.13.bazel b/crate_universe/3rdparty/crates/BUILD.toml_edit-0.19.13.bazel
index dc7cbf3..2a0897e 100644
--- a/crate_universe/3rdparty/crates/BUILD.toml_edit-0.19.13.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.toml_edit-0.19.13.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "toml_edit",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=toml_edit",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,15 +73,16 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     version = "0.19.13",
     deps = [
-        "@cui__indexmap-2.0.0//:indexmap",
-        "@cui__serde-1.0.171//:serde",
-        "@cui__serde_spanned-0.6.3//:serde_spanned",
-        "@cui__toml_datetime-0.6.3//:toml_datetime",
-        "@cui__winnow-0.5.0//:winnow",
+        "@cui__indexmap-2.1.0//:indexmap",
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_spanned-0.6.5//:serde_spanned",
+        "@cui__toml_datetime-0.6.5//:toml_datetime",
+        "@cui__winnow-0.5.18//:winnow",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.toml_edit-0.22.4.bazel b/crate_universe/3rdparty/crates/BUILD.toml_edit-0.22.4.bazel
new file mode 100644
index 0000000..73617ff
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.toml_edit-0.22.4.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "toml_edit",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "display",
+        "parse",
+        "serde",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=toml_edit",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.22.4",
+    deps = [
+        "@cui__indexmap-2.1.0//:indexmap",
+        "@cui__serde-1.0.190//:serde",
+        "@cui__serde_spanned-0.6.5//:serde_spanned",
+        "@cui__toml_datetime-0.6.5//:toml_datetime",
+        "@cui__winnow-0.5.18//:winnow",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tracing-0.1.40.bazel b/crate_universe/3rdparty/crates/BUILD.tracing-0.1.40.bazel
new file mode 100644
index 0000000..0588abf
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.tracing-0.1.40.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "tracing",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "attributes",
+        "default",
+        "std",
+        "tracing-attributes",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@cui__tracing-attributes-0.1.27//:tracing_attributes",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.40",
+    deps = [
+        "@cui__pin-project-lite-0.2.13//:pin_project_lite",
+        "@cui__tracing-core-0.1.32//:tracing_core",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tracing-attributes-0.1.27.bazel b/crate_universe/3rdparty/crates/BUILD.tracing-attributes-0.1.27.bazel
new file mode 100644
index 0000000..70c829a
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.tracing-attributes-0.1.27.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "tracing_attributes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-attributes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.27",
+    deps = [
+        "@cui__proc-macro2-1.0.64//:proc_macro2",
+        "@cui__quote-1.0.29//:quote",
+        "@cui__syn-2.0.32//:syn",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tracing-core-0.1.32.bazel b/crate_universe/3rdparty/crates/BUILD.tracing-core-0.1.32.bazel
new file mode 100644
index 0000000..994e28d
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.tracing-core-0.1.32.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "tracing_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "once_cell",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.32",
+    deps = [
+        "@cui__once_cell-1.18.0//:once_cell",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tracing-log-0.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.tracing-log-0.1.4.bazel
new file mode 100644
index 0000000..d1cc407
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.tracing-log-0.1.4.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "tracing_log",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "log-tracer",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.4",
+    deps = [
+        "@cui__log-0.4.19//:log",
+        "@cui__once_cell-1.18.0//:once_cell",
+        "@cui__tracing-core-0.1.32//:tracing_core",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.tracing-subscriber-0.3.17.bazel b/crate_universe/3rdparty/crates/BUILD.tracing-subscriber-0.3.17.bazel
new file mode 100644
index 0000000..96aa077
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.tracing-subscriber-0.3.17.bazel
@@ -0,0 +1,98 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "tracing_subscriber",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "ansi",
+        "default",
+        "fmt",
+        "nu-ansi-term",
+        "registry",
+        "sharded-slab",
+        "smallvec",
+        "std",
+        "thread_local",
+        "tracing-log",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-subscriber",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.17",
+    deps = [
+        "@cui__nu-ansi-term-0.46.0//:nu_ansi_term",
+        "@cui__sharded-slab-0.1.7//:sharded_slab",
+        "@cui__smallvec-1.11.0//:smallvec",
+        "@cui__thread_local-1.1.4//:thread_local",
+        "@cui__tracing-core-0.1.32//:tracing_core",
+        "@cui__tracing-log-0.1.4//:tracing_log",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.typenum-1.16.0.bazel b/crate_universe/3rdparty/crates/BUILD.typenum-1.16.0.bazel
index 6f71f02..ff94042 100644
--- a/crate_universe/3rdparty/crates/BUILD.typenum-1.16.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.typenum-1.16.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "typenum",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=typenum",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_main",
-    actual = "typenum_build_script",
+    actual = ":typenum_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.6.bazel b/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.6.bazel
index 562328b..f057e55 100644
--- a/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.6.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "ucd_trie",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=ucd-trie",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.uluru-3.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.uluru-3.0.0.bazel
new file mode 100644
index 0000000..797a0cb
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.uluru-3.0.0.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "uluru",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=uluru",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "3.0.0",
+    deps = [
+        "@cui__arrayvec-0.7.4//:arrayvec",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.uncased-0.9.9.bazel b/crate_universe/3rdparty/crates/BUILD.uncased-0.9.9.bazel
deleted file mode 100644
index 00a8bf7..0000000
--- a/crate_universe/3rdparty/crates/BUILD.uncased-0.9.9.bazel
+++ /dev/null
@@ -1,120 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "uncased",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=uncased",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.9.9",
-    deps = [
-        "@cui__uncased-0.9.9//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "uncased_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=uncased",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.9.9",
-    visibility = ["//visibility:private"],
-    deps = [
-        "@cui__version_check-0.9.4//:version_check",
-    ],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "uncased_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel
index 5a40c31..0fca9f8 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unic_char_property",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unic-char-property",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel
index 7056f64..a072e89 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unic_char_range",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unic-char-range",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel
index 3330a8d..7573a12 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unic_common",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unic-common",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel
index 586756f..8b488a2 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unic_segment",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unic-segment",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel
index 59a0729..c60b3ea 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unic_ucd_segment",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unic-ucd-segment",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel
index 7da8af3..881992a 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unic_ucd_version",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unic-ucd-version",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.13.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.13.bazel
index 92ebbe8..d74df18 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.13.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.13.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "unicode_bidi",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unicode-bidi",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-bom-2.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-bom-2.0.2.bazel
new file mode 100644
index 0000000..260dc33
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-bom-2.0.2.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "unicode_bom",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-bom",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.0.2",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-ident-1.0.10.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-ident-1.0.10.bazel
index d034c00..d9b26d4 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-ident-1.0.10.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-ident-1.0.10.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
-# ])
-
 rust_library(
     name = "unicode_ident",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unicode-ident",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.4.bazel
deleted file mode 100644
index 83c2bb1..0000000
--- a/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.4.bazel
+++ /dev/null
@@ -1,121 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0
-# ])
-
-rust_library(
-    name = "unicode_linebreak",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=unicode-linebreak",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.1.4",
-    deps = [
-        "@cui__unicode-linebreak-0.1.4//:build_script_build",
-    ],
-)
-
-cargo_build_script(
-    name = "unicode-linebreak_build_script",
-    srcs = glob(["**/*.rs"]),
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    edition = "2021",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "crate-name=unicode-linebreak",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.4",
-    visibility = ["//visibility:private"],
-    deps = [
-        "@cui__hashbrown-0.12.3//:hashbrown",
-        "@cui__regex-1.9.1//:regex",
-    ],
-)
-
-alias(
-    name = "build_script_build",
-    actual = "unicode-linebreak_build_script",
-    tags = ["manual"],
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.5.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.5.bazel
new file mode 100644
index 0000000..e1357d1
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.5.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "unicode_linebreak",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-linebreak",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.5",
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.22.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.22.bazel
index d73d9d8..67e6d98 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.22.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.22.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unicode_normalization",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unicode-normalization",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel
index 54377e5..0497cd4 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.10.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "unicode_width",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=unicode-width",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.url-2.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.url-2.4.0.bazel
index a0797ef..81e02ef 100644
--- a/crate_universe/3rdparty/crates/BUILD.url-2.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.url-2.4.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "url",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=url",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel
index 02afe9a..87e8876 100644
--- a/crate_universe/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.utf8parse-0.2.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "utf8parse",
     srcs = glob(["**/*.rs"]),
@@ -33,7 +29,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=utf8parse",
@@ -49,6 +47,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -72,6 +72,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.valuable-0.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.valuable-0.1.0.bazel
new file mode 100644
index 0000000..8b25119
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.valuable-0.1.0.bazel
@@ -0,0 +1,118 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "valuable",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=valuable",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.0",
+    deps = [
+        "@cui__valuable-0.1.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "valuable_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=valuable",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = ":valuable_build_script",
+    tags = ["manual"],
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel b/crate_universe/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
deleted file mode 100644
index 070d956..0000000
--- a/crate_universe/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
+++ /dev/null
@@ -1,76 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "vcpkg",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_root = "src/lib.rs",
-    edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=vcpkg",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.2.15",
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel b/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel
index f8023ae..e708e1b 100644
--- a/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "version_check",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=version_check",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.3.bazel b/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.3.bazel
index 941f080..18c6aa4 100644
--- a/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.3.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
 rust_library(
     name = "walkdir",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=walkdir",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/crate_universe/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
index 4d5d97d..ba761f3 100644
--- a/crate_universe/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
 rust_library(
     name = "wasi",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=wasi",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-0.2.87.bazel b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-0.2.87.bazel
index fe669b8..374eabe 100644
--- a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-0.2.87.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-0.2.87.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "wasm_bindgen",
     srcs = glob(["**/*.rs"]),
@@ -34,7 +30,9 @@
     proc_macro_deps = [
         "@cui__wasm-bindgen-macro-0.2.87//:wasm_bindgen_macro",
     ],
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=wasm-bindgen",
@@ -50,6 +48,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -73,6 +73,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -116,6 +117,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "wasm-bindgen_build_script",
+    actual = ":wasm-bindgen_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-backend-0.2.87.bazel b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-backend-0.2.87.bazel
index af8d89f..55b7310 100644
--- a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-backend-0.2.87.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-backend-0.2.87.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "wasm_bindgen_backend",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=wasm-bindgen-backend",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -79,7 +80,7 @@
         "@cui__once_cell-1.18.0//:once_cell",
         "@cui__proc-macro2-1.0.64//:proc_macro2",
         "@cui__quote-1.0.29//:quote",
-        "@cui__syn-2.0.25//:syn",
+        "@cui__syn-2.0.32//:syn",
         "@cui__wasm-bindgen-shared-0.2.87//:wasm_bindgen_shared",
     ],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-0.2.87.bazel b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-0.2.87.bazel
index 951ce3b..44cc4dd 100644
--- a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-0.2.87.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-0.2.87.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_proc_macro(
     name = "wasm_bindgen_macro",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=wasm-bindgen-macro",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-support-0.2.87.bazel b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-support-0.2.87.bazel
index 78283dc..6bc1cd9 100644
--- a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-support-0.2.87.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-macro-support-0.2.87.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "wasm_bindgen_macro_support",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=wasm-bindgen-macro-support",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -76,7 +77,7 @@
     deps = [
         "@cui__proc-macro2-1.0.64//:proc_macro2",
         "@cui__quote-1.0.29//:quote",
-        "@cui__syn-2.0.25//:syn",
+        "@cui__syn-2.0.32//:syn",
         "@cui__wasm-bindgen-backend-0.2.87//:wasm_bindgen_backend",
         "@cui__wasm-bindgen-shared-0.2.87//:wasm_bindgen_shared",
     ],
diff --git a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-shared-0.2.87.bazel b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-shared-0.2.87.bazel
index 417ec87..28c5155 100644
--- a/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-shared-0.2.87.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.wasm-bindgen-shared-0.2.87.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "wasm_bindgen_shared",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=wasm-bindgen-shared",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -113,6 +114,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "wasm-bindgen-shared_build_script",
+    actual = ":wasm-bindgen-shared_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel
index 4818605..291e0cf 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "winapi",
     srcs = glob(["**/*.rs"]),
@@ -33,6 +29,7 @@
         "consoleapi",
         "errhandlingapi",
         "fileapi",
+        "handleapi",
         "minwinbase",
         "minwindef",
         "ntsecapi",
@@ -48,7 +45,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi",
@@ -64,6 +63,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -87,6 +88,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -103,6 +105,7 @@
         "consoleapi",
         "errhandlingapi",
         "fileapi",
+        "handleapi",
         "minwinbase",
         "minwindef",
         "ntsecapi",
@@ -146,6 +149,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "winapi_build_script",
+    actual = ":winapi_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
index 6444878..6ae2873 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "winapi_i686_pc_windows_gnu",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi-i686-pc-windows-gnu",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "winapi-i686-pc-windows-gnu_build_script",
+    actual = ":winapi-i686-pc-windows-gnu_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
index aae057a..5f03c86 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
 rust_library(
     name = "winapi_util",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi-util",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
index 89309ea..412394a 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
 rust_library(
     name = "winapi_x86_64_pc_windows_gnu",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2015",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=winapi-x86_64-pc-windows-gnu",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "winapi-x86_64-pc-windows-gnu_build_script",
+    actual = ":winapi-x86_64-pc-windows-gnu_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows-0.48.0.bazel
index df47313..883f6a6 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows",
     srcs = glob(["**/*.rs"]),
@@ -28,9 +24,23 @@
             "WORKSPACE.bazel",
         ],
     ),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_Security",
+        "Win32_Security_Authorization",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Memory",
+        "Win32_System_Threading",
+        "default",
+    ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows",
@@ -46,6 +56,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +81,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel
index 45d6db3..3a6c255 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows-sys-0.48.0.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_sys",
     srcs = glob(["**/*.rs"]),
@@ -46,7 +42,9 @@
     ],
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows-sys",
@@ -62,6 +60,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -85,6 +85,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
diff --git a/crate_universe/3rdparty/crates/BUILD.windows-targets-0.48.1.bazel b/crate_universe/3rdparty/crates/BUILD.windows-targets-0.48.1.bazel
index e969928..5d3ac9a 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows-targets-0.48.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows-targets-0.48.1.bazel
@@ -10,10 +10,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_targets",
     srcs = glob(["**/*.rs"]),
@@ -30,7 +26,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows-targets",
@@ -46,6 +44,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -69,6 +69,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -89,6 +90,9 @@
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
             "@cui__windows_x86_64_gnu-0.48.0//:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
         ],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
+            "@cui__windows_x86_64_gnu-0.48.0//:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
+        ],
         "//conditions:default": [],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
index 16a286b..5a40145 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_aarch64_gnullvm",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_aarch64_gnullvm",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "windows_aarch64_gnullvm_build_script",
+    actual = ":windows_aarch64_gnullvm_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
index 2126fa6..19483f1 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_aarch64_msvc",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_aarch64_msvc",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "windows_aarch64_msvc_build_script",
+    actual = ":windows_aarch64_msvc_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel
index 6671ae8..72c2745 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows_i686_gnu-0.48.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_i686_gnu",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_i686_gnu",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "windows_i686_gnu_build_script",
+    actual = ":windows_i686_gnu_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel
index df9b780..b595d8f 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows_i686_msvc-0.48.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_i686_msvc",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_i686_msvc",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "windows_i686_msvc_build_script",
+    actual = ":windows_i686_msvc_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
index e7b5dca..04f66c3 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_x86_64_gnu",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_x86_64_gnu",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "windows_x86_64_gnu_build_script",
+    actual = ":windows_x86_64_gnu_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
index 50154b6..efa533c 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_x86_64_gnullvm",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_x86_64_gnullvm",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "windows_x86_64_gnullvm_build_script",
+    actual = ":windows_x86_64_gnullvm_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel b/crate_universe/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
index c67beeb..152fd7c 100644
--- a/crate_universe/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
@@ -11,10 +11,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
 rust_library(
     name = "windows_x86_64_msvc",
     srcs = glob(["**/*.rs"]),
@@ -31,7 +27,9 @@
     ),
     crate_root = "src/lib.rs",
     edition = "2018",
-    rustc_flags = ["--cap-lints=allow"],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
     tags = [
         "cargo-bazel",
         "crate-name=windows_x86_64_msvc",
@@ -47,6 +45,8 @@
         "@rules_rust//rust/platform:aarch64-linux-android": [],
         "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
         "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
         "@rules_rust//rust/platform:armv7-linux-androideabi": [],
         "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -70,6 +70,7 @@
         "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
         "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
         "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
         "@rules_rust//rust/platform:x86_64-unknown-none": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
@@ -112,6 +113,6 @@
 
 alias(
     name = "build_script_build",
-    actual = "windows_x86_64_msvc_build_script",
+    actual = ":windows_x86_64_msvc_build_script",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.winnow-0.5.0.bazel b/crate_universe/3rdparty/crates/BUILD.winnow-0.5.0.bazel
deleted file mode 100644
index e22d1c3..0000000
--- a/crate_universe/3rdparty/crates/BUILD.winnow-0.5.0.bazel
+++ /dev/null
@@ -1,81 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run @//crate_universe/3rdparty:crates_vendor
-###############################################################################
-
-load("@rules_rust//rust:defs.bzl", "rust_library")
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "winnow",
-    srcs = glob(["**/*.rs"]),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "**/* *",
-            ".tmp_git_root/**/*",
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    edition = "2021",
-    rustc_flags = ["--cap-lints=allow"],
-    tags = [
-        "cargo-bazel",
-        "crate-name=winnow",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    target_compatible_with = select({
-        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios": [],
-        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
-        "@rules_rust//rust/platform:aarch64-fuchsia": [],
-        "@rules_rust//rust/platform:aarch64-linux-android": [],
-        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
-        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
-        "@rules_rust//rust/platform:i686-apple-darwin": [],
-        "@rules_rust//rust/platform:i686-linux-android": [],
-        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
-        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
-        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
-        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
-        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
-        "@rules_rust//rust/platform:wasm32-wasi": [],
-        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
-        "@rules_rust//rust/platform:x86_64-apple-ios": [],
-        "@rules_rust//rust/platform:x86_64-fuchsia": [],
-        "@rules_rust//rust/platform:x86_64-linux-android": [],
-        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
-        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
-        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
-        "@rules_rust//rust/platform:x86_64-unknown-none": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
-    version = "0.5.0",
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.winnow-0.5.18.bazel b/crate_universe/3rdparty/crates/BUILD.winnow-0.5.18.bazel
new file mode 100644
index 0000000..207f1c5
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.winnow-0.5.18.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_library(
+    name = "winnow",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            ".tmp_git_root/**/*",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "simd",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winnow",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.5.18",
+    deps = [
+        "@cui__memchr-2.6.4//:memchr",
+    ],
+)
diff --git a/crate_universe/3rdparty/crates/alias_rules.bzl b/crate_universe/3rdparty/crates/alias_rules.bzl
new file mode 100644
index 0000000..14b04c1
--- /dev/null
+++ b/crate_universe/3rdparty/crates/alias_rules.bzl
@@ -0,0 +1,47 @@
+"""Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias="opt"` to enable."""
+
+load("@rules_cc//cc:defs.bzl", "CcInfo")
+load("@rules_rust//rust:rust_common.bzl", "COMMON_PROVIDERS")
+
+def _transition_alias_impl(ctx):
+    # `ctx.attr.actual` is a list of 1 item due to the transition
+    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]
+    if CcInfo in ctx.attr.actual[0]:
+        providers.append(ctx.attr.actual[0][CcInfo])
+    return providers
+
+def _change_compilation_mode(compilation_mode):
+    def _change_compilation_mode_impl(_settings, _attr):
+        return {
+            "//command_line_option:compilation_mode": compilation_mode,
+        }
+
+    return transition(
+        implementation = _change_compilation_mode_impl,
+        inputs = [],
+        outputs = [
+            "//command_line_option:compilation_mode",
+        ],
+    )
+
+def _transition_alias_rule(compilation_mode):
+    return rule(
+        implementation = _transition_alias_impl,
+        provides = COMMON_PROVIDERS,
+        attrs = {
+            "actual": attr.label(
+                mandatory = True,
+                doc = "`rust_library()` target to transition to `compilation_mode=opt`.",
+                providers = COMMON_PROVIDERS,
+                cfg = _change_compilation_mode(compilation_mode),
+            ),
+            "_allowlist_function_transition": attr.label(
+                default = "@bazel_tools//tools/allowlists/function_transition_allowlist",
+            ),
+        },
+        doc = "Transitions a Rust library crate to the `compilation_mode=opt`.",
+    )
+
+transition_alias_dbg = _transition_alias_rule("dbg")
+transition_alias_fastbuild = _transition_alias_rule("fastbuild")
+transition_alias_opt = _transition_alias_rule("opt")
diff --git a/crate_universe/3rdparty/crates/crates.bzl b/crate_universe/3rdparty/crates/crates.bzl
index 9821456..cb38f5c 100644
--- a/crate_universe/3rdparty/crates/crates.bzl
+++ b/crate_universe/3rdparty/crates/crates.bzl
@@ -15,6 +15,11 @@
 load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
 
 def crate_repositories():
+    """Generates repositories for vendored crates.
+
+    Returns:
+      A list of repos visible to the module through the module extension.
+    """
     maybe(
         crates_vendor_remote_repository,
         name = "cui",
@@ -22,4 +27,6 @@
         defs_module = Label("@rules_rust//crate_universe/3rdparty/crates:defs.bzl"),
     )
 
-    _crate_repositories()
+    direct_deps = [struct(repo = "cui", is_dev_dep = False)]
+    direct_deps.extend(_crate_repositories())
+    return direct_deps
diff --git a/crate_universe/3rdparty/crates/defs.bzl b/crate_universe/3rdparty/crates/defs.bzl
index da1d659..f5c0c39 100644
--- a/crate_universe/3rdparty/crates/defs.bzl
+++ b/crate_universe/3rdparty/crates/defs.bzl
@@ -295,28 +295,32 @@
 _NORMAL_DEPENDENCIES = {
     "crate_universe": {
         _COMMON_CONDITION: {
-            "anyhow": "@cui__anyhow-1.0.71//:anyhow",
+            "anyhow": "@cui__anyhow-1.0.75//:anyhow",
+            "camino": "@cui__camino-1.1.6//:camino",
             "cargo-lock": "@cui__cargo-lock-9.0.0//:cargo_lock",
-            "cargo-platform": "@cui__cargo-platform-0.1.3//:cargo_platform",
-            "cargo_metadata": "@cui__cargo_metadata-0.15.4//:cargo_metadata",
-            "cargo_toml": "@cui__cargo_toml-0.15.3//:cargo_toml",
-            "cfg-expr": "@cui__cfg-expr-0.15.3//:cfg_expr",
+            "cargo-platform": "@cui__cargo-platform-0.1.4//:cargo_platform",
+            "cargo_metadata": "@cui__cargo_metadata-0.18.1//:cargo_metadata",
+            "cargo_toml": "@cui__cargo_toml-0.17.1//:cargo_toml",
+            "cfg-expr": "@cui__cfg-expr-0.15.5//:cfg_expr",
             "clap": "@cui__clap-4.3.11//:clap",
-            "crates-index": "@cui__crates-index-0.19.13//:crates_index",
+            "crates-index": "@cui__crates-index-2.2.0//:crates_index",
             "hex": "@cui__hex-0.4.3//:hex",
-            "itertools": "@cui__itertools-0.11.0//:itertools",
+            "itertools": "@cui__itertools-0.12.0//:itertools",
             "normpath": "@cui__normpath-1.1.1//:normpath",
             "pathdiff": "@cui__pathdiff-0.2.1//:pathdiff",
-            "regex": "@cui__regex-1.9.1//:regex",
-            "semver": "@cui__semver-1.0.17//:semver",
-            "serde": "@cui__serde-1.0.171//:serde",
-            "serde_json": "@cui__serde_json-1.0.102//:serde_json",
-            "serde_starlark": "@cui__serde_starlark-0.1.13//:serde_starlark",
-            "sha2": "@cui__sha2-0.10.7//:sha2",
-            "tempfile": "@cui__tempfile-3.6.0//:tempfile",
-            "tera": "@cui__tera-1.19.0//:tera",
+            "regex": "@cui__regex-1.10.2//:regex",
+            "semver": "@cui__semver-1.0.20//:semver",
+            "serde": "@cui__serde-1.0.190//:serde",
+            "serde_json": "@cui__serde_json-1.0.108//:serde_json",
+            "serde_starlark": "@cui__serde_starlark-0.1.14//:serde_starlark",
+            "sha2": "@cui__sha2-0.10.8//:sha2",
+            "spdx": "@cui__spdx-0.10.3//:spdx",
+            "tempfile": "@cui__tempfile-3.8.1//:tempfile",
+            "tera": "@cui__tera-1.19.1//:tera",
             "textwrap": "@cui__textwrap-0.16.0//:textwrap",
-            "toml": "@cui__toml-0.7.6//:toml",
+            "toml": "@cui__toml-0.8.10//:toml",
+            "tracing": "@cui__tracing-0.1.40//:tracing",
+            "tracing-subscriber": "@cui__tracing-subscriber-0.3.17//:tracing_subscriber",
         },
     },
     "crate_universe/tools/cross_installer": {
@@ -328,8 +332,8 @@
         _COMMON_CONDITION: {
             "clap": "@cui__clap-4.3.11//:clap",
             "hex": "@cui__hex-0.4.3//:hex",
-            "serde_json": "@cui__serde_json-1.0.102//:serde_json",
-            "sha2": "@cui__sha2-0.10.7//:sha2",
+            "serde_json": "@cui__serde_json-1.0.108//:serde_json",
+            "sha2": "@cui__sha2-0.10.8//:sha2",
         },
     },
 }
@@ -376,7 +380,7 @@
 _PROC_MACRO_DEPENDENCIES = {
     "crate_universe": {
         _COMMON_CONDITION: {
-            "indoc": "@cui__indoc-2.0.2//:indoc",
+            "indoc": "@cui__indoc-2.0.4//:indoc",
         },
     },
     "crate_universe/tools/cross_installer": {
@@ -459,29 +463,35 @@
     "aarch64-pc-windows-gnullvm": [],
     "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
     "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu"],
+    "aarch64-unknown-nixos-gnu": ["@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"],
+    "aarch64-unknown-nto-qnx710": ["@rules_rust//rust/platform:aarch64-unknown-nto-qnx710"],
     "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"],
     "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"],
     "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"],
     "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android"],
-    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
-    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android"],
+    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
+    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
+    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
     "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
-    "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"],
     "cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim"],
-    "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": ["@rules_rust//rust/platform:wasm32-unknown-unknown"],
     "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
     "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
-    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
     "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
-    "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
-    "cfg(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
     "cfg(any(target_os = \"macos\", target_os = \"ios\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios"],
-    "cfg(any(unix, target_os = \"wasi\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
-    "cfg(not(all(target_arch = \"arm\", target_os = \"none\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
-    "cfg(not(any(windows, target_os = \"hermit\", target_os = \"unknown\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
-    "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(any(target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-unknown-freebsd"],
+    "cfg(any(unix, target_os = \"wasi\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
+    "cfg(not(any(windows, target_os = \"hermit\", target_os = \"unknown\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(not(target_arch = \"wasm32\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(not(target_family = \"wasm\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
     "cfg(target_arch = \"wasm32\")": ["@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi"],
     "cfg(target_env = \"sgx\")": [],
+    "cfg(target_family = \"unix\")": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
     "cfg(target_os = \"android\")": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:x86_64-linux-android"],
     "cfg(target_os = \"dragonfly\")": [],
     "cfg(target_os = \"fuchsia\")": ["@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:x86_64-fuchsia"],
@@ -490,7 +500,9 @@
     "cfg(target_os = \"redox\")": [],
     "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"],
     "cfg(target_os = \"windows\")": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
-    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(target_vendor = \"apple\")": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios"],
+    "cfg(tracing_unstable)": [],
+    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
     "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"],
     "i686-linux-android": ["@rules_rust//rust/platform:i686-linux-android"],
@@ -515,21 +527,26 @@
     "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"],
     "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
     "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"],
 }
 
 ###############################################################################
 
 def crate_repositories():
-    """A macro for defining repositories for all generated crates"""
+    """A macro for defining repositories for all generated crates.
+
+    Returns:
+      A list of repos visible to the module through the module extension.
+    """
     maybe(
         http_archive,
-        name = "cui__ahash-0.7.6",
-        sha256 = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47",
+        name = "cui__adler-1.0.2",
+        sha256 = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/ahash/0.7.6/download"],
-        strip_prefix = "ahash-0.7.6",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.ahash-0.7.6.bazel"),
+        urls = ["https://crates.io/api/v1/crates/adler/1.0.2/download"],
+        strip_prefix = "adler-1.0.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.adler-1.0.2.bazel"),
     )
 
     maybe(
@@ -614,12 +631,32 @@
 
     maybe(
         http_archive,
-        name = "cui__anyhow-1.0.71",
-        sha256 = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8",
+        name = "cui__anyhow-1.0.75",
+        sha256 = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/anyhow/1.0.71/download"],
-        strip_prefix = "anyhow-1.0.71",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.anyhow-1.0.71.bazel"),
+        urls = ["https://crates.io/api/v1/crates/anyhow/1.0.75/download"],
+        strip_prefix = "anyhow-1.0.75",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.anyhow-1.0.75.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__arc-swap-1.6.0",
+        sha256 = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/arc-swap/1.6.0/download"],
+        strip_prefix = "arc-swap-1.6.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.arc-swap-1.6.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__arrayvec-0.7.4",
+        sha256 = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/arrayvec/0.7.4/download"],
+        strip_prefix = "arrayvec-0.7.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.arrayvec-0.7.4.bazel"),
     )
 
     maybe(
@@ -644,6 +681,16 @@
 
     maybe(
         http_archive,
+        name = "cui__bitflags-2.4.1",
+        sha256 = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bitflags/2.4.1/download"],
+        strip_prefix = "bitflags-2.4.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.bitflags-2.4.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__block-buffer-0.10.4",
         sha256 = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71",
         type = "tar.gz",
@@ -664,6 +711,16 @@
 
     maybe(
         http_archive,
+        name = "cui__btoi-0.4.3",
+        sha256 = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/btoi/0.4.3/download"],
+        strip_prefix = "btoi-0.4.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.btoi-0.4.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__bumpalo-3.13.0",
         sha256 = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1",
         type = "tar.gz",
@@ -674,6 +731,16 @@
 
     maybe(
         http_archive,
+        name = "cui__byteyarn-0.2.3",
+        sha256 = "a7534301c0ea17abb4db06d75efc7b4b0fa360fce8e175a4330d721c71c942ff",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/byteyarn/0.2.3/download"],
+        strip_prefix = "byteyarn-0.2.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.byteyarn-0.2.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__camino-1.1.6",
         sha256 = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c",
         type = "tar.gz",
@@ -694,32 +761,32 @@
 
     maybe(
         http_archive,
-        name = "cui__cargo-platform-0.1.3",
-        sha256 = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479",
+        name = "cui__cargo-platform-0.1.4",
+        sha256 = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cargo-platform/0.1.3/download"],
-        strip_prefix = "cargo-platform-0.1.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo-platform-0.1.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cargo-platform/0.1.4/download"],
+        strip_prefix = "cargo-platform-0.1.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo-platform-0.1.4.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__cargo_metadata-0.15.4",
-        sha256 = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a",
+        name = "cui__cargo_metadata-0.18.1",
+        sha256 = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cargo_metadata/0.15.4/download"],
-        strip_prefix = "cargo_metadata-0.15.4",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo_metadata-0.15.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cargo_metadata/0.18.1/download"],
+        strip_prefix = "cargo_metadata-0.18.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo_metadata-0.18.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__cargo_toml-0.15.3",
-        sha256 = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838",
+        name = "cui__cargo_toml-0.17.1",
+        sha256 = "4d1ece59890e746567b467253aea0adbe8a21784d0b025d8a306f66c391c2957",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cargo_toml/0.15.3/download"],
-        strip_prefix = "cargo_toml-0.15.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo_toml-0.15.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cargo_toml/0.17.1/download"],
+        strip_prefix = "cargo_toml-0.17.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo_toml-0.17.1.bazel"),
     )
 
     maybe(
@@ -734,12 +801,12 @@
 
     maybe(
         http_archive,
-        name = "cui__cfg-expr-0.15.3",
-        sha256 = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c",
+        name = "cui__cfg-expr-0.15.5",
+        sha256 = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cfg-expr/0.15.3/download"],
-        strip_prefix = "cfg-expr-0.15.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cfg-expr-0.15.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cfg-expr/0.15.5/download"],
+        strip_prefix = "cfg-expr-0.15.5",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cfg-expr-0.15.5.bazel"),
     )
 
     maybe(
@@ -764,22 +831,22 @@
 
     maybe(
         http_archive,
-        name = "cui__chrono-tz-0.6.1",
-        sha256 = "58549f1842da3080ce63002102d5bc954c7bc843d4f47818e642abdc36253552",
+        name = "cui__chrono-tz-0.8.4",
+        sha256 = "e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/chrono-tz/0.6.1/download"],
-        strip_prefix = "chrono-tz-0.6.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.chrono-tz-0.6.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/chrono-tz/0.8.4/download"],
+        strip_prefix = "chrono-tz-0.8.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.chrono-tz-0.8.4.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__chrono-tz-build-0.0.2",
-        sha256 = "db058d493fb2f65f41861bfed7e3fe6335264a9f0f92710cab5bdf01fef09069",
+        name = "cui__chrono-tz-build-0.2.1",
+        sha256 = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/chrono-tz-build/0.0.2/download"],
-        strip_prefix = "chrono-tz-build-0.0.2",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.chrono-tz-build-0.0.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/chrono-tz-build/0.2.1/download"],
+        strip_prefix = "chrono-tz-build-0.2.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.chrono-tz-build-0.2.1.bazel"),
     )
 
     maybe(
@@ -824,6 +891,16 @@
 
     maybe(
         http_archive,
+        name = "cui__clru-0.6.1",
+        sha256 = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/clru/0.6.1/download"],
+        strip_prefix = "clru-0.6.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.clru-0.6.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__colorchoice-1.0.0",
         sha256 = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7",
         type = "tar.gz",
@@ -854,12 +931,72 @@
 
     maybe(
         http_archive,
-        name = "cui__crates-index-0.19.13",
-        sha256 = "c3cab38e209d6ba8bd5b0d41c784ec63a5a9ea3adf866b820d377588960f1ded",
+        name = "cui__crates-index-2.2.0",
+        sha256 = "33bc10579ea08741ae173928194b6c42c90b295d51ddd0d18238eaf15502ac87",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/crates-index/0.19.13/download"],
-        strip_prefix = "crates-index-0.19.13",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crates-index-0.19.13.bazel"),
+        urls = ["https://crates.io/api/v1/crates/crates-index/2.2.0/download"],
+        strip_prefix = "crates-index-2.2.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crates-index-2.2.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__crc32fast-1.3.2",
+        sha256 = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crc32fast/1.3.2/download"],
+        strip_prefix = "crc32fast-1.3.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crc32fast-1.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__crossbeam-0.8.2",
+        sha256 = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam/0.8.2/download"],
+        strip_prefix = "crossbeam-0.8.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crossbeam-0.8.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__crossbeam-channel-0.5.8",
+        sha256 = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-channel/0.5.8/download"],
+        strip_prefix = "crossbeam-channel-0.5.8",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crossbeam-channel-0.5.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__crossbeam-deque-0.8.3",
+        sha256 = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-deque/0.8.3/download"],
+        strip_prefix = "crossbeam-deque-0.8.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crossbeam-deque-0.8.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__crossbeam-epoch-0.9.15",
+        sha256 = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-epoch/0.9.15/download"],
+        strip_prefix = "crossbeam-epoch-0.9.15",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crossbeam-epoch-0.9.15.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__crossbeam-queue-0.3.8",
+        sha256 = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-queue/0.3.8/download"],
+        strip_prefix = "crossbeam-queue-0.3.8",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crossbeam-queue-0.3.8.bazel"),
     )
 
     maybe(
@@ -884,6 +1021,16 @@
 
     maybe(
         http_archive,
+        name = "cui__deranged-0.3.9",
+        sha256 = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/deranged/0.3.9/download"],
+        strip_prefix = "deranged-0.3.9",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.deranged-0.3.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__deunicode-0.4.3",
         sha256 = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690",
         type = "tar.gz",
@@ -904,6 +1051,16 @@
 
     maybe(
         http_archive,
+        name = "cui__dunce-1.0.4",
+        sha256 = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/dunce/1.0.4/download"],
+        strip_prefix = "dunce-1.0.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.dunce-1.0.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__either-1.9.0",
         sha256 = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07",
         type = "tar.gz",
@@ -914,6 +1071,16 @@
 
     maybe(
         http_archive,
+        name = "cui__encoding_rs-0.8.33",
+        sha256 = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/encoding_rs/0.8.33/download"],
+        strip_prefix = "encoding_rs-0.8.33",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.encoding_rs-0.8.33.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__equivalent-1.0.1",
         sha256 = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5",
         type = "tar.gz",
@@ -944,12 +1111,42 @@
 
     maybe(
         http_archive,
-        name = "cui__fastrand-1.9.0",
-        sha256 = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be",
+        name = "cui__faster-hex-0.8.1",
+        sha256 = "239f7bfb930f820ab16a9cd95afc26f88264cf6905c960b340a615384aa3338a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/fastrand/1.9.0/download"],
-        strip_prefix = "fastrand-1.9.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.fastrand-1.9.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/faster-hex/0.8.1/download"],
+        strip_prefix = "faster-hex-0.8.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.faster-hex-0.8.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__fastrand-2.0.1",
+        sha256 = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/fastrand/2.0.1/download"],
+        strip_prefix = "fastrand-2.0.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.fastrand-2.0.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__filetime-0.2.22",
+        sha256 = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/filetime/0.2.22/download"],
+        strip_prefix = "filetime-0.2.22",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.filetime-0.2.22.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__flate2-1.0.28",
+        sha256 = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/flate2/1.0.28/download"],
+        strip_prefix = "flate2-1.0.28",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.flate2-1.0.28.bazel"),
     )
 
     maybe(
@@ -1004,12 +1201,482 @@
 
     maybe(
         http_archive,
-        name = "cui__git2-0.16.1",
-        sha256 = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc",
+        name = "cui__gix-0.54.1",
+        sha256 = "ad6d32e74454459690d57d18ea4ebec1629936e6b130b51d12cb4a81630ac953",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/git2/0.16.1/download"],
-        strip_prefix = "git2-0.16.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.git2-0.16.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/gix/0.54.1/download"],
+        strip_prefix = "gix-0.54.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-0.54.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-actor-0.27.0",
+        sha256 = "08c60e982c5290897122d4e2622447f014a2dadd5a18cb73d50bb91b31645e27",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-actor/0.27.0/download"],
+        strip_prefix = "gix-actor-0.27.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-actor-0.27.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-attributes-0.19.0",
+        sha256 = "2451665e70709ba4753b623ef97511ee98c4a73816b2c5b5df25678d607ed820",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-attributes/0.19.0/download"],
+        strip_prefix = "gix-attributes-0.19.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-attributes-0.19.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-bitmap-0.2.7",
+        sha256 = "0ccab4bc576844ddb51b78d81b4a42d73e6229660fa614dfc3d3999c874d1959",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-bitmap/0.2.7/download"],
+        strip_prefix = "gix-bitmap-0.2.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-bitmap-0.2.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-chunk-0.4.4",
+        sha256 = "5b42ea64420f7994000130328f3c7a2038f639120518870436d31b8bde704493",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-chunk/0.4.4/download"],
+        strip_prefix = "gix-chunk-0.4.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-chunk-0.4.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-command-0.2.10",
+        sha256 = "3c576cfbf577f72c097b5f88aedea502cd62952bdc1fb3adcab4531d5525a4c7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-command/0.2.10/download"],
+        strip_prefix = "gix-command-0.2.10",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-command-0.2.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-commitgraph-0.21.0",
+        sha256 = "e75a975ee22cf0a002bfe9b5d5cb3d2a88e263a8a178cd7509133cff10f4df8a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-commitgraph/0.21.0/download"],
+        strip_prefix = "gix-commitgraph-0.21.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-commitgraph-0.21.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-config-0.30.0",
+        sha256 = "c171514b40487d3f677ae37efc0f45ac980e3169f23c27eb30a70b47fdf88ab5",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-config/0.30.0/download"],
+        strip_prefix = "gix-config-0.30.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-config-0.30.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-config-value-0.14.0",
+        sha256 = "ea7505b97f4d8e7933e29735a568ba2f86d8de466669d9f0e8321384f9972f47",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-config-value/0.14.0/download"],
+        strip_prefix = "gix-config-value-0.14.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-config-value-0.14.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-credentials-0.20.0",
+        sha256 = "46900b884cc5af6a6c141ee741607c0c651a4e1d33614b8d888a1ba81cc0bc8a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-credentials/0.20.0/download"],
+        strip_prefix = "gix-credentials-0.20.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-credentials-0.20.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-date-0.8.0",
+        sha256 = "fc7df669639582dc7c02737642f76890b03b5544e141caba68a7d6b4eb551e0d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-date/0.8.0/download"],
+        strip_prefix = "gix-date-0.8.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-date-0.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-diff-0.36.0",
+        sha256 = "788ddb152c388206e81f36bcbb574e7ed7827c27d8fa62227b34edc333d8928c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-diff/0.36.0/download"],
+        strip_prefix = "gix-diff-0.36.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-diff-0.36.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-discover-0.25.0",
+        sha256 = "69507643d75a0ea9a402fcf73ced517d2b95cc95385904ac09d03e0b952fde33",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-discover/0.25.0/download"],
+        strip_prefix = "gix-discover-0.25.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-discover-0.25.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-features-0.35.0",
+        sha256 = "9b9ff423ae4983f762659040d13dd7a5defbd54b6a04ac3cc7347741cec828cd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-features/0.35.0/download"],
+        strip_prefix = "gix-features-0.35.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-features-0.35.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-filter-0.5.0",
+        sha256 = "1be40d28cd41445bb6cd52c4d847d915900e5466f7433eaee6a9e0a3d1d88b08",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-filter/0.5.0/download"],
+        strip_prefix = "gix-filter-0.5.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-filter-0.5.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-fs-0.7.0",
+        sha256 = "09815faba62fe9b32d918b75a554686c98e43f7d48c43a80df58eb718e5c6635",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-fs/0.7.0/download"],
+        strip_prefix = "gix-fs-0.7.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-fs-0.7.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-glob-0.13.0",
+        sha256 = "a9d76e85f11251dcf751d2c5e918a14f562db5be6f727fd24775245653e9b19d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-glob/0.13.0/download"],
+        strip_prefix = "gix-glob-0.13.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-glob-0.13.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-hash-0.13.1",
+        sha256 = "1884c7b41ea0875217c1be9ce91322f90bde433e91d374d0e1276073a51ccc60",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-hash/0.13.1/download"],
+        strip_prefix = "gix-hash-0.13.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-hash-0.13.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-hashtable-0.4.0",
+        sha256 = "409268480841ad008e81c17ca5a293393fbf9f2b6c2f85b8ab9de1f0c5176a16",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-hashtable/0.4.0/download"],
+        strip_prefix = "gix-hashtable-0.4.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-hashtable-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-ignore-0.8.0",
+        sha256 = "b048f443a1f6b02da4205c34d2e287e3fd45d75e8e2f06cfb216630ea9bff5e3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-ignore/0.8.0/download"],
+        strip_prefix = "gix-ignore-0.8.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-ignore-0.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-index-0.25.0",
+        sha256 = "f54d63a9d13c13088f41f5a3accbec284e492ac8f4f707fcc307c139622e17b7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-index/0.25.0/download"],
+        strip_prefix = "gix-index-0.25.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-index-0.25.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-lock-10.0.0",
+        sha256 = "47fc96fa8b6b6d33555021907c81eb3b27635daecf6e630630bdad44f8feaa95",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-lock/10.0.0/download"],
+        strip_prefix = "gix-lock-10.0.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-lock-10.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-macros-0.1.0",
+        sha256 = "9d8acb5ee668d55f0f2d19a320a3f9ef67a6999ad483e11135abcc2464ed18b6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-macros/0.1.0/download"],
+        strip_prefix = "gix-macros-0.1.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-macros-0.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-negotiate-0.8.0",
+        sha256 = "6f1697bf9911c6d1b8d709b9e6ef718cb5ea5821a1b7991520125a8134448004",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-negotiate/0.8.0/download"],
+        strip_prefix = "gix-negotiate-0.8.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-negotiate-0.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-object-0.37.0",
+        sha256 = "1e7e19616c67967374137bae83e950e9b518a9ea8a605069bd6716ada357fd6f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-object/0.37.0/download"],
+        strip_prefix = "gix-object-0.37.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-object-0.37.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-odb-0.53.0",
+        sha256 = "8d6a392c6ba3a2f133cdc63120e9bc7aec81eef763db372c817de31febfe64bf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-odb/0.53.0/download"],
+        strip_prefix = "gix-odb-0.53.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-odb-0.53.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-pack-0.43.0",
+        sha256 = "7536203a45b31e1bc5694bbf90ba8da1b736c77040dd6a520db369f371eb1ab3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-pack/0.43.0/download"],
+        strip_prefix = "gix-pack-0.43.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-pack-0.43.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-packetline-0.16.7",
+        sha256 = "8a8384b1e964151aff0d5632dd9b191059d07dff358b96bd940f1b452600d7ab",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-packetline/0.16.7/download"],
+        strip_prefix = "gix-packetline-0.16.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-packetline-0.16.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-packetline-blocking-0.16.6",
+        sha256 = "7d8395f7501c84d6a1fe902035fdfd8cd86d89e2dd6be0200ec1a72fd3c92d39",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-packetline-blocking/0.16.6/download"],
+        strip_prefix = "gix-packetline-blocking-0.16.6",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-packetline-blocking-0.16.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-path-0.10.0",
+        sha256 = "6a1d370115171e3ae03c5c6d4f7d096f2981a40ddccb98dfd704c773530ba73b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-path/0.10.0/download"],
+        strip_prefix = "gix-path-0.10.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-path-0.10.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-pathspec-0.3.0",
+        sha256 = "c3e26c9b47c51be73f98d38c84494bd5fb99334c5d6fda14ef5d036d50a9e5fd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-pathspec/0.3.0/download"],
+        strip_prefix = "gix-pathspec-0.3.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-pathspec-0.3.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-prompt-0.7.0",
+        sha256 = "5c9a913769516f5e9d937afac206fb76428e3d7238e538845842887fda584678",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-prompt/0.7.0/download"],
+        strip_prefix = "gix-prompt-0.7.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-prompt-0.7.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-protocol-0.40.0",
+        sha256 = "cc7b700dc20cc9be8a5130a1fd7e10c34117ffa7068431c8c24d963f0a2e0c9b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-protocol/0.40.0/download"],
+        strip_prefix = "gix-protocol-0.40.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-protocol-0.40.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-quote-0.4.7",
+        sha256 = "475c86a97dd0127ba4465fbb239abac9ea10e68301470c9791a6dd5351cdc905",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-quote/0.4.7/download"],
+        strip_prefix = "gix-quote-0.4.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-quote-0.4.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-ref-0.37.0",
+        sha256 = "22e6b749660b613641769edc1954132eb8071a13c32224891686091bef078de4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-ref/0.37.0/download"],
+        strip_prefix = "gix-ref-0.37.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-ref-0.37.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-refspec-0.18.0",
+        sha256 = "0895cb7b1e70f3c3bd4550c329e9f5caf2975f97fcd4238e05754e72208ef61e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-refspec/0.18.0/download"],
+        strip_prefix = "gix-refspec-0.18.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-refspec-0.18.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-revision-0.22.0",
+        sha256 = "c8c4b15cf2ab7a35f5bcb3ef146187c8d36df0177e171ca061913cbaaa890e89",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-revision/0.22.0/download"],
+        strip_prefix = "gix-revision-0.22.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-revision-0.22.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-revwalk-0.8.0",
+        sha256 = "e9870c6b1032f2084567710c3b2106ac603377f8d25766b8a6b7c33e6e3ca279",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-revwalk/0.8.0/download"],
+        strip_prefix = "gix-revwalk-0.8.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-revwalk-0.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-sec-0.10.0",
+        sha256 = "92b9542ac025a8c02ed5d17b3fc031a111a384e859d0be3532ec4d58c40a0f28",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-sec/0.10.0/download"],
+        strip_prefix = "gix-sec-0.10.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-sec-0.10.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-submodule-0.4.0",
+        sha256 = "dd0150e82e9282d3f2ab2dd57a22f9f6c3447b9d9856e5321ac92d38e3e0e2b7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-submodule/0.4.0/download"],
+        strip_prefix = "gix-submodule-0.4.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-submodule-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-tempfile-10.0.0",
+        sha256 = "5ae0978f3e11dc57290ee75ac2477c815bca1ce2fa7ed5dc5f16db067410ac4d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-tempfile/10.0.0/download"],
+        strip_prefix = "gix-tempfile-10.0.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-tempfile-10.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-trace-0.1.3",
+        sha256 = "96b6d623a1152c3facb79067d6e2ecdae48130030cf27d6eb21109f13bd7b836",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-trace/0.1.3/download"],
+        strip_prefix = "gix-trace-0.1.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-trace-0.1.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-transport-0.37.0",
+        sha256 = "b9ec726e6a245e68ace59a34126a1d679de60360676612985e70b0d3b102fb4e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-transport/0.37.0/download"],
+        strip_prefix = "gix-transport-0.37.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-transport-0.37.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-traverse-0.33.0",
+        sha256 = "22ef04ab3643acba289b5cedd25d6f53c0430770b1d689d1d654511e6fb81ba0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-traverse/0.33.0/download"],
+        strip_prefix = "gix-traverse-0.33.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-traverse-0.33.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-url-0.24.0",
+        sha256 = "6125ecf46e8c68bf7202da6cad239831daebf0247ffbab30210d72f3856e420f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-url/0.24.0/download"],
+        strip_prefix = "gix-url-0.24.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-url-0.24.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-utils-0.1.5",
+        sha256 = "b85d89dc728613e26e0ed952a19583744e7f5240fcd4aa30d6c824ffd8b52f0f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-utils/0.1.5/download"],
+        strip_prefix = "gix-utils-0.1.5",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-utils-0.1.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-validate-0.8.0",
+        sha256 = "e05cab2b03a45b866156e052aa38619f4ece4adcb2f79978bfc249bc3b21b8c5",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-validate/0.8.0/download"],
+        strip_prefix = "gix-validate-0.8.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-validate-0.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__gix-worktree-0.26.0",
+        sha256 = "9f5e32972801bd82d56609e6fc84efc358fa1f11f25c5e83b7807ee2280f14fe",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/gix-worktree/0.26.0/download"],
+        strip_prefix = "gix-worktree-0.26.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.gix-worktree-0.26.0.bazel"),
     )
 
     maybe(
@@ -1034,22 +1701,12 @@
 
     maybe(
         http_archive,
-        name = "cui__hashbrown-0.12.3",
-        sha256 = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888",
+        name = "cui__hashbrown-0.14.3",
+        sha256 = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/hashbrown/0.12.3/download"],
-        strip_prefix = "hashbrown-0.12.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.hashbrown-0.12.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "cui__hashbrown-0.14.0",
-        sha256 = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/hashbrown/0.14.0/download"],
-        strip_prefix = "hashbrown-0.14.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.hashbrown-0.14.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/hashbrown/0.14.3/download"],
+        strip_prefix = "hashbrown-0.14.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.hashbrown-0.14.3.bazel"),
     )
 
     maybe(
@@ -1144,32 +1801,22 @@
 
     maybe(
         http_archive,
-        name = "cui__indexmap-2.0.0",
-        sha256 = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d",
+        name = "cui__indexmap-2.1.0",
+        sha256 = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/indexmap/2.0.0/download"],
-        strip_prefix = "indexmap-2.0.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.indexmap-2.0.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/indexmap/2.1.0/download"],
+        strip_prefix = "indexmap-2.1.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.indexmap-2.1.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__indoc-2.0.2",
-        sha256 = "761cde40c27e2a9877f8c928fd248b7eec9dd48623dd514b256858ca593fbba7",
+        name = "cui__indoc-2.0.4",
+        sha256 = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/indoc/2.0.2/download"],
-        strip_prefix = "indoc-2.0.2",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.indoc-2.0.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "cui__instant-0.1.12",
-        sha256 = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/instant/0.1.12/download"],
-        strip_prefix = "instant-0.1.12",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.instant-0.1.12.bazel"),
+        urls = ["https://crates.io/api/v1/crates/indoc/2.0.4/download"],
+        strip_prefix = "indoc-2.0.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.indoc-2.0.4.bazel"),
     )
 
     maybe(
@@ -1194,12 +1841,12 @@
 
     maybe(
         http_archive,
-        name = "cui__itertools-0.11.0",
-        sha256 = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57",
+        name = "cui__itertools-0.12.0",
+        sha256 = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/itertools/0.11.0/download"],
-        strip_prefix = "itertools-0.11.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.itertools-0.11.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/itertools/0.12.0/download"],
+        strip_prefix = "itertools-0.12.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.itertools-0.12.0.bazel"),
     )
 
     maybe(
@@ -1214,16 +1861,6 @@
 
     maybe(
         http_archive,
-        name = "cui__jobserver-0.1.26",
-        sha256 = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/jobserver/0.1.26/download"],
-        strip_prefix = "jobserver-0.1.26",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.jobserver-0.1.26.bazel"),
-    )
-
-    maybe(
-        http_archive,
         name = "cui__js-sys-0.3.64",
         sha256 = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a",
         type = "tar.gz",
@@ -1234,6 +1871,16 @@
 
     maybe(
         http_archive,
+        name = "cui__jwalk-0.8.1",
+        sha256 = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/jwalk/0.8.1/download"],
+        strip_prefix = "jwalk-0.8.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.jwalk-0.8.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__lazy_static-1.4.0",
         sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
         type = "tar.gz",
@@ -1244,22 +1891,12 @@
 
     maybe(
         http_archive,
-        name = "cui__libc-0.2.147",
-        sha256 = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3",
+        name = "cui__libc-0.2.149",
+        sha256 = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libc/0.2.147/download"],
-        strip_prefix = "libc-0.2.147",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libc-0.2.147.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "cui__libgit2-sys-0.14.2-1.5.1",
-        sha256 = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libgit2-sys/0.14.2+1.5.1/download"],
-        strip_prefix = "libgit2-sys-0.14.2+1.5.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libgit2-sys-0.14.2+1.5.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.149/download"],
+        strip_prefix = "libc-0.2.149",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libc-0.2.149.bazel"),
     )
 
     maybe(
@@ -1274,16 +1911,6 @@
 
     maybe(
         http_archive,
-        name = "cui__libz-sys-1.1.9",
-        sha256 = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libz-sys/1.1.9/download"],
-        strip_prefix = "libz-sys-1.1.9",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libz-sys-1.1.9.bazel"),
-    )
-
-    maybe(
-        http_archive,
         name = "cui__linux-raw-sys-0.3.8",
         sha256 = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519",
         type = "tar.gz",
@@ -1294,6 +1921,26 @@
 
     maybe(
         http_archive,
+        name = "cui__linux-raw-sys-0.4.10",
+        sha256 = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/linux-raw-sys/0.4.10/download"],
+        strip_prefix = "linux-raw-sys-0.4.10",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.linux-raw-sys-0.4.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__lock_api-0.4.11",
+        sha256 = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.11/download"],
+        strip_prefix = "lock_api-0.4.11",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.lock_api-0.4.11.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__log-0.4.19",
         sha256 = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4",
         type = "tar.gz",
@@ -1314,12 +1961,52 @@
 
     maybe(
         http_archive,
-        name = "cui__memchr-2.5.0",
-        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
+        name = "cui__maybe-async-0.2.7",
+        sha256 = "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
-        strip_prefix = "memchr-2.5.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/maybe-async/0.2.7/download"],
+        strip_prefix = "maybe-async-0.2.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.maybe-async-0.2.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__memchr-2.6.4",
+        sha256 = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/memchr/2.6.4/download"],
+        strip_prefix = "memchr-2.6.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.memchr-2.6.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__memmap2-0.7.1",
+        sha256 = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/memmap2/0.7.1/download"],
+        strip_prefix = "memmap2-0.7.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.memmap2-0.7.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__memoffset-0.9.0",
+        sha256 = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/memoffset/0.9.0/download"],
+        strip_prefix = "memoffset-0.9.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.memoffset-0.9.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__miniz_oxide-0.7.1",
+        sha256 = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/miniz_oxide/0.7.1/download"],
+        strip_prefix = "miniz_oxide-0.7.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.miniz_oxide-0.7.1.bazel"),
     )
 
     maybe(
@@ -1334,6 +2021,16 @@
 
     maybe(
         http_archive,
+        name = "cui__nu-ansi-term-0.46.0",
+        sha256 = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/nu-ansi-term/0.46.0/download"],
+        strip_prefix = "nu-ansi-term-0.46.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.nu-ansi-term-0.46.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__num-0.1.42",
         sha256 = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e",
         type = "tar.gz",
@@ -1404,6 +2101,16 @@
 
     maybe(
         http_archive,
+        name = "cui__num_threads-0.1.6",
+        sha256 = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num_threads/0.1.6/download"],
+        strip_prefix = "num_threads-0.1.6",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.num_threads-0.1.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__once_cell-1.18.0",
         sha256 = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d",
         type = "tar.gz",
@@ -1414,6 +2121,36 @@
 
     maybe(
         http_archive,
+        name = "cui__overload-0.1.1",
+        sha256 = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/overload/0.1.1/download"],
+        strip_prefix = "overload-0.1.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.overload-0.1.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__parking_lot-0.12.1",
+        sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot/0.12.1/download"],
+        strip_prefix = "parking_lot-0.12.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.parking_lot-0.12.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__parking_lot_core-0.9.9",
+        sha256 = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.9/download"],
+        strip_prefix = "parking_lot_core-0.9.9",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.parking_lot_core-0.9.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__parse-zoneinfo-0.3.0",
         sha256 = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41",
         type = "tar.gz",
@@ -1484,52 +2221,62 @@
 
     maybe(
         http_archive,
-        name = "cui__phf-0.10.1",
-        sha256 = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259",
+        name = "cui__phf-0.11.2",
+        sha256 = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/phf/0.10.1/download"],
-        strip_prefix = "phf-0.10.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf-0.10.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/phf/0.11.2/download"],
+        strip_prefix = "phf-0.11.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf-0.11.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__phf_codegen-0.10.0",
-        sha256 = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd",
+        name = "cui__phf_codegen-0.11.2",
+        sha256 = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/phf_codegen/0.10.0/download"],
-        strip_prefix = "phf_codegen-0.10.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf_codegen-0.10.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/phf_codegen/0.11.2/download"],
+        strip_prefix = "phf_codegen-0.11.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf_codegen-0.11.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__phf_generator-0.10.0",
-        sha256 = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6",
+        name = "cui__phf_generator-0.11.2",
+        sha256 = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/phf_generator/0.10.0/download"],
-        strip_prefix = "phf_generator-0.10.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf_generator-0.10.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/phf_generator/0.11.2/download"],
+        strip_prefix = "phf_generator-0.11.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf_generator-0.11.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__phf_shared-0.10.0",
-        sha256 = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096",
+        name = "cui__phf_shared-0.11.2",
+        sha256 = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/phf_shared/0.10.0/download"],
-        strip_prefix = "phf_shared-0.10.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf_shared-0.10.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/phf_shared/0.11.2/download"],
+        strip_prefix = "phf_shared-0.11.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.phf_shared-0.11.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__pkg-config-0.3.27",
-        sha256 = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964",
+        name = "cui__pin-project-lite-0.2.13",
+        sha256 = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.27/download"],
-        strip_prefix = "pkg-config-0.3.27",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.pkg-config-0.3.27.bazel"),
+        urls = ["https://crates.io/api/v1/crates/pin-project-lite/0.2.13/download"],
+        strip_prefix = "pin-project-lite-0.2.13",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.pin-project-lite-0.2.13.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__powerfmt-0.2.0",
+        sha256 = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/powerfmt/0.2.0/download"],
+        strip_prefix = "powerfmt-0.2.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.powerfmt-0.2.0.bazel"),
     )
 
     maybe(
@@ -1554,6 +2301,16 @@
 
     maybe(
         http_archive,
+        name = "cui__prodash-26.2.2",
+        sha256 = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/prodash/26.2.2/download"],
+        strip_prefix = "prodash-26.2.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.prodash-26.2.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__quote-1.0.29",
         sha256 = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105",
         type = "tar.gz",
@@ -1624,6 +2381,26 @@
 
     maybe(
         http_archive,
+        name = "cui__rayon-1.8.0",
+        sha256 = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rayon/1.8.0/download"],
+        strip_prefix = "rayon-1.8.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.rayon-1.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__rayon-core-1.12.0",
+        sha256 = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rayon-core/1.12.0/download"],
+        strip_prefix = "rayon-core-1.12.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.rayon-core-1.12.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__rdrand-0.4.0",
         sha256 = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2",
         type = "tar.gz",
@@ -1644,12 +2421,22 @@
 
     maybe(
         http_archive,
-        name = "cui__regex-1.9.1",
-        sha256 = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575",
+        name = "cui__redox_syscall-0.4.1",
+        sha256 = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/regex/1.9.1/download"],
-        strip_prefix = "regex-1.9.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-1.9.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.4.1/download"],
+        strip_prefix = "redox_syscall-0.4.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.redox_syscall-0.4.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__regex-1.10.2",
+        sha256 = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/regex/1.10.2/download"],
+        strip_prefix = "regex-1.10.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-1.10.2.bazel"),
     )
 
     maybe(
@@ -1664,12 +2451,22 @@
 
     maybe(
         http_archive,
-        name = "cui__regex-syntax-0.7.4",
-        sha256 = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2",
+        name = "cui__regex-automata-0.4.3",
+        sha256 = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.7.4/download"],
-        strip_prefix = "regex-syntax-0.7.4",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-syntax-0.7.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/regex-automata/0.4.3/download"],
+        strip_prefix = "regex-automata-0.4.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-automata-0.4.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__regex-syntax-0.8.2",
+        sha256 = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.8.2/download"],
+        strip_prefix = "regex-syntax-0.8.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-syntax-0.8.2.bazel"),
     )
 
     maybe(
@@ -1684,12 +2481,12 @@
 
     maybe(
         http_archive,
-        name = "cui__rustc-serialize-0.3.24",
-        sha256 = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda",
+        name = "cui__rustc-serialize-0.3.25",
+        sha256 = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/rustc-serialize/0.3.24/download"],
-        strip_prefix = "rustc-serialize-0.3.24",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.rustc-serialize-0.3.24.bazel"),
+        urls = ["https://crates.io/api/v1/crates/rustc-serialize/0.3.25/download"],
+        strip_prefix = "rustc-serialize-0.3.25",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.rustc-serialize-0.3.25.bazel"),
     )
 
     maybe(
@@ -1704,6 +2501,16 @@
 
     maybe(
         http_archive,
+        name = "cui__rustix-0.38.21",
+        sha256 = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rustix/0.38.21/download"],
+        strip_prefix = "rustix-0.38.21",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.rustix-0.38.21.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__ryu-1.0.14",
         sha256 = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9",
         type = "tar.gz",
@@ -1724,72 +2531,102 @@
 
     maybe(
         http_archive,
-        name = "cui__semver-1.0.17",
-        sha256 = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed",
+        name = "cui__scopeguard-1.2.0",
+        sha256 = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/semver/1.0.17/download"],
-        strip_prefix = "semver-1.0.17",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.semver-1.0.17.bazel"),
+        urls = ["https://crates.io/api/v1/crates/scopeguard/1.2.0/download"],
+        strip_prefix = "scopeguard-1.2.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.scopeguard-1.2.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__serde-1.0.171",
-        sha256 = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9",
+        name = "cui__semver-1.0.20",
+        sha256 = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde/1.0.171/download"],
-        strip_prefix = "serde-1.0.171",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde-1.0.171.bazel"),
+        urls = ["https://crates.io/api/v1/crates/semver/1.0.20/download"],
+        strip_prefix = "semver-1.0.20",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.semver-1.0.20.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__serde_derive-1.0.171",
-        sha256 = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682",
+        name = "cui__serde-1.0.190",
+        sha256 = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde_derive/1.0.171/download"],
-        strip_prefix = "serde_derive-1.0.171",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_derive-1.0.171.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde/1.0.190/download"],
+        strip_prefix = "serde-1.0.190",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde-1.0.190.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__serde_json-1.0.102",
-        sha256 = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed",
+        name = "cui__serde_derive-1.0.190",
+        sha256 = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.102/download"],
-        strip_prefix = "serde_json-1.0.102",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_json-1.0.102.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde_derive/1.0.190/download"],
+        strip_prefix = "serde_derive-1.0.190",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_derive-1.0.190.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__serde_spanned-0.6.3",
-        sha256 = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186",
+        name = "cui__serde_json-1.0.108",
+        sha256 = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde_spanned/0.6.3/download"],
-        strip_prefix = "serde_spanned-0.6.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_spanned-0.6.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.108/download"],
+        strip_prefix = "serde_json-1.0.108",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_json-1.0.108.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__serde_starlark-0.1.13",
-        sha256 = "aad4897b935e391e9d77c246f5945940956fbfc91511d6749cc30df7d75ff55c",
+        name = "cui__serde_spanned-0.6.5",
+        sha256 = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde_starlark/0.1.13/download"],
-        strip_prefix = "serde_starlark-0.1.13",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_starlark-0.1.13.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde_spanned/0.6.5/download"],
+        strip_prefix = "serde_spanned-0.6.5",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_spanned-0.6.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__sha2-0.10.7",
-        sha256 = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8",
+        name = "cui__serde_starlark-0.1.14",
+        sha256 = "29675b116dd4c7ab4012e00e71f6dee9ed8c731108468b4434779c6b9eec7957",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/sha2/0.10.7/download"],
-        strip_prefix = "sha2-0.10.7",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.sha2-0.10.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde_starlark/0.1.14/download"],
+        strip_prefix = "serde_starlark-0.1.14",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_starlark-0.1.14.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__sha1_smol-1.0.0",
+        sha256 = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/sha1_smol/1.0.0/download"],
+        strip_prefix = "sha1_smol-1.0.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.sha1_smol-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__sha2-0.10.8",
+        sha256 = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/sha2/0.10.8/download"],
+        strip_prefix = "sha2-0.10.8",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.sha2-0.10.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__sharded-slab-0.1.7",
+        sha256 = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/sharded-slab/0.1.7/download"],
+        strip_prefix = "sharded-slab-0.1.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.sharded-slab-0.1.7.bazel"),
     )
 
     maybe(
@@ -1844,6 +2681,16 @@
 
     maybe(
         http_archive,
+        name = "cui__spdx-0.10.3",
+        sha256 = "62bde1398b09b9f93fc2fc9b9da86e362693e999d3a54a8ac47a99a5a73f638b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/spdx/0.10.3/download"],
+        strip_prefix = "spdx-0.10.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.spdx-0.10.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__spectral-0.6.0",
         sha256 = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba",
         type = "tar.gz",
@@ -1864,32 +2711,42 @@
 
     maybe(
         http_archive,
-        name = "cui__syn-2.0.25",
-        sha256 = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2",
+        name = "cui__syn-1.0.109",
+        sha256 = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/syn/2.0.25/download"],
-        strip_prefix = "syn-2.0.25",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.syn-2.0.25.bazel"),
+        urls = ["https://crates.io/api/v1/crates/syn/1.0.109/download"],
+        strip_prefix = "syn-1.0.109",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.syn-1.0.109.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__tempfile-3.6.0",
-        sha256 = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6",
+        name = "cui__syn-2.0.32",
+        sha256 = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tempfile/3.6.0/download"],
-        strip_prefix = "tempfile-3.6.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tempfile-3.6.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/syn/2.0.32/download"],
+        strip_prefix = "syn-2.0.32",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.syn-2.0.32.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__tera-1.19.0",
-        sha256 = "a5ab29bb4f3e256ae6ad5c3e2775aa1f8829f2c0c101fc407bfd3a6df15c60c5",
+        name = "cui__tempfile-3.8.1",
+        sha256 = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tera/1.19.0/download"],
-        strip_prefix = "tera-1.19.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tera-1.19.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tempfile/3.8.1/download"],
+        strip_prefix = "tempfile-3.8.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tempfile-3.8.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__tera-1.19.1",
+        sha256 = "970dff17c11e884a4a09bc76e3a17ef71e01bb13447a11e85226e254fe6d10b8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tera/1.19.1/download"],
+        strip_prefix = "tera-1.19.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tera-1.19.1.bazel"),
     )
 
     maybe(
@@ -1904,22 +2761,22 @@
 
     maybe(
         http_archive,
-        name = "cui__thiserror-1.0.43",
-        sha256 = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42",
+        name = "cui__thiserror-1.0.50",
+        sha256 = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/thiserror/1.0.43/download"],
-        strip_prefix = "thiserror-1.0.43",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.thiserror-1.0.43.bazel"),
+        urls = ["https://crates.io/api/v1/crates/thiserror/1.0.50/download"],
+        strip_prefix = "thiserror-1.0.50",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.thiserror-1.0.50.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "cui__thiserror-impl-1.0.43",
-        sha256 = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f",
+        name = "cui__thiserror-impl-1.0.50",
+        sha256 = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/thiserror-impl/1.0.43/download"],
-        strip_prefix = "thiserror-impl-1.0.43",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.thiserror-impl-1.0.43.bazel"),
+        urls = ["https://crates.io/api/v1/crates/thiserror-impl/1.0.50/download"],
+        strip_prefix = "thiserror-impl-1.0.50",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.thiserror-impl-1.0.50.bazel"),
     )
 
     maybe(
@@ -1934,6 +2791,36 @@
 
     maybe(
         http_archive,
+        name = "cui__time-0.3.30",
+        sha256 = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/time/0.3.30/download"],
+        strip_prefix = "time-0.3.30",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.time-0.3.30.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__time-core-0.1.2",
+        sha256 = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/time-core/0.1.2/download"],
+        strip_prefix = "time-core-0.1.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.time-core-0.1.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__time-macros-0.2.15",
+        sha256 = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/time-macros/0.2.15/download"],
+        strip_prefix = "time-macros-0.2.15",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.time-macros-0.2.15.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__tinyvec-1.6.0",
         sha256 = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50",
         type = "tar.gz",
@@ -1964,12 +2851,22 @@
 
     maybe(
         http_archive,
-        name = "cui__toml_datetime-0.6.3",
-        sha256 = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b",
+        name = "cui__toml-0.8.10",
+        sha256 = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/toml_datetime/0.6.3/download"],
-        strip_prefix = "toml_datetime-0.6.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.toml_datetime-0.6.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/toml/0.8.10/download"],
+        strip_prefix = "toml-0.8.10",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.toml-0.8.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__toml_datetime-0.6.5",
+        sha256 = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/toml_datetime/0.6.5/download"],
+        strip_prefix = "toml_datetime-0.6.5",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.toml_datetime-0.6.5.bazel"),
     )
 
     maybe(
@@ -1984,6 +2881,66 @@
 
     maybe(
         http_archive,
+        name = "cui__toml_edit-0.22.4",
+        sha256 = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/toml_edit/0.22.4/download"],
+        strip_prefix = "toml_edit-0.22.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.toml_edit-0.22.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__tracing-0.1.40",
+        sha256 = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing/0.1.40/download"],
+        strip_prefix = "tracing-0.1.40",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tracing-0.1.40.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__tracing-attributes-0.1.27",
+        sha256 = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-attributes/0.1.27/download"],
+        strip_prefix = "tracing-attributes-0.1.27",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tracing-attributes-0.1.27.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__tracing-core-0.1.32",
+        sha256 = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-core/0.1.32/download"],
+        strip_prefix = "tracing-core-0.1.32",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tracing-core-0.1.32.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__tracing-log-0.1.4",
+        sha256 = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-log/0.1.4/download"],
+        strip_prefix = "tracing-log-0.1.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tracing-log-0.1.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__tracing-subscriber-0.3.17",
+        sha256 = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-subscriber/0.3.17/download"],
+        strip_prefix = "tracing-subscriber-0.3.17",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tracing-subscriber-0.3.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__typenum-1.16.0",
         sha256 = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba",
         type = "tar.gz",
@@ -2004,12 +2961,12 @@
 
     maybe(
         http_archive,
-        name = "cui__uncased-0.9.9",
-        sha256 = "9b9bc53168a4be7402ab86c3aad243a84dd7381d09be0eddc81280c1da95ca68",
+        name = "cui__uluru-3.0.0",
+        sha256 = "794a32261a1f5eb6a4462c81b59cec87b5c27d5deea7dd1ac8fc781c41d226db",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/uncased/0.9.9/download"],
-        strip_prefix = "uncased-0.9.9",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.uncased-0.9.9.bazel"),
+        urls = ["https://crates.io/api/v1/crates/uluru/3.0.0/download"],
+        strip_prefix = "uluru-3.0.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.uluru-3.0.0.bazel"),
     )
 
     maybe(
@@ -2084,6 +3041,16 @@
 
     maybe(
         http_archive,
+        name = "cui__unicode-bom-2.0.2",
+        sha256 = "98e90c70c9f0d4d1ee6d0a7d04aa06cb9bbd53d8cfbdd62a0269a7c2eb640552",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-bom/2.0.2/download"],
+        strip_prefix = "unicode-bom-2.0.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-bom-2.0.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "cui__unicode-ident-1.0.10",
         sha256 = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73",
         type = "tar.gz",
@@ -2094,12 +3061,12 @@
 
     maybe(
         http_archive,
-        name = "cui__unicode-linebreak-0.1.4",
-        sha256 = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137",
+        name = "cui__unicode-linebreak-0.1.5",
+        sha256 = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-linebreak/0.1.4/download"],
-        strip_prefix = "unicode-linebreak-0.1.4",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-linebreak-0.1.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-linebreak/0.1.5/download"],
+        strip_prefix = "unicode-linebreak-0.1.5",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-linebreak-0.1.5.bazel"),
     )
 
     maybe(
@@ -2144,12 +3111,12 @@
 
     maybe(
         http_archive,
-        name = "cui__vcpkg-0.2.15",
-        sha256 = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426",
+        name = "cui__valuable-0.1.0",
+        sha256 = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/vcpkg/0.2.15/download"],
-        strip_prefix = "vcpkg-0.2.15",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.vcpkg-0.2.15.bazel"),
+        urls = ["https://crates.io/api/v1/crates/valuable/0.1.0/download"],
+        strip_prefix = "valuable-0.1.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.valuable-0.1.0.bazel"),
     )
 
     maybe(
@@ -2374,10 +3341,42 @@
 
     maybe(
         http_archive,
-        name = "cui__winnow-0.5.0",
-        sha256 = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7",
+        name = "cui__winnow-0.5.18",
+        sha256 = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/winnow/0.5.0/download"],
-        strip_prefix = "winnow-0.5.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.winnow-0.5.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/winnow/0.5.18/download"],
+        strip_prefix = "winnow-0.5.18",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.winnow-0.5.18.bazel"),
     )
+
+    return [
+        struct(repo = "cui__anyhow-1.0.75", is_dev_dep = False),
+        struct(repo = "cui__camino-1.1.6", is_dev_dep = False),
+        struct(repo = "cui__cargo-lock-9.0.0", is_dev_dep = False),
+        struct(repo = "cui__cargo-platform-0.1.4", is_dev_dep = False),
+        struct(repo = "cui__cargo_metadata-0.18.1", is_dev_dep = False),
+        struct(repo = "cui__cargo_toml-0.17.1", is_dev_dep = False),
+        struct(repo = "cui__cfg-expr-0.15.5", is_dev_dep = False),
+        struct(repo = "cui__clap-4.3.11", is_dev_dep = False),
+        struct(repo = "cui__crates-index-2.2.0", is_dev_dep = False),
+        struct(repo = "cui__hex-0.4.3", is_dev_dep = False),
+        struct(repo = "cui__indoc-2.0.4", is_dev_dep = False),
+        struct(repo = "cui__itertools-0.12.0", is_dev_dep = False),
+        struct(repo = "cui__normpath-1.1.1", is_dev_dep = False),
+        struct(repo = "cui__pathdiff-0.2.1", is_dev_dep = False),
+        struct(repo = "cui__regex-1.10.2", is_dev_dep = False),
+        struct(repo = "cui__semver-1.0.20", is_dev_dep = False),
+        struct(repo = "cui__serde-1.0.190", is_dev_dep = False),
+        struct(repo = "cui__serde_json-1.0.108", is_dev_dep = False),
+        struct(repo = "cui__serde_starlark-0.1.14", is_dev_dep = False),
+        struct(repo = "cui__sha2-0.10.8", is_dev_dep = False),
+        struct(repo = "cui__spdx-0.10.3", is_dev_dep = False),
+        struct(repo = "cui__tempfile-3.8.1", is_dev_dep = False),
+        struct(repo = "cui__tera-1.19.1", is_dev_dep = False),
+        struct(repo = "cui__textwrap-0.16.0", is_dev_dep = False),
+        struct(repo = "cui__toml-0.8.10", is_dev_dep = False),
+        struct(repo = "cui__tracing-0.1.40", is_dev_dep = False),
+        struct(repo = "cui__tracing-subscriber-0.3.17", is_dev_dep = False),
+        struct(repo = "cui__maplit-1.0.2", is_dev_dep = True),
+        struct(repo = "cui__spectral-0.6.0", is_dev_dep = True),
+    ]
diff --git a/crate_universe/3rdparty/third_party_deps.bzl b/crate_universe/3rdparty/third_party_deps.bzl
index 9e3ebb6..2876d1f 100644
--- a/crate_universe/3rdparty/third_party_deps.bzl
+++ b/crate_universe/3rdparty/third_party_deps.bzl
@@ -1,28 +1,4 @@
 """Third party dependencies of `cargo-bazel`"""
 
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
-
 def third_party_deps():
-    maybe(
-        http_archive,
-        name = "zlib",
-        build_file = Label("//crate_universe/3rdparty:BUILD.zlib.bazel"),
-        sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
-        strip_prefix = "zlib-1.2.11",
-        urls = [
-            "https://zlib.net/zlib-1.2.11.tar.gz",
-            "https://storage.googleapis.com/mirror.tensorflow.org/zlib.net/zlib-1.2.11.tar.gz",
-        ],
-    )
-
-    maybe(
-        http_archive,
-        name = "libgit2",
-        build_file = Label("//crate_universe/3rdparty:BUILD.libgit2.bazel"),
-        sha256 = "d25866a4ee275a64f65be2d9a663680a5cf1ed87b7ee4c534997562c828e500d",
-        # The version here should match the version used with the Rust crate `libgit2-sys`
-        # https://github.com/rust-lang/git2-rs/tree/libgit2-sys-0.15.2+1.6.4/libgit2-sys
-        strip_prefix = "libgit2-1.6.4",
-        urls = ["https://github.com/libgit2/libgit2/archive/refs/tags/v1.6.4.tar.gz"],
-    )
+    pass
diff --git a/crate_universe/BUILD.bazel b/crate_universe/BUILD.bazel
index a8f9abb..370dc5c 100644
--- a/crate_universe/BUILD.bazel
+++ b/crate_universe/BUILD.bazel
@@ -4,7 +4,11 @@
 load("//crate_universe:version.bzl", "VERSION")
 
 exports_files(
-    glob(["src/**"]) + [
+    glob([
+        "src/**/*.bzl",
+        "src/**/*.j2",
+        "src/**/*.rs",
+    ]) + [
         "Cargo.toml",
         "Cargo.lock",
         "defs.bzl",
@@ -33,8 +37,9 @@
 filegroup(
     name = "rust_srcs",
     srcs = glob([
-        "src/**/*.rs",
+        "src/**/*.bzl",
         "src/**/*.j2",
+        "src/**/*.rs",
     ]),
     visibility = ["//:__subpackages__"],
 )
diff --git a/crate_universe/Cargo.lock b/crate_universe/Cargo.lock
index db2c221..ffd54e1 100644
--- a/crate_universe/Cargo.lock
+++ b/crate_universe/Cargo.lock
@@ -3,15 +3,10 @@
 version = 3
 
 [[package]]
-name = "ahash"
-version = "0.7.6"
+name = "adler"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
@@ -88,9 +83,21 @@
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+
+[[package]]
+name = "arc-swap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
 name = "autocfg"
@@ -105,6 +112,12 @@
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
 name = "block-buffer"
 version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -120,16 +133,32 @@
 checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
 dependencies = [
  "memchr",
+ "regex-automata 0.3.3",
  "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.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
 
 [[package]]
+name = "byteyarn"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7534301c0ea17abb4db06d75efc7b4b0fa360fce8e175a4330d721c71c942ff"
+
+[[package]]
 name = "camino"
 version = "1.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -140,9 +169,10 @@
 
 [[package]]
 name = "cargo-bazel"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
  "anyhow",
+ "camino",
  "cargo-lock",
  "cargo-platform",
  "cargo_metadata",
@@ -162,11 +192,14 @@
  "serde_json",
  "serde_starlark",
  "sha2",
+ "spdx",
  "spectral",
  "tempfile",
  "tera",
  "textwrap",
- "toml",
+ "toml 0.8.10",
+ "tracing",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -177,24 +210,24 @@
 dependencies = [
  "semver",
  "serde",
- "toml",
+ "toml 0.7.6",
  "url",
 ]
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.3"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
+checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "cargo_metadata"
-version = "0.15.4"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
 dependencies = [
  "camino",
  "cargo-platform",
@@ -206,12 +239,12 @@
 
 [[package]]
 name = "cargo_toml"
-version = "0.15.3"
+version = "0.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838"
+checksum = "4d1ece59890e746567b467253aea0adbe8a21784d0b025d8a306f66c391c2957"
 dependencies = [
  "serde",
- "toml",
+ "toml 0.8.10",
 ]
 
 [[package]]
@@ -219,15 +252,12 @@
 version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-dependencies = [
- "jobserver",
-]
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.3"
+version = "0.15.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
+checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
 dependencies = [
  "smallvec",
 ]
@@ -252,9 +282,9 @@
 
 [[package]]
 name = "chrono-tz"
-version = "0.6.1"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58549f1842da3080ce63002102d5bc954c7bc843d4f47818e642abdc36253552"
+checksum = "e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76"
 dependencies = [
  "chrono",
  "chrono-tz-build",
@@ -263,9 +293,9 @@
 
 [[package]]
 name = "chrono-tz-build"
-version = "0.0.2"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db058d493fb2f65f41861bfed7e3fe6335264a9f0f92710cab5bdf01fef09069"
+checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f"
 dependencies = [
  "parse-zoneinfo",
  "phf",
@@ -304,7 +334,7 @@
  "heck",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.32",
 ]
 
 [[package]]
@@ -314,6 +344,12 @@
 checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
 
 [[package]]
+name = "clru"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807"
+
+[[package]]
 name = "colorchoice"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -336,11 +372,11 @@
 
 [[package]]
 name = "crates-index"
-version = "0.19.13"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3cab38e209d6ba8bd5b0d41c784ec63a5a9ea3adf866b820d377588960f1ded"
+checksum = "33bc10579ea08741ae173928194b6c42c90b295d51ddd0d18238eaf15502ac87"
 dependencies = [
- "git2",
+ "gix",
  "hex",
  "home",
  "memchr",
@@ -350,7 +386,17 @@
  "serde_derive",
  "serde_json",
  "smol_str",
- "toml",
+ "thiserror",
+ "toml 0.8.10",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
 ]
 
 [[package]]
@@ -361,6 +407,64 @@
 ]
 
 [[package]]
+name = "crossbeam"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
+dependencies = [
+ "cfg-if",
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
 name = "crossbeam-utils"
 version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -380,6 +484,15 @@
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
 name = "deunicode"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -396,12 +509,27 @@
 ]
 
 [[package]]
+name = "dunce"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
+
+[[package]]
 name = "either"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
 name = "equivalent"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -429,12 +557,40 @@
 ]
 
 [[package]]
-name = "fastrand"
-version = "1.9.0"
+name = "faster-hex"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+checksum = "239f7bfb930f820ab16a9cd95afc26f88264cf6905c960b340a615384aa3338a"
 dependencies = [
- "instant",
+ "serde",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "filetime"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.3.5",
+ "windows-sys",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -480,19 +636,720 @@
 ]
 
 [[package]]
-name = "git2"
-version = "0.16.1"
+name = "gix"
+version = "0.54.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc"
+checksum = "ad6d32e74454459690d57d18ea4ebec1629936e6b130b51d12cb4a81630ac953"
 dependencies = [
- "bitflags",
+ "gix-actor",
+ "gix-attributes",
+ "gix-commitgraph",
+ "gix-config",
+ "gix-credentials",
+ "gix-date",
+ "gix-diff",
+ "gix-discover",
+ "gix-features",
+ "gix-filter",
+ "gix-fs",
+ "gix-glob",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-ignore",
+ "gix-index",
+ "gix-lock",
+ "gix-macros",
+ "gix-negotiate",
+ "gix-object",
+ "gix-odb",
+ "gix-pack",
+ "gix-path",
+ "gix-pathspec",
+ "gix-prompt",
+ "gix-protocol",
+ "gix-ref",
+ "gix-refspec",
+ "gix-revision",
+ "gix-revwalk",
+ "gix-sec",
+ "gix-submodule",
+ "gix-tempfile",
+ "gix-trace",
+ "gix-traverse",
+ "gix-url",
+ "gix-utils",
+ "gix-validate",
+ "gix-worktree",
+ "once_cell",
+ "parking_lot",
+ "smallvec",
+ "thiserror",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "gix-actor"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08c60e982c5290897122d4e2622447f014a2dadd5a18cb73d50bb91b31645e27"
+dependencies = [
+ "bstr",
+ "btoi",
+ "gix-date",
+ "itoa",
+ "thiserror",
+ "winnow",
+]
+
+[[package]]
+name = "gix-attributes"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2451665e70709ba4753b623ef97511ee98c4a73816b2c5b5df25678d607ed820"
+dependencies = [
+ "bstr",
+ "byteyarn",
+ "gix-glob",
+ "gix-path",
+ "gix-quote",
+ "gix-trace",
+ "smallvec",
+ "thiserror",
+ "unicode-bom",
+]
+
+[[package]]
+name = "gix-bitmap"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ccab4bc576844ddb51b78d81b4a42d73e6229660fa614dfc3d3999c874d1959"
+dependencies = [
+ "thiserror",
+]
+
+[[package]]
+name = "gix-chunk"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b42ea64420f7994000130328f3c7a2038f639120518870436d31b8bde704493"
+dependencies = [
+ "thiserror",
+]
+
+[[package]]
+name = "gix-command"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c576cfbf577f72c097b5f88aedea502cd62952bdc1fb3adcab4531d5525a4c7"
+dependencies = [
+ "bstr",
+]
+
+[[package]]
+name = "gix-commitgraph"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e75a975ee22cf0a002bfe9b5d5cb3d2a88e263a8a178cd7509133cff10f4df8a"
+dependencies = [
+ "bstr",
+ "gix-chunk",
+ "gix-features",
+ "gix-hash",
+ "memmap2",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-config"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c171514b40487d3f677ae37efc0f45ac980e3169f23c27eb30a70b47fdf88ab5"
+dependencies = [
+ "bstr",
+ "gix-config-value",
+ "gix-features",
+ "gix-glob",
+ "gix-path",
+ "gix-ref",
+ "gix-sec",
+ "memchr",
+ "once_cell",
+ "smallvec",
+ "thiserror",
+ "unicode-bom",
+ "winnow",
+]
+
+[[package]]
+name = "gix-config-value"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea7505b97f4d8e7933e29735a568ba2f86d8de466669d9f0e8321384f9972f47"
+dependencies = [
+ "bitflags 2.4.1",
+ "bstr",
+ "gix-path",
  "libc",
- "libgit2-sys",
- "log",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-credentials"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46900b884cc5af6a6c141ee741607c0c651a4e1d33614b8d888a1ba81cc0bc8a"
+dependencies = [
+ "bstr",
+ "gix-command",
+ "gix-config-value",
+ "gix-path",
+ "gix-prompt",
+ "gix-sec",
+ "gix-url",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-date"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7df669639582dc7c02737642f76890b03b5544e141caba68a7d6b4eb551e0d"
+dependencies = [
+ "bstr",
+ "itoa",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "gix-diff"
+version = "0.36.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "788ddb152c388206e81f36bcbb574e7ed7827c27d8fa62227b34edc333d8928c"
+dependencies = [
+ "gix-hash",
+ "gix-object",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-discover"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69507643d75a0ea9a402fcf73ced517d2b95cc95385904ac09d03e0b952fde33"
+dependencies = [
+ "bstr",
+ "dunce",
+ "gix-hash",
+ "gix-path",
+ "gix-ref",
+ "gix-sec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-features"
+version = "0.35.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b9ff423ae4983f762659040d13dd7a5defbd54b6a04ac3cc7347741cec828cd"
+dependencies = [
+ "crc32fast",
+ "crossbeam-channel",
+ "flate2",
+ "gix-hash",
+ "gix-trace",
+ "jwalk",
+ "libc",
+ "once_cell",
+ "parking_lot",
+ "prodash",
+ "sha1_smol",
+ "thiserror",
+ "walkdir",
+]
+
+[[package]]
+name = "gix-filter"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1be40d28cd41445bb6cd52c4d847d915900e5466f7433eaee6a9e0a3d1d88b08"
+dependencies = [
+ "bstr",
+ "encoding_rs",
+ "gix-attributes",
+ "gix-command",
+ "gix-hash",
+ "gix-object",
+ "gix-packetline-blocking",
+ "gix-path",
+ "gix-quote",
+ "gix-trace",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-fs"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09815faba62fe9b32d918b75a554686c98e43f7d48c43a80df58eb718e5c6635"
+dependencies = [
+ "gix-features",
+]
+
+[[package]]
+name = "gix-glob"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9d76e85f11251dcf751d2c5e918a14f562db5be6f727fd24775245653e9b19d"
+dependencies = [
+ "bitflags 2.4.1",
+ "bstr",
+ "gix-features",
+ "gix-path",
+]
+
+[[package]]
+name = "gix-hash"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1884c7b41ea0875217c1be9ce91322f90bde433e91d374d0e1276073a51ccc60"
+dependencies = [
+ "faster-hex",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-hashtable"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "409268480841ad008e81c17ca5a293393fbf9f2b6c2f85b8ab9de1f0c5176a16"
+dependencies = [
+ "gix-hash",
+ "hashbrown",
+ "parking_lot",
+]
+
+[[package]]
+name = "gix-ignore"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048f443a1f6b02da4205c34d2e287e3fd45d75e8e2f06cfb216630ea9bff5e3"
+dependencies = [
+ "bstr",
+ "gix-glob",
+ "gix-path",
+ "unicode-bom",
+]
+
+[[package]]
+name = "gix-index"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f54d63a9d13c13088f41f5a3accbec284e492ac8f4f707fcc307c139622e17b7"
+dependencies = [
+ "bitflags 2.4.1",
+ "bstr",
+ "btoi",
+ "filetime",
+ "gix-bitmap",
+ "gix-features",
+ "gix-fs",
+ "gix-hash",
+ "gix-lock",
+ "gix-object",
+ "gix-traverse",
+ "itoa",
+ "memmap2",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-lock"
+version = "10.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47fc96fa8b6b6d33555021907c81eb3b27635daecf6e630630bdad44f8feaa95"
+dependencies = [
+ "gix-tempfile",
+ "gix-utils",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d8acb5ee668d55f0f2d19a320a3f9ef67a6999ad483e11135abcc2464ed18b6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+]
+
+[[package]]
+name = "gix-negotiate"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f1697bf9911c6d1b8d709b9e6ef718cb5ea5821a1b7991520125a8134448004"
+dependencies = [
+ "bitflags 2.4.1",
+ "gix-commitgraph",
+ "gix-date",
+ "gix-hash",
+ "gix-object",
+ "gix-revwalk",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-object"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e7e19616c67967374137bae83e950e9b518a9ea8a605069bd6716ada357fd6f"
+dependencies = [
+ "bstr",
+ "btoi",
+ "gix-actor",
+ "gix-date",
+ "gix-features",
+ "gix-hash",
+ "gix-validate",
+ "itoa",
+ "smallvec",
+ "thiserror",
+ "winnow",
+]
+
+[[package]]
+name = "gix-odb"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d6a392c6ba3a2f133cdc63120e9bc7aec81eef763db372c817de31febfe64bf"
+dependencies = [
+ "arc-swap",
+ "gix-date",
+ "gix-features",
+ "gix-hash",
+ "gix-object",
+ "gix-pack",
+ "gix-path",
+ "gix-quote",
+ "parking_lot",
+ "tempfile",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-pack"
+version = "0.43.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7536203a45b31e1bc5694bbf90ba8da1b736c77040dd6a520db369f371eb1ab3"
+dependencies = [
+ "clru",
+ "gix-chunk",
+ "gix-features",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "gix-path",
+ "gix-tempfile",
+ "memmap2",
+ "parking_lot",
+ "smallvec",
+ "thiserror",
+ "uluru",
+]
+
+[[package]]
+name = "gix-packetline"
+version = "0.16.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a8384b1e964151aff0d5632dd9b191059d07dff358b96bd940f1b452600d7ab"
+dependencies = [
+ "bstr",
+ "faster-hex",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-packetline-blocking"
+version = "0.16.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d8395f7501c84d6a1fe902035fdfd8cd86d89e2dd6be0200ec1a72fd3c92d39"
+dependencies = [
+ "bstr",
+ "faster-hex",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-path"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a1d370115171e3ae03c5c6d4f7d096f2981a40ddccb98dfd704c773530ba73b"
+dependencies = [
+ "bstr",
+ "gix-trace",
+ "home",
+ "once_cell",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-pathspec"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3e26c9b47c51be73f98d38c84494bd5fb99334c5d6fda14ef5d036d50a9e5fd"
+dependencies = [
+ "bitflags 2.4.1",
+ "bstr",
+ "gix-attributes",
+ "gix-config-value",
+ "gix-glob",
+ "gix-path",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-prompt"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c9a913769516f5e9d937afac206fb76428e3d7238e538845842887fda584678"
+dependencies = [
+ "gix-command",
+ "gix-config-value",
+ "parking_lot",
+ "rustix 0.38.21",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-protocol"
+version = "0.40.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc7b700dc20cc9be8a5130a1fd7e10c34117ffa7068431c8c24d963f0a2e0c9b"
+dependencies = [
+ "bstr",
+ "btoi",
+ "gix-credentials",
+ "gix-date",
+ "gix-features",
+ "gix-hash",
+ "gix-transport",
+ "maybe-async",
+ "thiserror",
+ "winnow",
+]
+
+[[package]]
+name = "gix-quote"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "475c86a97dd0127ba4465fbb239abac9ea10e68301470c9791a6dd5351cdc905"
+dependencies = [
+ "bstr",
+ "btoi",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-ref"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22e6b749660b613641769edc1954132eb8071a13c32224891686091bef078de4"
+dependencies = [
+ "gix-actor",
+ "gix-date",
+ "gix-features",
+ "gix-fs",
+ "gix-hash",
+ "gix-lock",
+ "gix-object",
+ "gix-path",
+ "gix-tempfile",
+ "gix-validate",
+ "memmap2",
+ "thiserror",
+ "winnow",
+]
+
+[[package]]
+name = "gix-refspec"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0895cb7b1e70f3c3bd4550c329e9f5caf2975f97fcd4238e05754e72208ef61e"
+dependencies = [
+ "bstr",
+ "gix-hash",
+ "gix-revision",
+ "gix-validate",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-revision"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8c4b15cf2ab7a35f5bcb3ef146187c8d36df0177e171ca061913cbaaa890e89"
+dependencies = [
+ "bstr",
+ "gix-date",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "gix-revwalk",
+ "gix-trace",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-revwalk"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9870c6b1032f2084567710c3b2106ac603377f8d25766b8a6b7c33e6e3ca279"
+dependencies = [
+ "gix-commitgraph",
+ "gix-date",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-sec"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92b9542ac025a8c02ed5d17b3fc031a111a384e859d0be3532ec4d58c40a0f28"
+dependencies = [
+ "bitflags 2.4.1",
+ "gix-path",
+ "libc",
+ "windows",
+]
+
+[[package]]
+name = "gix-submodule"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0150e82e9282d3f2ab2dd57a22f9f6c3447b9d9856e5321ac92d38e3e0e2b7"
+dependencies = [
+ "bstr",
+ "gix-config",
+ "gix-path",
+ "gix-pathspec",
+ "gix-refspec",
+ "gix-url",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-tempfile"
+version = "10.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ae0978f3e11dc57290ee75ac2477c815bca1ce2fa7ed5dc5f16db067410ac4d"
+dependencies = [
+ "gix-fs",
+ "libc",
+ "once_cell",
+ "parking_lot",
+ "tempfile",
+]
+
+[[package]]
+name = "gix-trace"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96b6d623a1152c3facb79067d6e2ecdae48130030cf27d6eb21109f13bd7b836"
+
+[[package]]
+name = "gix-transport"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9ec726e6a245e68ace59a34126a1d679de60360676612985e70b0d3b102fb4e"
+dependencies = [
+ "bstr",
+ "gix-command",
+ "gix-features",
+ "gix-packetline",
+ "gix-quote",
+ "gix-sec",
+ "gix-url",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-traverse"
+version = "0.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ef04ab3643acba289b5cedd25d6f53c0430770b1d689d1d654511e6fb81ba0"
+dependencies = [
+ "gix-commitgraph",
+ "gix-date",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "gix-revwalk",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-url"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6125ecf46e8c68bf7202da6cad239831daebf0247ffbab30210d72f3856e420f"
+dependencies = [
+ "bstr",
+ "gix-features",
+ "gix-path",
+ "home",
+ "thiserror",
  "url",
 ]
 
 [[package]]
+name = "gix-utils"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b85d89dc728613e26e0ed952a19583744e7f5240fcd4aa30d6c824ffd8b52f0f"
+dependencies = [
+ "fastrand",
+]
+
+[[package]]
+name = "gix-validate"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05cab2b03a45b866156e052aa38619f4ece4adcb2f79978bfc249bc3b21b8c5"
+dependencies = [
+ "bstr",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-worktree"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f5e32972801bd82d56609e6fc84efc358fa1f11f25c5e83b7807ee2280f14fe"
+dependencies = [
+ "bstr",
+ "gix-attributes",
+ "gix-features",
+ "gix-fs",
+ "gix-glob",
+ "gix-hash",
+ "gix-ignore",
+ "gix-index",
+ "gix-object",
+ "gix-path",
+]
+
+[[package]]
 name = "globset"
 version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -511,25 +1368,16 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "ignore",
  "walkdir",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "heck"
@@ -623,28 +1471,19 @@
 
 [[package]]
 name = "indexmap"
-version = "2.0.0"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.0",
+ "hashbrown",
 ]
 
 [[package]]
 name = "indoc"
-version = "2.0.2"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "761cde40c27e2a9877f8c928fd248b7eec9dd48623dd514b256858ca593fbba7"
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
 
 [[package]]
 name = "io-lifetimes"
@@ -665,15 +1504,15 @@
 dependencies = [
  "hermit-abi",
  "io-lifetimes",
- "rustix",
+ "rustix 0.37.23",
  "windows-sys",
 ]
 
 [[package]]
 name = "itertools"
-version = "0.11.0"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
 dependencies = [
  "either",
 ]
@@ -685,15 +1524,6 @@
 checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
 
 [[package]]
-name = "jobserver"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "js-sys"
 version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -703,6 +1533,16 @@
 ]
 
 [[package]]
+name = "jwalk"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56"
+dependencies = [
+ "crossbeam",
+ "rayon",
+]
+
+[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -710,21 +1550,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.149"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
-
-[[package]]
-name = "libgit2-sys"
-version = "0.14.2+1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4"
-dependencies = [
- "cc",
- "libc",
- "libz-sys",
- "pkg-config",
-]
+checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
 
 [[package]]
 name = "libm"
@@ -733,24 +1561,28 @@
 checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
 
 [[package]]
-name = "libz-sys"
-version = "1.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
 name = "linux-raw-sys"
 version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
+name = "linux-raw-sys"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+
+[[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.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -763,10 +1595,48 @@
 checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
 
 [[package]]
-name = "memchr"
-version = "2.5.0"
+name = "maybe-async"
+version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "memchr"
+version = "2.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+
+[[package]]
+name = "memmap2"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
 
 [[package]]
 name = "normpath"
@@ -778,6 +1648,16 @@
 ]
 
 [[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 = "num"
 version = "0.1.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -856,12 +1736,50 @@
 ]
 
 [[package]]
+name = "num_threads"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "once_cell"
 version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+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 0.4.1",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
 name = "parse-zoneinfo"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -912,7 +1830,7 @@
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.32",
 ]
 
 [[package]]
@@ -928,18 +1846,18 @@
 
 [[package]]
 name = "phf"
-version = "0.10.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
  "phf_shared",
 ]
 
 [[package]]
 name = "phf_codegen"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
+checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
 dependencies = [
  "phf_generator",
  "phf_shared",
@@ -947,9 +1865,9 @@
 
 [[package]]
 name = "phf_generator"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
  "phf_shared",
  "rand 0.8.5",
@@ -957,19 +1875,24 @@
 
 [[package]]
 name = "phf_shared"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 dependencies = [
  "siphasher",
- "uncased",
 ]
 
 [[package]]
-name = "pkg-config"
-version = "0.3.27"
+name = "pin-project-lite"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
 
 [[package]]
 name = "ppv-lite86"
@@ -987,6 +1910,12 @@
 ]
 
 [[package]]
+name = "prodash"
+version = "26.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf"
+
+[[package]]
 name = "quote"
 version = "1.0.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1054,6 +1983,26 @@
 ]
 
 [[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 = "rdrand"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1068,18 +2017,27 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
+]
+
+[[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 = "regex"
-version = "1.9.1"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata",
+ "regex-automata 0.4.3",
  "regex-syntax",
 ]
 
@@ -1088,6 +2046,12 @@
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1096,9 +2060,9 @@
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustc-hash"
@@ -1108,9 +2072,9 @@
 
 [[package]]
 name = "rustc-serialize"
-version = "0.3.24"
+version = "0.3.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
+checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401"
 
 [[package]]
 name = "rustix"
@@ -1118,11 +2082,24 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "errno",
  "io-lifetimes",
  "libc",
- "linux-raw-sys",
+ "linux-raw-sys 0.3.8",
+ "windows-sys",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+dependencies = [
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.10",
  "windows-sys",
 ]
 
@@ -1142,39 +2119,45 @@
 ]
 
 [[package]]
-name = "semver"
-version = "1.0.17"
+name = "scopeguard"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "semver"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.171"
+version = "1.0.190"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
+checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.171"
+version = "1.0.190"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
+checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.32",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.102"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
  "itoa",
  "ryu",
@@ -1183,27 +2166,33 @@
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_starlark"
-version = "0.1.13"
+version = "0.1.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aad4897b935e391e9d77c246f5945940956fbfc91511d6749cc30df7d75ff55c"
+checksum = "29675b116dd4c7ab4012e00e71f6dee9ed8c731108468b4434779c6b9eec7957"
 dependencies = [
  "serde",
 ]
 
 [[package]]
-name = "sha2"
-version = "0.10.7"
+name = "sha1_smol"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -1211,6 +2200,15 @@
 ]
 
 [[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 = "siphasher"
 version = "0.3.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1247,6 +2245,15 @@
 ]
 
 [[package]]
+name = "spdx"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bde1398b09b9f93fc2fc9b9da86e362693e999d3a54a8ac47a99a5a73f638b"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
 name = "spectral"
 version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1263,9 +2270,20 @@
 
 [[package]]
 name = "syn"
-version = "2.0.25"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1274,23 +2292,22 @@
 
 [[package]]
 name = "tempfile"
-version = "3.6.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
 dependencies = [
- "autocfg",
  "cfg-if",
  "fastrand",
- "redox_syscall",
- "rustix",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.21",
  "windows-sys",
 ]
 
 [[package]]
 name = "tera"
-version = "1.19.0"
+version = "1.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5ab29bb4f3e256ae6ad5c3e2775aa1f8829f2c0c101fc407bfd3a6df15c60c5"
+checksum = "970dff17c11e884a4a09bc76e3a17ef71e01bb13447a11e85226e254fe6d10b8"
 dependencies = [
  "chrono",
  "chrono-tz",
@@ -1305,7 +2322,6 @@
  "serde",
  "serde_json",
  "slug",
- "thread_local",
  "unic-segment",
 ]
 
@@ -1322,22 +2338,22 @@
 
 [[package]]
 name = "thiserror"
-version = "1.0.43"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.43"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.32",
 ]
 
 [[package]]
@@ -1350,6 +2366,37 @@
 ]
 
 [[package]]
+name = "time"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
 name = "tinyvec"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1373,14 +2420,26 @@
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.19.13",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.4",
 ]
 
 [[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"
 dependencies = [
  "serde",
 ]
@@ -1399,6 +2458,76 @@
 ]
 
 [[package]]
+name = "toml_edit"
+version = "0.22.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
+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 = [
+ "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.32",
+]
+
+[[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-log"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+dependencies = [
+ "nu-ansi-term",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
 name = "typenum"
 version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1411,12 +2540,12 @@
 checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
 
 [[package]]
-name = "uncased"
-version = "0.9.9"
+name = "uluru"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b9bc53168a4be7402ab86c3aad243a84dd7381d09be0eddc81280c1da95ca68"
+checksum = "794a32261a1f5eb6a4462c81b59cec87b5c27d5deea7dd1ac8fc781c41d226db"
 dependencies = [
- "version_check",
+ "arrayvec",
 ]
 
 [[package]]
@@ -1476,6 +2605,12 @@
 checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
+name = "unicode-bom"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98e90c70c9f0d4d1ee6d0a7d04aa06cb9bbd53d8cfbdd62a0269a7c2eb640552"
+
+[[package]]
 name = "unicode-ident"
 version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1483,13 +2618,9 @@
 
 [[package]]
 name = "unicode-linebreak"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
-dependencies = [
- "hashbrown 0.12.3",
- "regex",
-]
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
 
 [[package]]
 name = "unicode-normalization"
@@ -1534,10 +2665,10 @@
 checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
-name = "vcpkg"
-version = "0.2.15"
+name = "valuable"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
 
 [[package]]
 name = "version_check"
@@ -1582,7 +2713,7 @@
  "once_cell",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.32",
  "wasm-bindgen-shared",
 ]
 
@@ -1604,7 +2735,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.32",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -1723,9 +2854,9 @@
 
 [[package]]
 name = "winnow"
-version = "0.5.0"
+version = "0.5.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7"
+checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32"
 dependencies = [
  "memchr",
 ]
diff --git a/crate_universe/Cargo.toml b/crate_universe/Cargo.toml
index 2002570..8aa9deb 100644
--- a/crate_universe/Cargo.toml
+++ b/crate_universe/Cargo.toml
@@ -7,7 +7,7 @@
 
 [package]
 name = "cargo-bazel"
-version = "0.9.0"
+version = "0.10.0"
 authors = [
     "Andre Brisco - andre.brisco@protonmail.com",
 ]
@@ -25,29 +25,33 @@
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-anyhow = "1.0.71"
-cargo_metadata = "0.15.4"
-cargo_toml = "0.15.2"
+anyhow = "1.0.75"
+camino = "1.1.6"
+cargo_metadata = "0.18.1"
+cargo_toml = "0.17.1"
 cargo-lock = "9.0.0"
-cargo-platform = "0.1.2"
-cfg-expr = "0.15.0"
+cargo-platform = "0.1.4"
+cfg-expr = "0.15.5"
 clap = { version = "4.3.11", features = ["derive", "env"] }
-crates-index = { version = "0.19.13", default-features = false }
+crates-index = { version = "2.2.0", default-features = false, features = ["git"] }
 hex = "0.4.3"
-indoc = "2.0.2"
-itertools = "0.11.0"
+indoc = "2.0.4"
+itertools = "0.12.0"
 normpath = "1.1.1"
 pathdiff = "0.2.1"
-regex = "1.9.1"
-semver = "1.0.17"
-serde = { version = "1.0.171", features = ["derive"] }
-serde_json = "1.0.102"
-serde_starlark = "0.1.13"
-sha2 = "0.10.7"
-tempfile = "3.6.0"
-tera = "1.19.0"
+regex = "1.10.2"
+semver = "1.0.20"
+serde = { version = "1.0.190", features = ["derive"] }
+serde_json = "1.0.108"
+serde_starlark = "0.1.14"
+sha2 = "0.10.8"
+spdx = "0.10.3"
+tempfile = "3.8.1"
+tera = "1.19.1"
 textwrap = "0.16.0"
-toml = "0.7.6"
+toml = "0.8.10"
+tracing = "0.1.40"
+tracing-subscriber = "0.3.17"
 
 [dev-dependencies]
 maplit = "1.0.2"
diff --git a/crate_universe/deps_bootstrap.bzl b/crate_universe/deps_bootstrap.bzl
index 28f6d14..e4fda6d 100644
--- a/crate_universe/deps_bootstrap.bzl
+++ b/crate_universe/deps_bootstrap.bzl
@@ -6,12 +6,13 @@
 # buildifier: disable=bzl-visibility
 load("//rust/private:common.bzl", "rust_common")
 
-def cargo_bazel_bootstrap(name = "cargo_bazel_bootstrap", rust_version = rust_common.default_version):
+def cargo_bazel_bootstrap(name = "cargo_bazel_bootstrap", rust_version = rust_common.default_version, **kwargs):
     """An optional repository which bootstraps `cargo-bazel` for use with `crates_repository`
 
     Args:
         name (str, optional): The name of the `cargo_bootstrap_repository`.
         rust_version (str, optional): The rust version to use. Defaults to the default of `cargo_bootstrap_repository`.
+        **kwargs: kwargs to pass through to cargo_bootstrap_repository.
     """
     cargo_bootstrap_repository(
         name = name,
@@ -22,4 +23,5 @@
         version = rust_version,
         # The increased timeout helps avoid flakes in CI
         timeout = 900,
+        **kwargs
     )
diff --git a/crate_universe/docs.bzl b/crate_universe/docs.bzl
index a5b5b2c..802a134 100644
--- a/crate_universe/docs.bzl
+++ b/crate_universe/docs.bzl
@@ -25,6 +25,7 @@
 
 - [crate_universe_dependencies](#crate_universe_dependencies)
 - [crate.annotation](#crateannotation)
+- [crate.select](#crateselect)
 - [crate.spec](#cratespec)
 - [crate.workspace_member](#crateworkspace_member)
 - [render_config](#render_config)
diff --git a/crate_universe/extension.bzl b/crate_universe/extension.bzl
new file mode 100644
index 0000000..9117f6c
--- /dev/null
+++ b/crate_universe/extension.bzl
@@ -0,0 +1,300 @@
+"""Module extension for generating third-party crates for use in bazel."""
+
+load("@bazel_skylib//lib:structs.bzl", "structs")
+load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("//crate_universe:defs.bzl", _crate_universe_crate = "crate")
+load("//crate_universe/private:crates_vendor.bzl", "CRATES_VENDOR_ATTRS", "generate_config_file", "generate_splicing_manifest")
+load("//crate_universe/private:generate_utils.bzl", "render_config")
+load("//crate_universe/private/module_extensions:cargo_bazel_bootstrap.bzl", "get_cargo_bazel_runner")
+
+# A list of labels which may be relative (and if so, is within the repo the rule is generated in).
+#
+# If I were to write ":foo", with attr.label_list, it would evaluate to
+# "@@//:foo". However, for a tag such as deps, ":foo" should refer to
+# "@@rules_rust~crates~<crate>//:foo".
+_relative_label_list = attr.string_list
+
+_OPT_BOOL_VALUES = {
+    "auto": None,
+    "off": False,
+    "on": True,
+}
+
+def optional_bool(doc):
+    return attr.string(doc = doc, values = _OPT_BOOL_VALUES.keys(), default = "auto")
+
+def _get_or_insert(d, key, value):
+    if key not in d:
+        d[key] = value
+    return d[key]
+
+def _generate_repo_impl(repo_ctx):
+    for path, contents in repo_ctx.attr.contents.items():
+        repo_ctx.file(path, contents)
+
+_generate_repo = repository_rule(
+    implementation = _generate_repo_impl,
+    attrs = dict(
+        contents = attr.string_dict(mandatory = True),
+    ),
+)
+
+def _generate_hub_and_spokes(module_ctx, cargo_bazel, cfg, annotations):
+    cargo_lockfile = module_ctx.path(cfg.cargo_lockfile)
+    tag_path = module_ctx.path(cfg.name)
+
+    rendering_config = json.decode(render_config(
+        regen_command = "Run 'cargo update [--workspace]'",
+        crate_label_template = "@@rules_rust~override~crate~{repository}__{name}-{version}//:{target}",
+    ))
+    config_file = tag_path.get_child("config.json")
+    module_ctx.file(
+        config_file,
+        executable = False,
+        content = generate_config_file(
+            module_ctx,
+            mode = "remote",
+            annotations = annotations,
+            generate_build_scripts = cfg.generate_build_scripts,
+            supported_platform_triples = cfg.supported_platform_triples,
+            generate_target_compatible_with = True,
+            repository_name = cfg.name,
+            output_pkg = cfg.name,
+            workspace_name = cfg.name,
+            generate_binaries = cfg.generate_binaries,
+            render_config = rendering_config,
+            repository_ctx = module_ctx,
+        ),
+    )
+
+    manifests = {module_ctx.path(m): m for m in cfg.manifests}
+    splicing_manifest = tag_path.get_child("splicing_manifest.json")
+    module_ctx.file(
+        splicing_manifest,
+        executable = False,
+        content = generate_splicing_manifest(
+            packages = {},
+            splicing_config = "",
+            cargo_config = cfg.cargo_config,
+            manifests = {str(k): str(v) for k, v in manifests.items()},
+            manifest_to_path = module_ctx.path,
+        ),
+    )
+
+    splicing_output_dir = tag_path.get_child("splicing-output")
+    cargo_bazel([
+        "splice",
+        "--output-dir",
+        splicing_output_dir,
+        "--config",
+        config_file,
+        "--splicing-manifest",
+        splicing_manifest,
+        "--cargo-lockfile",
+        cargo_lockfile,
+    ])
+
+    # Create a lockfile, since we need to parse it to generate spoke
+    # repos.
+    lockfile_path = tag_path.get_child("lockfile.json")
+    module_ctx.file(lockfile_path, "")
+
+    cargo_bazel([
+        "generate",
+        "--cargo-lockfile",
+        cargo_lockfile,
+        "--config",
+        config_file,
+        "--splicing-manifest",
+        splicing_manifest,
+        "--repository-dir",
+        tag_path,
+        "--metadata",
+        splicing_output_dir.get_child("metadata.json"),
+        "--repin",
+        "--lockfile",
+        lockfile_path,
+    ])
+
+    crates_dir = tag_path.get_child(cfg.name)
+    _generate_repo(
+        name = cfg.name,
+        contents = {
+            "BUILD.bazel": module_ctx.read(crates_dir.get_child("BUILD.bazel")),
+            "defs.bzl": module_ctx.read(crates_dir.get_child("defs.bzl")),
+        },
+    )
+
+    contents = json.decode(module_ctx.read(lockfile_path))
+
+    for crate in contents["crates"].values():
+        repo = crate["repository"]
+        if repo == None:
+            continue
+        name = crate["name"]
+        version = crate["version"]
+
+        # "+" isn't valid in a repo name.
+        crate_repo_name = "{repo_name}__{name}-{version}".format(
+            repo_name = cfg.name,
+            name = name,
+            version = version.replace("+", "-"),
+        )
+
+        build_file_content = module_ctx.read(crates_dir.get_child("BUILD.%s-%s.bazel" % (name, version)))
+        if "Http" in repo:
+            # Replicates functionality in repo_http.j2.
+            repo = repo["Http"]
+            http_archive(
+                name = crate_repo_name,
+                patch_args = repo.get("patch_args", None),
+                patch_tool = repo.get("patch_tool", None),
+                patches = repo.get("patches", None),
+                remote_patch_strip = 1,
+                sha256 = repo.get("sha256", None),
+                type = "tar.gz",
+                urls = [repo["url"]],
+                strip_prefix = "%s-%s" % (crate["name"], crate["version"]),
+                build_file_content = build_file_content,
+            )
+        elif "Git" in repo:
+            # Replicates functionality in repo_git.j2
+            repo = repo["Git"]
+            kwargs = {}
+            for k, v in repo["commitish"].items():
+                if k == "Rev":
+                    kwargs["commit"] = v
+                else:
+                    kwargs[k.lower()] = v
+            new_git_repository(
+                name = crate_repo_name,
+                init_submodules = True,
+                patch_args = repo.get("patch_args", None),
+                patch_tool = repo.get("patch_tool", None),
+                patches = repo.get("patches", None),
+                shallow_since = repo.get("shallow_since", None),
+                remote = repo["remote"],
+                build_file_content = build_file_content,
+                strip_prefix = repo.get("strip_prefix", None),
+                **kwargs
+            )
+        else:
+            fail("Invalid repo: expected Http or Git to exist for crate %s-%s, got %s" % (name, version, repo))
+
+def _crate_impl(module_ctx):
+    cargo_bazel = get_cargo_bazel_runner(module_ctx)
+    all_repos = []
+    for mod in module_ctx.modules:
+        module_annotations = {}
+        repo_specific_annotations = {}
+        for annotation_tag in mod.tags.annotation:
+            annotation_dict = structs.to_dict(annotation_tag)
+            repositories = annotation_dict.pop("repositories")
+            crate = annotation_dict.pop("crate")
+
+            # The crate.annotation function can take in either a list or a bool.
+            # For the tag-based method, because it has type safety, we have to
+            # split it into two parameters.
+            if annotation_dict.pop("gen_all_binaries"):
+                annotation_dict["gen_binaries"] = True
+            annotation_dict["gen_build_script"] = _OPT_BOOL_VALUES[annotation_dict["gen_build_script"]]
+            annotation = _crate_universe_crate.annotation(**{
+                k: v
+                for k, v in annotation_dict.items()
+                # Tag classes can't take in None, but the function requires None
+                # instead of the empty values in many cases.
+                # https://github.com/bazelbuild/bazel/issues/20744
+                if v != "" and v != [] and v != {}
+            })
+            if not repositories:
+                _get_or_insert(module_annotations, crate, []).append(annotation)
+            for repo in repositories:
+                _get_or_insert(
+                    _get_or_insert(repo_specific_annotations, repo, {}),
+                    crate,
+                    [],
+                ).append(annotation)
+
+        local_repos = []
+        for cfg in mod.tags.from_cargo:
+            if cfg.name in local_repos:
+                fail("Defined two crate universes with the same name in the same MODULE.bazel file. Use the name tag to give them different names.")
+            elif cfg.name in all_repos:
+                fail("Defined two crate universes with the same name in different MODULE.bazel files. Either give one a different name, or use use_extension(isolate=True)")
+
+            annotations = {k: v for k, v in module_annotations.items()}
+            for crate, values in repo_specific_annotations.get(cfg.name, {}).items():
+                _get_or_insert(annotations, crate, []).extend(values)
+            _generate_hub_and_spokes(module_ctx, cargo_bazel, cfg, annotations)
+            all_repos.append(cfg.name)
+            local_repos.append(cfg.name)
+
+        for repo in repo_specific_annotations:
+            if repo not in local_repos:
+                fail("Annotation specified for repo %s, but the module defined repositories %s" % (repo, local_repos))
+
+_from_cargo = tag_class(
+    doc = "Generates a repo @crates from a Cargo.toml / Cargo.lock pair",
+    attrs = dict(
+        name = attr.string(doc = "The name of the repo to generate", default = "crates"),
+        cargo_lockfile = CRATES_VENDOR_ATTRS["cargo_lockfile"],
+        manifests = CRATES_VENDOR_ATTRS["manifests"],
+        cargo_config = CRATES_VENDOR_ATTRS["cargo_config"],
+        generate_binaries = CRATES_VENDOR_ATTRS["generate_binaries"],
+        generate_build_scripts = CRATES_VENDOR_ATTRS["generate_build_scripts"],
+        supported_platform_triples = CRATES_VENDOR_ATTRS["supported_platform_triples"],
+    ),
+)
+
+# This should be kept in sync with crate_universe/private/crate.bzl.
+_annotation = tag_class(
+    attrs = dict(
+        repositories = attr.string_list(doc = "A list of repository names specified from `crate.from_cargo(name=...)` that this annotation is applied to. Defaults to all repositories.", default = []),
+        crate = attr.string(doc = "The name of the crate the annotation is applied to", mandatory = True),
+        version = attr.string(doc = "The versions of the crate the annotation is applied to. Defaults to all versions.", default = "*"),
+        additive_build_file_content = attr.string(doc = "Extra contents to write to the bottom of generated BUILD files."),
+        additive_build_file = attr.label(doc = "A file containing extra contents to write to the bottom of generated BUILD files."),
+        alias_rule = attr.string(doc = "Alias rule to use instead of `native.alias()`.  Overrides [render_config](#render_config)'s 'default_alias_rule'."),
+        build_script_data = _relative_label_list(doc = "A list of labels to add to a crate's `cargo_build_script::data` attribute."),
+        build_script_tools = _relative_label_list(doc = "A list of labels to add to a crate's `cargo_build_script::tools` attribute."),
+        build_script_data_glob = attr.string_list(doc = "A list of glob patterns to add to a crate's `cargo_build_script::data` attribute"),
+        build_script_deps = _relative_label_list(doc = "A list of labels to add to a crate's `cargo_build_script::deps` attribute."),
+        build_script_env = attr.string_dict(doc = "Additional environment variables to set on a crate's `cargo_build_script::env` attribute."),
+        build_script_proc_macro_deps = _relative_label_list(doc = "A list of labels to add to a crate's `cargo_build_script::proc_macro_deps` attribute."),
+        build_script_rundir = attr.string(doc = "An override for the build script's rundir attribute."),
+        build_script_rustc_env = attr.string_dict(doc = "Additional environment variables to set on a crate's `cargo_build_script::env` attribute."),
+        build_script_toolchains = attr.label_list(doc = "A list of labels to set on a crates's `cargo_build_script::toolchains` attribute."),
+        compile_data = _relative_label_list(doc = "A list of labels to add to a crate's `rust_library::compile_data` attribute."),
+        compile_data_glob = attr.string_list(doc = "A list of glob patterns to add to a crate's `rust_library::compile_data` attribute."),
+        crate_features = attr.string_list(doc = "A list of strings to add to a crate's `rust_library::crate_features` attribute."),
+        data = _relative_label_list(doc = "A list of labels to add to a crate's `rust_library::data` attribute."),
+        data_glob = attr.string_list(doc = "A list of glob patterns to add to a crate's `rust_library::data` attribute."),
+        deps = _relative_label_list(doc = "A list of labels to add to a crate's `rust_library::deps` attribute."),
+        extra_aliased_targets = attr.string_dict(doc = "A list of targets to add to the generated aliases in the root crate_universe repository."),
+        gen_binaries = attr.string_list(doc = "As a list, the subset of the crate's bins that should get `rust_binary` targets produced."),
+        gen_all_binaries = attr.bool(doc = "If true, generates `rust_binary` targets for all of the crates bins"),
+        disable_pipelining = attr.bool(doc = "If True, disables pipelining for library targets for this crate."),
+        gen_build_script = attr.string(
+            doc = "An authorative flag to determine whether or not to produce `cargo_build_script` targets for the current crate. Supported values are 'on', 'off', and 'auto'.",
+            values = _OPT_BOOL_VALUES.keys(),
+            default = "auto",
+        ),
+        patch_args = attr.string_list(doc = "The `patch_args` attribute of a Bazel repository rule. See [http_archive.patch_args](https://docs.bazel.build/versions/main/repo/http.html#http_archive-patch_args)"),
+        patch_tool = attr.string(doc = "The `patch_tool` attribute of a Bazel repository rule. See [http_archive.patch_tool](https://docs.bazel.build/versions/main/repo/http.html#http_archive-patch_tool)"),
+        patches = attr.label_list(doc = "The `patches` attribute of a Bazel repository rule. See [http_archive.patches](https://docs.bazel.build/versions/main/repo/http.html#http_archive-patches)"),
+        proc_macro_deps = _relative_label_list(doc = "A list of labels to add to a crate's `rust_library::proc_macro_deps` attribute."),
+        rustc_env = attr.string_dict(doc = "Additional variables to set on a crate's `rust_library::rustc_env` attribute."),
+        rustc_env_files = _relative_label_list(doc = "A list of labels to set on a crate's `rust_library::rustc_env_files` attribute."),
+        rustc_flags = attr.string_list(doc = "A list of strings to set on a crate's `rust_library::rustc_flags` attribute."),
+        shallow_since = attr.string(doc = "An optional timestamp used for crates originating from a git repository instead of a crate registry. This flag optimizes fetching the source code."),
+    ),
+)
+
+crate = module_extension(
+    implementation = _crate_impl,
+    tag_classes = dict(
+        from_cargo = _from_cargo,
+        annotation = _annotation,
+    ),
+)
diff --git a/crate_universe/private/bootstrap_utils.bzl b/crate_universe/private/bootstrap_utils.bzl
index d836331..34642d3 100644
--- a/crate_universe/private/bootstrap_utils.bzl
+++ b/crate_universe/private/bootstrap_utils.bzl
@@ -5,6 +5,9 @@
 
 # Each source file is tracked as a target so the `cargo_bootstrap_repository`
 # rule will know to automatically rebuild if any of the sources changed.
+
+# Run 'bazel run //crate_universe/private:srcs_module.install' to regenerate.
+
 CARGO_BAZEL_SRCS = [
     {srcs}
 ]
@@ -44,7 +47,7 @@
 )
 
 _INSTALLER_TEMPLATE = """\
-#!/bin/bash
+#!/usr/bin/env bash
 set -euo pipefail
 cp -f "{path}" "${{BUILD_WORKSPACE_DIRECTORY}}/{dest}"
 """
diff --git a/crate_universe/private/common_utils.bzl b/crate_universe/private/common_utils.bzl
index 22d27b5..e8fc97b 100644
--- a/crate_universe/private/common_utils.bzl
+++ b/crate_universe/private/common_utils.bzl
@@ -8,6 +8,7 @@
 
 CARGO_BAZEL_ISOLATED = "CARGO_BAZEL_ISOLATED"
 CARGO_BAZEL_REPIN = "CARGO_BAZEL_REPIN"
+CARGO_BAZEL_DEBUG = "CARGO_BAZEL_DEBUG"
 REPIN = "REPIN"
 
 CARGO_BAZEL_REPIN_ONLY = "CARGO_BAZEL_REPIN_ONLY"
@@ -38,10 +39,15 @@
     Returns:
         struct: The results of `repository_ctx.execute`
     """
+
+    quiet = repository_ctx.attr.quiet
+    if repository_ctx.os.environ.get(CARGO_BAZEL_DEBUG, None):
+        quiet = False
+
     result = repository_ctx.execute(
         args,
         environment = env,
-        quiet = repository_ctx.attr.quiet,
+        quiet = quiet,
     )
 
     if result.return_code:
@@ -122,3 +128,33 @@
         })
 
     return env
+
+def parse_alias_rule(value):
+    """Attempts to parse an `AliasRule` from supplied string.
+
+    Args:
+        value (str): String value to be parsed.
+
+    Returns:
+        value: A Rust compatible `AliasRule`.
+    """
+    if value == None:
+        return None
+
+    if value == "alias" or value == "dbg" or value == "fastbuild" or value == "opt":
+        return value
+
+    if value.count(":") != 2:
+        fail("Invalid custom value for `alias_rule`.\n{}\nValues must be in the format '<label to .bzl>:<rule>'.".format(value))
+
+    split = value.rsplit(":", 1)
+    bzl = Label(split[0])
+    rule = split[1]
+
+    if rule == "alias":
+        fail("Custom value rule cannot be named `alias`.\n{}".format(value))
+
+    return struct(
+        bzl = str(bzl),
+        rule = rule,
+    )
diff --git a/crate_universe/private/crate.bzl b/crate_universe/private/crate.bzl
index 15596c7..9d1b5a9 100644
--- a/crate_universe/private/crate.bzl
+++ b/crate_universe/private/crate.bzl
@@ -1,5 +1,7 @@
 """Macros used for represeting crates or annotations for existing crates"""
 
+load(":common_utils.bzl", "parse_alias_rule")
+
 def _workspace_member(version, sha256 = None):
     """Define information for extra workspace members
 
@@ -18,6 +20,8 @@
 def _spec(
         package = None,
         version = None,
+        artifact = None,
+        lib = None,
         default_features = True,
         features = [],
         git = None,
@@ -33,6 +37,8 @@
     Args:
         package (str, optional): The explicit name of the package (used when attempting to alias a crate).
         version (str, optional): The exact version of the crate. Cannot be used with `git`.
+        artifact (str, optional): Set to "bin" to pull in a binary crate as an artifact dependency. Requires a nightly Cargo.
+        lib (bool, optional): If using `artifact = "bin"`, additionally setting `lib = True` declares a dependency on both the package's library and binary, as opposed to just the binary.
         default_features (bool, optional): Maps to the `default-features` flag.
         features (list, optional): A list of features to use for the crate
         git (str, optional): The Git url to use for the crate. Cannot be used with `version`.
@@ -43,16 +49,25 @@
     Returns:
         string: A json encoded string of all inputs
     """
-    return json.encode(struct(
-        package = package,
-        default_features = default_features,
-        features = features,
-        version = version,
-        git = git,
-        branch = branch,
-        tag = tag,
-        rev = rev,
-    ))
+    return json.encode({
+        k: v
+        for k, v in {
+            "artifact": artifact,
+            "branch": branch,
+            "default_features": default_features,
+            "features": features,
+            "git": git,
+            "lib": lib,
+            "package": package,
+            "rev": rev,
+            "tag": tag,
+            "version": version,
+        }.items()
+        # The `cargo_toml` crate parses unstable fields to a flattened
+        # BTreeMap<String, toml::Value> and toml::Value does not support null,
+        # so we must omit null values.
+        if v != None
+    })
 
 def _assert_absolute(label):
     """Ensure a given label is an absolute label
@@ -61,15 +76,17 @@
         label (Label): The label to check
     """
     label_str = str(label)
-    if not label.startswith("@"):
+    if not label_str.startswith("@"):
         fail("The labels must be absolute. Please update '{}'".format(
             label_str,
         ))
 
+# This should be kept in sync crate_universe/extension.bzl.
 def _annotation(
         version = "*",
         additive_build_file = None,
         additive_build_file_content = None,
+        alias_rule = None,
         build_script_data = None,
         build_script_tools = None,
         build_script_data_glob = None,
@@ -105,6 +122,8 @@
         additive_build_file_content (str, optional): Extra contents to write to the bottom of generated BUILD files.
         additive_build_file (str, optional): A file containing extra contents to write to the bottom of
             generated BUILD files.
+        alias_rule (str, optional): Alias rule to use instead of `native.alias()`.  Overrides [render_config](#render_config)'s
+            'default_alias_rule'.
         build_script_data (list, optional): A list of labels to add to a crate's `cargo_build_script::data` attribute.
         build_script_tools (list, optional): A list of labels to add to a crate's `cargo_build_script::tools` attribute.
         build_script_data_glob (list, optional): A list of glob patterns to add to a crate's `cargo_build_script::data`
@@ -121,7 +140,7 @@
         compile_data (list, optional): A list of labels to add to a crate's `rust_library::compile_data` attribute.
         compile_data_glob (list, optional): A list of glob patterns to add to a crate's `rust_library::compile_data`
             attribute.
-        crate_features (list, optional): A list of strings to add to a crate's `rust_library::crate_features`
+        crate_features (optional): A list of strings to add to a crate's `rust_library::crate_features`
             attribute.
         data (list, optional): A list of labels to add to a crate's `rust_library::data` attribute.
         data_glob (list, optional): A list of glob patterns to add to a crate's `rust_library::data` attribute.
@@ -135,7 +154,7 @@
             `cargo_build_script` targets for the current crate.
         patch_args (list, optional): The `patch_args` attribute of a Bazel repository rule. See
             [http_archive.patch_args](https://docs.bazel.build/versions/main/repo/http.html#http_archive-patch_args)
-        patch_tool (list, optional): The `patch_tool` attribute of a Bazel repository rule. See
+        patch_tool (string, optional): The `patch_tool` attribute of a Bazel repository rule. See
             [http_archive.patch_tool](https://docs.bazel.build/versions/main/repo/http.html#http_archive-patch_tool)
         patches (list, optional): The `patches` attribute of a Bazel repository rule. See
             [http_archive.patches](https://docs.bazel.build/versions/main/repo/http.html#http_archive-patches)
@@ -160,40 +179,70 @@
     return json.encode((
         version,
         struct(
-            additive_build_file = additive_build_file,
+            additive_build_file = _stringify_label(additive_build_file),
             additive_build_file_content = additive_build_file_content,
-            build_script_data = build_script_data,
-            build_script_tools = build_script_tools,
+            alias_rule = parse_alias_rule(alias_rule),
+            build_script_data = _stringify_list(build_script_data),
+            build_script_tools = _stringify_list(build_script_tools),
             build_script_data_glob = build_script_data_glob,
-            build_script_deps = build_script_deps,
+            build_script_deps = _stringify_list(build_script_deps),
             build_script_env = build_script_env,
-            build_script_proc_macro_deps = build_script_proc_macro_deps,
+            build_script_proc_macro_deps = _stringify_list(build_script_proc_macro_deps),
             build_script_rundir = build_script_rundir,
             build_script_rustc_env = build_script_rustc_env,
-            build_script_toolchains = build_script_toolchains,
-            compile_data = compile_data,
+            build_script_toolchains = _stringify_list(build_script_toolchains),
+            compile_data = _stringify_list(compile_data),
             compile_data_glob = compile_data_glob,
             crate_features = crate_features,
-            data = data,
+            data = _stringify_list(data),
             data_glob = data_glob,
-            deps = deps,
+            deps = _stringify_list(deps),
             extra_aliased_targets = extra_aliased_targets,
             gen_binaries = gen_binaries,
             disable_pipelining = disable_pipelining,
             gen_build_script = gen_build_script,
             patch_args = patch_args,
             patch_tool = patch_tool,
-            patches = patches,
-            proc_macro_deps = proc_macro_deps,
+            patches = _stringify_list(patches),
+            proc_macro_deps = _stringify_list(proc_macro_deps),
             rustc_env = rustc_env,
-            rustc_env_files = rustc_env_files,
+            rustc_env_files = _stringify_list(rustc_env_files),
             rustc_flags = rustc_flags,
             shallow_since = shallow_since,
         ),
     ))
 
+def _stringify_label(value):
+    if not value:
+        return value
+    return str(value)
+
+# In bzlmod, attributes of type `attr.label_list` end up as `Label`s not `str`,
+# and the `json` module doesn't know how to serialize `Label`s,
+# so we proactively convert them to strings before serializing.
+def _stringify_list(values):
+    if not values:
+        return values
+    return [str(x) for x in values]
+
+def _select(common, selects):
+    """A Starlark Select for `crate.annotation()`.
+
+    Args:
+        common: A value that applies to all configurations.
+        selects (dict): A dict of `target_triple` to values.
+
+    Returns:
+        struct: A struct representing the Starlark Select.
+    """
+    return struct(
+        common = common,
+        selects = selects,
+    )
+
 crate = struct(
     spec = _spec,
     annotation = _annotation,
     workspace_member = _workspace_member,
+    select = _select,
 )
diff --git a/crate_universe/private/crates_repository.bzl b/crate_universe/private/crates_repository.bzl
index 76019d8..e785343 100644
--- a/crate_universe/private/crates_repository.bzl
+++ b/crate_universe/private/crates_repository.bzl
@@ -228,10 +228,7 @@
             default = True,
         ),
         "generate_target_compatible_with": attr.bool(
-            doc = (
-                "Whether to generate `target_compatible_with` annotations on the generated BUILD files.  This catches a `target_triple` " +
-                "being targeted that isn't declared in `supported_platform_triples."
-            ),
+            doc = "DEPRECATED: Moved to `render_config`.",
             default = True,
         ),
         "generator": attr.string(
diff --git a/crate_universe/private/crates_vendor.bzl b/crate_universe/private/crates_vendor.bzl
index 94d9259..b29c3c0 100644
--- a/crate_universe/private/crates_vendor.bzl
+++ b/crate_universe/private/crates_vendor.bzl
@@ -1,7 +1,7 @@
 """Rules for vendoring Bazel targets into existing workspaces"""
 
 load("//crate_universe/private:generate_utils.bzl", "compile_config", "render_config")
-load("//crate_universe/private:splicing_utils.bzl", "kebab_case_keys", "splicing_config")
+load("//crate_universe/private:splicing_utils.bzl", "kebab_case_keys", generate_splicing_config = "splicing_config")
 load("//crate_universe/private:urls.bzl", "CARGO_BAZEL_LABEL")
 load("//rust/platform:triple_mappings.bzl", "SUPPORTED_PLATFORM_TRIPLES")
 
@@ -32,6 +32,9 @@
 
 CARGO_BAZEL_GENERATOR_PATH = "CARGO_BAZEL_GENERATOR_PATH"
 
+def _default_render_config():
+    return json.decode(render_config())
+
 def _runfiles_path(file, is_windows):
     if is_windows:
         runtime_pwd_var = "%RUNTIME_PWD%"
@@ -93,29 +96,18 @@
     return "${build_workspace_directory}/" + manifest.short_path
 
 def _write_splicing_manifest(ctx):
-    # Deserialize information about direct packges
-    direct_packages_info = {
-        # Ensure the data is using kebab-case as that's what `cargo_toml::DependencyDetail` expects.
-        pkg: kebab_case_keys(dict(json.decode(data)))
-        for (pkg, data) in ctx.attr.packages.items()
-    }
-
     # Manifests are required to be single files
     manifests = {_prepare_manifest_path(m): str(m.label) for m in ctx.attr.manifests}
 
-    config = json.decode(ctx.attr.splicing_config or splicing_config())
-    splicing_manifest_content = {
-        "cargo_config": _prepare_manifest_path(ctx.attr.cargo_config) if ctx.attr.cargo_config else None,
-        "direct_packages": direct_packages_info,
-        "manifests": manifests,
-    }
-
     manifest = _write_data_file(
         ctx = ctx,
         name = "cargo-bazel-splicing-manifest.json",
-        data = json.encode_indent(
-            dict(dict(config).items() + splicing_manifest_content.items()),
-            indent = " " * 4,
+        data = generate_splicing_manifest(
+            packages = ctx.attr.packages,
+            splicing_config = ctx.attr.splicing_config,
+            cargo_config = ctx.attr.cargo_config,
+            manifests = manifests,
+            manifest_to_path = _prepare_manifest_path,
         ),
     )
 
@@ -125,28 +117,100 @@
     runfiles = [manifest] + ctx.files.manifests + ([ctx.file.cargo_config] if ctx.attr.cargo_config else [])
     return args, runfiles
 
+def generate_splicing_manifest(packages, splicing_config, cargo_config, manifests, manifest_to_path):
+    # Deserialize information about direct packges
+    direct_packages_info = {
+        # Ensure the data is using kebab-case as that's what `cargo_toml::DependencyDetail` expects.
+        pkg: kebab_case_keys(dict(json.decode(data)))
+        for (pkg, data) in packages.items()
+    }
+
+    config = json.decode(splicing_config or generate_splicing_config())
+    splicing_manifest_content = {
+        "cargo_config": str(manifest_to_path(cargo_config)) if cargo_config else None,
+        "direct_packages": direct_packages_info,
+        "manifests": manifests,
+    }
+
+    return json.encode_indent(
+        dict(dict(config).items() + splicing_manifest_content.items()),
+        indent = " " * 4,
+    )
+
 def _write_config_file(ctx):
-    default_render_config = dict(json.decode(render_config()))
-
-    if ctx.attr.render_config:
-        rendering_config = dict(json.decode(ctx.attr.render_config))
-    else:
-        rendering_config = default_render_config
-
-    output_pkg = _get_output_package(ctx)
-
     workspace_name = ctx.workspace_name
-    if ctx.workspace_name == "__main__" or ctx.workspace_name == "_main":
+    if workspace_name == "__main__" or ctx.workspace_name == "_main":
         workspace_name = ""
 
-    if ctx.attr.mode == "local":
+    config = _write_data_file(
+        ctx = ctx,
+        name = "cargo-bazel-config.json",
+        data = generate_config_file(
+            ctx,
+            mode = ctx.attr.mode,
+            annotations = ctx.attr.annotations,
+            generate_binaries = ctx.attr.generate_binaries,
+            generate_build_scripts = ctx.attr.generate_build_scripts,
+            generate_target_compatible_with = ctx.attr.generate_target_compatible_with,
+            supported_platform_triples = ctx.attr.supported_platform_triples,
+            repository_name = ctx.attr.repository_name,
+            output_pkg = _get_output_package(ctx),
+            workspace_name = workspace_name,
+            render_config = dict(json.decode(ctx.attr.render_config)) if ctx.attr.render_config else None,
+        ),
+    )
+
+    is_windows = _is_windows(ctx)
+    args = ["--config", _runfiles_path(config, is_windows)]
+    runfiles = [config] + ctx.files.manifests
+    return args, runfiles
+
+def generate_config_file(
+        ctx,
+        mode,
+        annotations,
+        generate_binaries,
+        generate_build_scripts,
+        generate_target_compatible_with,
+        supported_platform_triples,
+        repository_name,
+        output_pkg,
+        workspace_name,
+        render_config,
+        repository_ctx = None):
+    """Writes the rendering config to cargo-bazel-config.json.
+
+    Args:
+        ctx: The rule's context.
+        mode (str): The vendoring mode.
+        annotations: Any annotations provided.
+        generate_binaries (bool): Whether to generate binaries for the crates.
+        generate_build_scripts (bool): Whether to generate BUILD.bazel files.
+        generate_target_compatible_with (bool): DEPRECATED: Moved to `render_config`.
+        supported_platform_triples (str): The platform triples to support in
+            the generated BUILD.bazel files.
+        repository_name (str): The name of the repository to generate.
+        output_pkg: The path to the package containing the build files.
+        workspace_name (str): The name of the workspace.
+        render_config: The render config to use.
+        repository_ctx (repository_ctx, optional): A repository context object
+            used for enabling certain functionality.
+
+    Returns:
+        file: The cargo-bazel-config.json written.
+    """
+    default_render_config = _default_render_config()
+    if render_config == None:
+        render_config = default_render_config
+
+    if mode == "local":
         build_file_base_template = "@{}//{}/{{name}}-{{version}}:BUILD.bazel"
         crate_label_template = "//{}/{{name}}-{{version}}:{{target}}".format(
             output_pkg,
         )
     else:
         build_file_base_template = "@{}//{}:BUILD.{{name}}-{{version}}.bazel"
-        crate_label_template = rendering_config["crate_label_template"]
+        crate_label_template = render_config["crate_label_template"]
 
     updates = {
         "build_file_template": build_file_base_template.format(
@@ -158,47 +222,42 @@
             workspace_name,
             output_pkg,
         ),
-        "vendor_mode": ctx.attr.mode,
+        "vendor_mode": mode,
     }
 
+    # "crate_label_template" is explicitly supported above in non-local modes
+    excluded_from_key_check = ["crate_label_template"]
+
     for key in updates:
-        if rendering_config[key] != default_render_config[key]:
+        if (render_config[key] != default_render_config[key]) and key not in excluded_from_key_check:
             fail("The `crates_vendor.render_config` attribute does not support the `{}` parameter. Please update {} to remove this value.".format(
                 key,
                 ctx.label,
             ))
 
-    rendering_config.update(updates)
+    render_config.update(updates)
 
     # Allow users to override the regen command.
-    if "regen_command" not in rendering_config or not rendering_config["regen_command"]:
-        rendering_config.update({"regen_command": "bazel run {}".format(ctx.label)})
+    if "regen_command" not in render_config or not render_config["regen_command"]:
+        render_config.update({"regen_command": "bazel run {}".format(ctx.label)})
 
     config_data = compile_config(
-        crate_annotations = ctx.attr.annotations,
-        generate_binaries = ctx.attr.generate_binaries,
-        generate_build_scripts = ctx.attr.generate_build_scripts,
-        generate_target_compatible_with = ctx.attr.generate_target_compatible_with,
+        crate_annotations = annotations,
+        generate_binaries = generate_binaries,
+        generate_build_scripts = generate_build_scripts,
+        generate_target_compatible_with = generate_target_compatible_with,
         cargo_config = None,
-        render_config = rendering_config,
-        supported_platform_triples = ctx.attr.supported_platform_triples,
-        repository_name = ctx.attr.repository_name or ctx.label.name,
+        render_config = render_config,
+        supported_platform_triples = supported_platform_triples,
+        repository_name = repository_name or ctx.label.name,
+        repository_ctx = repository_ctx,
     )
 
-    config = _write_data_file(
-        ctx = ctx,
-        name = "cargo-bazel-config.json",
-        data = json.encode_indent(
-            config_data,
-            indent = " " * 4,
-        ),
+    return json.encode_indent(
+        config_data,
+        indent = " " * 4,
     )
 
-    is_windows = _is_windows(ctx)
-    args = ["--config", _runfiles_path(config, is_windows)]
-    runfiles = [config] + ctx.files.manifests
-    return args, runfiles
-
 def _crates_vendor_impl(ctx):
     toolchain = ctx.toolchains[Label("@rules_rust//rust:toolchain_type")]
     is_windows = _is_windows(ctx)
@@ -283,6 +342,103 @@
         executable = runner,
     )
 
+CRATES_VENDOR_ATTRS = {
+    "annotations": attr.string_list_dict(
+        doc = "Extra settings to apply to crates. See [crate.annotation](#crateannotation).",
+    ),
+    "bazel": attr.label(
+        doc = "The path to a bazel binary used to locate the output_base for the current workspace.",
+        cfg = "exec",
+        executable = True,
+        allow_files = True,
+    ),
+    "buildifier": attr.label(
+        doc = "The path to a [buildifier](https://github.com/bazelbuild/buildtools/blob/5.0.1/buildifier/README.md) binary used to format generated BUILD files.",
+        cfg = "exec",
+        executable = True,
+        allow_files = True,
+        default = Label("//crate_universe/private/vendor:buildifier"),
+    ),
+    "cargo_bazel": attr.label(
+        doc = (
+            "The cargo-bazel binary to use for vendoring. If this attribute is not set, then a " +
+            "`{}` action env will be used.".format(CARGO_BAZEL_GENERATOR_PATH)
+        ),
+        cfg = "exec",
+        executable = True,
+        allow_files = True,
+        default = CARGO_BAZEL_LABEL,
+    ),
+    "cargo_config": attr.label(
+        doc = "A [Cargo configuration](https://doc.rust-lang.org/cargo/reference/config.html) file.",
+        allow_single_file = True,
+    ),
+    "cargo_lockfile": attr.label(
+        doc = "The path to an existing `Cargo.lock` file",
+        allow_single_file = True,
+    ),
+    "generate_binaries": attr.bool(
+        doc = (
+            "Whether to generate `rust_binary` targets for all the binary crates in every package. " +
+            "By default only the `rust_library` targets are generated."
+        ),
+        default = False,
+    ),
+    "generate_build_scripts": attr.bool(
+        doc = (
+            "Whether or not to generate " +
+            "[cargo build scripts](https://doc.rust-lang.org/cargo/reference/build-scripts.html) by default."
+        ),
+        default = True,
+    ),
+    "generate_target_compatible_with": attr.bool(
+        doc = "DEPRECATED: Moved to `render_config`.",
+        default = True,
+    ),
+    "manifests": attr.label_list(
+        doc = "A list of Cargo manifests (`Cargo.toml` files).",
+        allow_files = ["Cargo.toml"],
+    ),
+    "mode": attr.string(
+        doc = (
+            "Flags determining how crates should be vendored. `local` is where crate source and BUILD files are " +
+            "written to the repository. `remote` is where only BUILD files are written and repository rules " +
+            "used to fetch source code."
+        ),
+        values = [
+            "local",
+            "remote",
+        ],
+        default = "remote",
+    ),
+    "packages": attr.string_dict(
+        doc = "A set of crates (packages) specifications to depend on. See [crate.spec](#crate.spec).",
+    ),
+    "render_config": attr.string(
+        doc = (
+            "The configuration flags to use for rendering. Use `//crate_universe:defs.bzl\\%render_config` to " +
+            "generate the value for this field. If unset, the defaults defined there will be used."
+        ),
+    ),
+    "repository_name": attr.string(
+        doc = "The name of the repository to generate for `remote` vendor modes. If unset, the label name will be used",
+    ),
+    "splicing_config": attr.string(
+        doc = (
+            "The configuration flags to use for splicing Cargo maniests. Use `//crate_universe:defs.bzl\\%rsplicing_config` to " +
+            "generate the value for this field. If unset, the defaults defined there will be used."
+        ),
+    ),
+    "supported_platform_triples": attr.string_list(
+        doc = "A set of all platform triples to consider when generating dependencies.",
+        default = SUPPORTED_PLATFORM_TRIPLES,
+    ),
+    "vendor_path": attr.string(
+        doc = "The path to a directory to write files into. Absolute paths will be treated as relative to the workspace root",
+        default = "crates",
+    ),
+}
+
 crates_vendor = rule(
     implementation = _crates_vendor_impl,
     doc = """\
@@ -357,105 +513,7 @@
 | `package_name@1.2.3` | `cargo upgrade --package package_name --precise 1.2.3` |
 
 """,
-    attrs = {
-        "annotations": attr.string_list_dict(
-            doc = "Extra settings to apply to crates. See [crate.annotation](#crateannotation).",
-        ),
-        "bazel": attr.label(
-            doc = "The path to a bazel binary used to locate the output_base for the current workspace.",
-            cfg = "exec",
-            executable = True,
-            allow_files = True,
-        ),
-        "buildifier": attr.label(
-            doc = "The path to a [buildifier](https://github.com/bazelbuild/buildtools/blob/5.0.1/buildifier/README.md) binary used to format generated BUILD files.",
-            cfg = "exec",
-            executable = True,
-            allow_files = True,
-            default = Label("//crate_universe/private/vendor:buildifier"),
-        ),
-        "cargo_bazel": attr.label(
-            doc = (
-                "The cargo-bazel binary to use for vendoring. If this attribute is not set, then a " +
-                "`{}` action env will be used.".format(CARGO_BAZEL_GENERATOR_PATH)
-            ),
-            cfg = "exec",
-            executable = True,
-            allow_files = True,
-            default = CARGO_BAZEL_LABEL,
-        ),
-        "cargo_config": attr.label(
-            doc = "A [Cargo configuration](https://doc.rust-lang.org/cargo/reference/config.html) file.",
-            allow_single_file = True,
-        ),
-        "cargo_lockfile": attr.label(
-            doc = "The path to an existing `Cargo.lock` file",
-            allow_single_file = True,
-        ),
-        "generate_binaries": attr.bool(
-            doc = (
-                "Whether to generate `rust_binary` targets for all the binary crates in every package. " +
-                "By default only the `rust_library` targets are generated."
-            ),
-            default = False,
-        ),
-        "generate_build_scripts": attr.bool(
-            doc = (
-                "Whether or not to generate " +
-                "[cargo build scripts](https://doc.rust-lang.org/cargo/reference/build-scripts.html) by default."
-            ),
-            default = True,
-        ),
-        "generate_target_compatible_with": attr.bool(
-            doc = (
-                "Whether to generate `target_compatible_with` annotations on the generated BUILD files.  This catches a `target_triple` " +
-                "being targeted that isn't declared in `supported_platform_triples."
-            ),
-            default = True,
-        ),
-        "manifests": attr.label_list(
-            doc = "A list of Cargo manifests (`Cargo.toml` files).",
-            allow_files = ["Cargo.toml"],
-        ),
-        "mode": attr.string(
-            doc = (
-                "Flags determining how crates should be vendored. `local` is where crate source and BUILD files are " +
-                "written to the repository. `remote` is where only BUILD files are written and repository rules " +
-                "used to fetch source code."
-            ),
-            values = [
-                "local",
-                "remote",
-            ],
-            default = "remote",
-        ),
-        "packages": attr.string_dict(
-            doc = "A set of crates (packages) specifications to depend on. See [crate.spec](#crate.spec).",
-        ),
-        "render_config": attr.string(
-            doc = (
-                "The configuration flags to use for rendering. Use `//crate_universe:defs.bzl\\%render_config` to " +
-                "generate the value for this field. If unset, the defaults defined there will be used."
-            ),
-        ),
-        "repository_name": attr.string(
-            doc = "The name of the repository to generate for `remote` vendor modes. If unset, the label name will be used",
-        ),
-        "splicing_config": attr.string(
-            doc = (
-                "The configuration flags to use for splicing Cargo maniests. Use `//crate_universe:defs.bzl\\%rsplicing_config` to " +
-                "generate the value for this field. If unset, the defaults defined there will be used."
-            ),
-        ),
-        "supported_platform_triples": attr.string_list(
-            doc = "A set of all platform triples to consider when generating dependencies.",
-            default = SUPPORTED_PLATFORM_TRIPLES,
-        ),
-        "vendor_path": attr.string(
-            doc = "The path to a directory to write files into. Absolute paths will be treated as relative to the workspace root",
-            default = "crates",
-        ),
-    },
+    attrs = CRATES_VENDOR_ATTRS,
     executable = True,
     toolchains = ["@rules_rust//rust:toolchain_type"],
 )
diff --git a/crate_universe/private/generate_utils.bzl b/crate_universe/private/generate_utils.bzl
index cd00f21..67784a6 100644
--- a/crate_universe/private/generate_utils.bzl
+++ b/crate_universe/private/generate_utils.bzl
@@ -1,6 +1,6 @@
 """Utilities directly related to the `generate` step of `cargo-bazel`."""
 
-load(":common_utils.bzl", "CARGO_BAZEL_ISOLATED", "REPIN_ALLOWLIST_ENV_VAR", "REPIN_ENV_VARS", "cargo_environ", "execute")
+load(":common_utils.bzl", "CARGO_BAZEL_DEBUG", "CARGO_BAZEL_ISOLATED", "REPIN_ALLOWLIST_ENV_VAR", "REPIN_ENV_VARS", "cargo_environ", "execute", "parse_alias_rule")
 
 CARGO_BAZEL_GENERATOR_SHA256 = "CARGO_BAZEL_GENERATOR_SHA256"
 CARGO_BAZEL_GENERATOR_URL = "CARGO_BAZEL_GENERATOR_URL"
@@ -12,8 +12,8 @@
 
 CRATES_REPOSITORY_ENVIRON = GENERATOR_ENV_VARS + REPIN_ENV_VARS + [
     REPIN_ALLOWLIST_ENV_VAR,
-] + [
     CARGO_BAZEL_ISOLATED,
+    CARGO_BAZEL_DEBUG,
 ]
 
 def get_generator(repository_ctx, host_triple):
@@ -85,10 +85,13 @@
         crate_label_template = "@{repository}__{name}-{version}//:{target}",
         crate_repository_template = "{repository}__{name}-{version}",
         crates_module_template = "//:{file}",
+        default_alias_rule = "alias",
         default_package_name = None,
+        generate_target_compatible_with = True,
         platforms_template = "@rules_rust//rust/platform:{triple}",
         regen_command = None,
-        vendor_mode = None):
+        vendor_mode = None,
+        generate_rules_license_metadata = False):
     """Various settings used to configure rendered outputs
 
     The template parameters each support a select number of format keys. A description of each key
@@ -112,13 +115,21 @@
             available format keys are [`{repository}`, `{name}`, `{version}`].
         crates_module_template (str, optional): The pattern to use for the `defs.bzl` and `BUILD.bazel`
             file names used for the crates module. The available format keys are [`{file}`].
+        default_alias_rule (str, option): Alias rule to use when generating aliases for all crates.  Acceptable values
+            are 'alias', 'dbg'/'fastbuild'/'opt' (transitions each crate's `compilation_mode`)  or a string
+            representing a rule in the form '<label to .bzl>:<rule>' that takes a single label parameter 'actual'.
+            See '@crate_index//:alias_rules.bzl' for an example.
         default_package_name (str, optional): The default package name to use in the rendered macros. This affects the
             auto package detection of things like `all_crate_deps`.
+        generate_target_compatible_with (bool, optional):  Whether to generate `target_compatible_with` annotations on
+            the generated BUILD files.  This catches a `target_triple`being targeted that isn't declared in
+            `supported_platform_triples`.
         platforms_template (str, optional): The base template to use for platform names.
             See [platforms documentation](https://docs.bazel.build/versions/main/platforms.html). The available format
             keys are [`{triple}`].
         regen_command (str, optional): An optional command to demonstrate how generated files should be regenerated.
         vendor_mode (str, optional): An optional configuration for rendirng content to be rendered into repositories.
+        generate_rules_license_metadata (bool, optional): Whether to generate rules license metedata
 
     Returns:
         string: A json encoded struct to match the Rust `config::RenderConfig` struct
@@ -128,10 +139,13 @@
         crate_label_template = crate_label_template,
         crate_repository_template = crate_repository_template,
         crates_module_template = crates_module_template,
+        default_alias_rule = parse_alias_rule(default_alias_rule),
         default_package_name = default_package_name,
+        generate_target_compatible_with = generate_target_compatible_with,
         platforms_template = platforms_template,
         regen_command = regen_command,
         vendor_mode = vendor_mode,
+        generate_rules_license_metadata = generate_rules_license_metadata,
     ))
 
 def _crate_id(name, version):
@@ -228,7 +242,7 @@
             `crates_repository.annotations` or `crates_vendor.annotations`.
         generate_binaries (bool): Whether to generate `rust_binary` targets for all bins.
         generate_build_scripts (bool): Whether or not to globally disable build scripts.
-        generate_target_compatible_with (bool): Whether to emit `target_compatible_with` on generated rules
+        generate_target_compatible_with (bool): DEPRECATED: Moved to `render_config`.
         cargo_config (str): The optional contents of a [Cargo config][cargo_config].
         render_config (dict): The deserialized dict of the `render_config` function.
         supported_platform_triples (list): A list of platform triples
@@ -258,10 +272,15 @@
     if unexpected:
         fail("The following annotations use `additive_build_file` which is not supported for {}: {}".format(repository_name, unexpected))
 
+    # Deprecated: Apply `generate_target_compatible_with` to `render_config`.
+    if not generate_target_compatible_with:
+        # buildifier: disable=print
+        print("DEPRECATED: 'generate_target_compatible_with' has been moved to 'render_config'")
+        render_config.update({"generate_target_compatible_with": False})
+
     config = struct(
         generate_binaries = generate_binaries,
         generate_build_scripts = generate_build_scripts,
-        generate_target_compatible_with = generate_target_compatible_with,
         annotations = annotations,
         cargo_config = cargo_config,
         rendering = _update_render_config(
diff --git a/examples/bzlmod/hello_world/WORKSPACE b/crate_universe/private/module_extensions/BUILD.bazel
similarity index 100%
copy from examples/bzlmod/hello_world/WORKSPACE
copy to crate_universe/private/module_extensions/BUILD.bazel
diff --git a/crate_universe/private/module_extensions/cargo_bazel_bootstrap.bzl b/crate_universe/private/module_extensions/cargo_bazel_bootstrap.bzl
new file mode 100644
index 0000000..28b6e12
--- /dev/null
+++ b/crate_universe/private/module_extensions/cargo_bazel_bootstrap.bzl
@@ -0,0 +1,54 @@
+"""Module extension for bootstrapping cargo-bazel."""
+
+load("//crate_universe:deps_bootstrap.bzl", _cargo_bazel_bootstrap_repo_rule = "cargo_bazel_bootstrap")
+
+def _cargo_bazel_bootstrap_impl(_):
+    _cargo_bazel_bootstrap_repo_rule(
+        rust_toolchain_cargo_template = "@rust_host_tools//:bin/{tool}",
+        rust_toolchain_rustc_template = "@rust_host_tools//:bin/{tool}",
+    )
+
+cargo_bazel_bootstrap = module_extension(
+    implementation = _cargo_bazel_bootstrap_impl,
+    doc = """Module extension to generate the cargo_bazel binary.""",
+)
+
+def get_cargo_bazel_runner(module_ctx):
+    """A helper function to allow executing cargo_bazel in module extensions.
+
+    Args:
+        module_ctx: The module extension's context.
+
+    Returns:
+        A function that can be called to execute cargo_bazel.
+    """
+
+    cargo_path = str(module_ctx.path(Label("@rust_host_tools//:bin/cargo")))
+    rustc_path = str(module_ctx.path(Label("@rust_host_tools//:bin/rustc")))
+    cargo_bazel = module_ctx.path(Label("@cargo_bazel_bootstrap//:cargo-bazel"))
+
+    # Placing this as a nested function allows users to call this right at the
+    # start of a module extension, thus triggering any restarts as early as
+    # possible (since module_ctx.path triggers restarts).
+    def run(args, env = {}, timeout = 600):
+        final_args = [cargo_bazel]
+        final_args.extend(args)
+        final_args.extend([
+            "--cargo",
+            cargo_path,
+            "--rustc",
+            rustc_path,
+        ])
+        result = module_ctx.execute(
+            final_args,
+            environment = dict(CARGO = cargo_path, RUSTC = rustc_path, **env),
+            timeout = timeout,
+        )
+        if result.return_code != 0:
+            if result.stdout:
+                print("Stdout:", result.stdout)  # buildifier: disable=print
+            pretty_args = " ".join([str(arg) for arg in final_args])
+            fail("%s returned with exit code %d:\n%s" % (pretty_args, result.return_code, result.stderr))
+        return result
+
+    return run
diff --git a/crate_universe/private/splicing_utils.bzl b/crate_universe/private/splicing_utils.bzl
index 98b9e7c..b3f7704 100644
--- a/crate_universe/private/splicing_utils.bzl
+++ b/crate_universe/private/splicing_utils.bzl
@@ -1,10 +1,8 @@
 """Utilities directly related to the `splicing` step of `cargo-bazel`."""
 
-load(":common_utils.bzl", "CARGO_BAZEL_REPIN", "REPIN", "cargo_environ", "execute")
+load(":common_utils.bzl", "CARGO_BAZEL_DEBUG", "CARGO_BAZEL_REPIN", "REPIN", "cargo_environ", "execute")
 
-CARGO_BAZEL_DEBUG = "CARGO_BAZEL_DEBUG"
-
-def splicing_config(resolver_version = "1"):
+def splicing_config(resolver_version = "2"):
     """Various settings used to configure Cargo manifest splicing behavior.
 
     [rv]: https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
diff --git a/crate_universe/private/srcs.bzl b/crate_universe/private/srcs.bzl
index 46746d6..ecd5a8b 100644
--- a/crate_universe/private/srcs.bzl
+++ b/crate_universe/private/srcs.bzl
@@ -2,6 +2,9 @@
 
 # Each source file is tracked as a target so the `cargo_bootstrap_repository`
 # rule will know to automatically rebuild if any of the sources changed.
+
+# Run 'bazel run //crate_universe/private:srcs_module.install' to regenerate.
+
 CARGO_BAZEL_SRCS = [
     Label("//crate_universe:src/cli.rs"),
     Label("//crate_universe:src/cli/generate.rs"),
@@ -27,6 +30,8 @@
     Label("//crate_universe:src/rendering/templates/partials/module/repo_git.j2"),
     Label("//crate_universe:src/rendering/templates/partials/module/repo_http.j2"),
     Label("//crate_universe:src/rendering/templates/vendor_module.j2"),
+    Label("//crate_universe:src/rendering/verbatim/alias_rules.bzl"),
+    Label("//crate_universe:src/select.rs"),
     Label("//crate_universe:src/splicing.rs"),
     Label("//crate_universe:src/splicing/cargo_config.rs"),
     Label("//crate_universe:src/splicing/crate_index_lookup.rs"),
@@ -37,6 +42,11 @@
     Label("//crate_universe:src/utils/starlark/glob.rs"),
     Label("//crate_universe:src/utils/starlark/label.rs"),
     Label("//crate_universe:src/utils/starlark/select.rs"),
+    Label("//crate_universe:src/utils/starlark/select_dict.rs"),
+    Label("//crate_universe:src/utils/starlark/select_list.rs"),
+    Label("//crate_universe:src/utils/starlark/select_scalar.rs"),
+    Label("//crate_universe:src/utils/starlark/select_set.rs"),
     Label("//crate_universe:src/utils/starlark/serialize.rs"),
     Label("//crate_universe:src/utils/starlark/target_compatible_with.rs"),
+    Label("//crate_universe:src/utils/target_triple.rs"),
 ]
diff --git a/crate_universe/private/vendor_utils.bzl b/crate_universe/private/vendor_utils.bzl
index a866edd..71476c9 100644
--- a/crate_universe/private/vendor_utils.bzl
+++ b/crate_universe/private/vendor_utils.bzl
@@ -14,10 +14,18 @@
 }
 
 def crates_vendor_deps():
+    """Define dependencies of the `crates_vendor` rule
+
+    Returns:
+        list[struct(repo=str, is_dev_dep=bool)]: List of the dependency repositories.
+    """
+    direct_deps = []
+
     for bin, sha256 in _BUILDIFIER_SHA256S.items():
+        repo = "cargo_bazel.{}".format(bin)
         maybe(
             http_file,
-            name = "cargo_bazel.{}".format(bin),
+            name = repo,
             urls = [_BUILDIFIER_URL_TEMPLATE.format(
                 bin = bin,
                 version = _BUILDIFIER_VERSION,
@@ -26,6 +34,9 @@
             downloaded_file_path = "buildifier.exe",
             executable = True,
         )
+        direct_deps.append(struct(repo = repo, is_dev_dep = False))
+
+    return direct_deps
 
 # buildifier: disable=unnamed-macro
 def crates_vendor_deps_targets():
diff --git a/crate_universe/repositories.bzl b/crate_universe/repositories.bzl
index c06e06d..de5452d 100644
--- a/crate_universe/repositories.bzl
+++ b/crate_universe/repositories.bzl
@@ -7,19 +7,24 @@
 load("//crate_universe/private:vendor_utils.bzl", "crates_vendor_deps")
 load("//crate_universe/tools/cross_installer:cross_installer_deps.bzl", "cross_installer_deps")
 
-def crate_universe_dependencies(rust_version = rust_common.default_version, bootstrap = False):
+def crate_universe_dependencies(rust_version = rust_common.default_version, bootstrap = False, **kwargs):
     """Define dependencies of the `cargo-bazel` Rust target
 
     Args:
         rust_version (str, optional): The version of rust to use when generating dependencies.
         bootstrap (bool, optional): If true, a `cargo_bootstrap_repository` target will be generated.
+        **kwargs: Arguments to pass through to cargo_bazel_bootstrap.
+
+    Returns:
+        list[struct(repo=str, is_dev_dep=bool)]: A list of the repositories
+        defined by this macro.
     """
     third_party_deps()
 
     if bootstrap:
-        cargo_bazel_bootstrap(rust_version = rust_version)
+        cargo_bazel_bootstrap(rust_version = rust_version, **kwargs)
 
-    _vendor_crate_repositories()
-
-    crates_vendor_deps()
+    direct_deps = _vendor_crate_repositories()
+    direct_deps.extend(crates_vendor_deps())
     cross_installer_deps()
+    return direct_deps
diff --git a/crate_universe/src/cli.rs b/crate_universe/src/cli.rs
index ade755c..945c6d8 100644
--- a/crate_universe/src/cli.rs
+++ b/crate_universe/src/cli.rs
@@ -6,6 +6,12 @@
 mod vendor;
 
 use clap::Parser;
+use tracing::{Level, Subscriber};
+use tracing_subscriber::fmt::format::{Format, Full};
+use tracing_subscriber::fmt::time::SystemTime;
+use tracing_subscriber::fmt::{FormatEvent, FormatFields};
+use tracing_subscriber::registry::LookupSpan;
+use tracing_subscriber::FmtSubscriber;
 
 pub use self::generate::GenerateOptions;
 pub use self::query::QueryOptions;
@@ -44,3 +50,62 @@
 pub fn parse_args() -> Options {
     Options::parse()
 }
+
+const EXPECTED_LOGGER_NAMES: [&str; 4] = ["Generate", "Splice", "Query", "Vendor"];
+
+/// A wrapper for the tracing-subscriber default [FormatEvent]
+/// that prepends the name of the active CLI option.
+struct LoggingFormatEvent {
+    name: String,
+    base: Format<Full, SystemTime>,
+}
+
+impl<S, N> FormatEvent<S, N> for LoggingFormatEvent
+where
+    S: Subscriber + for<'a> LookupSpan<'a>,
+    N: for<'a> FormatFields<'a> + 'static,
+{
+    fn format_event(
+        &self,
+        ctx: &tracing_subscriber::fmt::FmtContext<'_, S, N>,
+        mut writer: tracing_subscriber::fmt::format::Writer<'_>,
+        event: &tracing::Event<'_>,
+    ) -> std::fmt::Result {
+        write!(writer, "{} ", self.name)?;
+        self.base.format_event(ctx, writer, event)
+    }
+}
+
+impl LoggingFormatEvent {
+    fn new(name: &str) -> Self {
+        Self {
+            name: name.to_owned(),
+            base: Format::default(),
+        }
+    }
+}
+
+/// Initialize logging for one of the cli options.
+pub fn init_logging(name: &str) {
+    if !EXPECTED_LOGGER_NAMES.contains(&name) {
+        panic!(
+            "Unexpected logger name {}, use of one of {:?}",
+            name, EXPECTED_LOGGER_NAMES
+        );
+    }
+
+    // a builder for `FmtSubscriber`.
+    let subscriber = FmtSubscriber::builder()
+        // all spans/events with a level higher than TRACE (e.g, debug, info, warn, etc.)
+        // will be written to stdout.
+        .with_max_level(
+            std::env::var("CARGO_BAZEL_DEBUG")
+                .map(|_| Level::DEBUG)
+                .unwrap_or(Level::INFO),
+        )
+        .event_format(LoggingFormatEvent::new(name))
+        // completes the builder.
+        .finish();
+
+    tracing::subscriber::set_global_default(subscriber).expect("setting default subscriber failed");
+}
diff --git a/crate_universe/src/cli/generate.rs b/crate_universe/src/cli/generate.rs
index 925aecd..6215765 100644
--- a/crate_universe/src/cli/generate.rs
+++ b/crate_universe/src/cli/generate.rs
@@ -1,9 +1,10 @@
 //! The cli entrypoint for the `generate` subcommand
 
 use std::fs;
-use std::path::PathBuf;
+use std::path::{Path, PathBuf};
 
 use anyhow::{bail, Context as AnyhowContext, Result};
+use cargo_lock::Lockfile;
 use clap::Parser;
 
 use crate::config::Config;
@@ -73,12 +74,8 @@
             let context = Context::try_from_path(lockfile)?;
 
             // Render build files
-            let outputs = Renderer::new(
-                config.rendering,
-                config.supported_platform_triples,
-                config.generate_target_compatible_with,
-            )
-            .render(&context)?;
+            let outputs = Renderer::new(config.rendering, config.supported_platform_triples)
+                .render(&context)?;
 
             // Write the outputs to disk
             write_outputs(outputs, &opt.repository_dir, opt.dry_run)?;
@@ -116,7 +113,6 @@
     let outputs = Renderer::new(
         config.rendering.clone(),
         config.supported_platform_triples.clone(),
-        config.generate_target_compatible_with,
     )
     .render(&context)?;
 
@@ -133,8 +129,21 @@
         write_lockfile(lock_content, &lockfile, opt.dry_run)?;
     }
 
-    // Write the updated Cargo.lock file
-    fs::write(&opt.cargo_lockfile, cargo_lockfile.to_string())
+    update_cargo_lockfile(&opt.cargo_lockfile, cargo_lockfile)?;
+
+    Ok(())
+}
+
+fn update_cargo_lockfile(path: &Path, cargo_lockfile: Lockfile) -> Result<()> {
+    let old_contents = fs::read_to_string(path).ok();
+    let new_contents = cargo_lockfile.to_string();
+
+    // Don't overwrite identical contents because timestamp changes may invalidate repo rules.
+    if old_contents.as_ref() == Some(&new_contents) {
+        return Ok(());
+    }
+
+    fs::write(path, new_contents)
         .context("Failed to write Cargo.lock file back to the workspace.")?;
 
     Ok(())
diff --git a/crate_universe/src/cli/vendor.rs b/crate_universe/src/cli/vendor.rs
index 5d99bc2..bddd025 100644
--- a/crate_universe/src/cli/vendor.rs
+++ b/crate_universe/src/cli/vendor.rs
@@ -174,7 +174,6 @@
     let outputs = Renderer::new(
         config.rendering.clone(),
         config.supported_platform_triples.clone(),
-        config.generate_target_compatible_with,
     )
     .render(&context)?;
 
@@ -183,9 +182,7 @@
 
     // First ensure vendoring and rendering happen in a clean directory
     let vendor_dir_label = render_module_label(&config.rendering.crates_module_template, "BUILD")?;
-    let vendor_dir = opt
-        .workspace_dir
-        .join(vendor_dir_label.package.unwrap_or_default());
+    let vendor_dir = opt.workspace_dir.join(vendor_dir_label.package().unwrap());
     if vendor_dir.exists() {
         fs::remove_dir_all(&vendor_dir)
             .with_context(|| format!("Failed to delete {}", vendor_dir.display()))?;
diff --git a/crate_universe/src/config.rs b/crate_universe/src/config.rs
index 98af006..46f075c 100644
--- a/crate_universe/src/config.rs
+++ b/crate_universe/src/config.rs
@@ -15,6 +15,10 @@
 use serde::de::{Deserializer, SeqAccess, Visitor};
 use serde::{Deserialize, Serialize, Serializer};
 
+use crate::select::{Select, Selectable};
+use crate::utils::starlark::Label;
+use crate::utils::target_triple::TargetTriple;
+
 /// Representations of different kinds of crate vendoring into workspaces.
 #[derive(Debug, Serialize, Deserialize, Clone)]
 #[serde(rename_all = "lowercase")]
@@ -65,10 +69,19 @@
     #[serde(default = "default_crate_repository_template")]
     pub crate_repository_template: String,
 
+    /// Default alias rule to use for packages.  Can be overridden by annotations.
+    #[serde(default)]
+    pub default_alias_rule: AliasRule,
+
     /// The default of the `package_name` parameter to use for the module macros like `all_crate_deps`.
     /// In general, this should be be unset to allow the macros to do auto-detection in the analysis phase.
     pub default_package_name: Option<String>,
 
+    /// Whether to generate `target_compatible_with` annotations on the generated BUILD files.  This
+    /// catches a `target_triple`being targeted that isn't declared in `supported_platform_triples`.
+    #[serde(default = "default_generate_target_compatible_with")]
+    pub generate_target_compatible_with: bool,
+
     /// The pattern to use for platform constraints.
     /// Eg. `@rules_rust//rust/platform:{triple}`.
     #[serde(default = "default_platforms_template")]
@@ -79,6 +92,10 @@
 
     /// An optional configuration for rendering content to be rendered into repositories.
     pub vendor_mode: Option<VendorMode>,
+
+    /// Whether to generate package metadata
+    #[serde(default = "default_generate_rules_license_metadata")]
+    pub generate_rules_license_metadata: bool,
 }
 
 // Default is manually implemented so that the default values match the default
@@ -92,10 +109,13 @@
             crate_label_template: default_crate_label_template(),
             crates_module_template: default_crates_module_template(),
             crate_repository_template: default_crate_repository_template(),
+            default_alias_rule: AliasRule::default(),
             default_package_name: Option::default(),
+            generate_target_compatible_with: default_generate_target_compatible_with(),
             platforms_template: default_platforms_template(),
             regen_command: String::default(),
             vendor_mode: Option::default(),
+            generate_rules_license_metadata: default_generate_rules_license_metadata(),
         }
     }
 }
@@ -120,6 +140,14 @@
     "@rules_rust//rust/platform:{triple}".to_owned()
 }
 
+fn default_generate_target_compatible_with() -> bool {
+    true
+}
+
+fn default_generate_rules_license_metadata() -> bool {
+    false
+}
+
 /// A representation of some Git identifier used to represent the "revision" or "pin" of a checkout.
 #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord)]
 pub enum Commitish {
@@ -142,14 +170,6 @@
         }
     }
 }
-/// A value which may either be a plain String, or a dict of platform triples
-/// (or other cfg expressions understood by `crate::context::platforms::resolve_cfg_platforms`) to Strings.
-#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)]
-#[serde(untagged)]
-pub enum StringOrSelect {
-    Value(String),
-    Select(BTreeMap<String, String>),
-}
 
 /// Information representing deterministic identifiers for some remote asset.
 #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
@@ -169,7 +189,44 @@
     },
 }
 
-#[derive(Debug, Default, Deserialize, Serialize, Clone, PartialEq)]
+#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone)]
+pub enum AliasRule {
+    #[default]
+    #[serde(rename = "alias")]
+    Alias,
+    #[serde(rename = "dbg")]
+    Dbg,
+    #[serde(rename = "fastbuild")]
+    Fastbuild,
+    #[serde(rename = "opt")]
+    Opt,
+    #[serde(untagged)]
+    Custom { bzl: String, rule: String },
+}
+
+impl AliasRule {
+    pub fn bzl(&self) -> Option<String> {
+        match self {
+            AliasRule::Alias => None,
+            AliasRule::Dbg | AliasRule::Fastbuild | AliasRule::Opt => {
+                Some("//:alias_rules.bzl".to_owned())
+            }
+            AliasRule::Custom { bzl, .. } => Some(bzl.clone()),
+        }
+    }
+
+    pub fn rule(&self) -> String {
+        match self {
+            AliasRule::Alias => "alias".to_owned(),
+            AliasRule::Dbg => "transition_alias_dbg".to_owned(),
+            AliasRule::Fastbuild => "transition_alias_fastbuild".to_owned(),
+            AliasRule::Opt => "transition_alias_opt".to_owned(),
+            AliasRule::Custom { rule, .. } => rule.clone(),
+        }
+    }
+}
+
+#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
 pub struct CrateAnnotations {
     /// Which subset of the crate's bins should get produced as `rust_binary` targets.
     pub gen_binaries: Option<GenBinaries>,
@@ -179,19 +236,19 @@
 
     /// Additional data to pass to
     /// [deps](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-deps) attribute.
-    pub deps: Option<BTreeSet<StringOrSelect>>,
+    pub deps: Option<Select<BTreeSet<Label>>>,
 
     /// Additional data to pass to
     /// [proc_macro_deps](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-proc_macro_deps) attribute.
-    pub proc_macro_deps: Option<BTreeSet<StringOrSelect>>,
+    pub proc_macro_deps: Option<Select<BTreeSet<Label>>>,
 
     /// Additional data to pass to  the target's
     /// [crate_features](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-crate_features) attribute.
-    pub crate_features: Option<BTreeSet<String>>,
+    pub crate_features: Option<Select<BTreeSet<String>>>,
 
     /// Additional data to pass to  the target's
     /// [data](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-data) attribute.
-    pub data: Option<BTreeSet<String>>,
+    pub data: Option<Select<BTreeSet<Label>>>,
 
     /// An optional glob pattern to set on the
     /// [data](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-data) attribute.
@@ -199,7 +256,7 @@
 
     /// Additional data to pass to
     /// [compile_data](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-compile_data) attribute.
-    pub compile_data: Option<BTreeSet<String>>,
+    pub compile_data: Option<Select<BTreeSet<Label>>>,
 
     /// An optional glob pattern to set on the
     /// [compile_data](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-compile_data) attribute.
@@ -210,31 +267,31 @@
 
     /// Additional data to pass to  the target's
     /// [rustc_env](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-rustc_env) attribute.
-    pub rustc_env: Option<BTreeMap<String, String>>,
+    pub rustc_env: Option<Select<BTreeMap<String, String>>>,
 
     /// Additional data to pass to  the target's
     /// [rustc_env_files](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-rustc_env_files) attribute.
-    pub rustc_env_files: Option<BTreeSet<String>>,
+    pub rustc_env_files: Option<Select<BTreeSet<String>>>,
 
     /// Additional data to pass to the target's
     /// [rustc_flags](https://bazelbuild.github.io/rules_rust/defs.html#rust_library-rustc_flags) attribute.
-    pub rustc_flags: Option<Vec<String>>,
+    pub rustc_flags: Option<Select<Vec<String>>>,
 
     /// Additional dependencies to pass to a build script's
     /// [deps](https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script-deps) attribute.
-    pub build_script_deps: Option<BTreeSet<StringOrSelect>>,
+    pub build_script_deps: Option<Select<BTreeSet<Label>>>,
 
     /// Additional data to pass to a build script's
     /// [proc_macro_deps](https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script-proc_macro_deps) attribute.
-    pub build_script_proc_macro_deps: Option<BTreeSet<StringOrSelect>>,
+    pub build_script_proc_macro_deps: Option<Select<BTreeSet<Label>>>,
 
     /// Additional data to pass to a build script's
     /// [build_script_data](https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script-data) attribute.
-    pub build_script_data: Option<BTreeSet<StringOrSelect>>,
+    pub build_script_data: Option<Select<BTreeSet<Label>>>,
 
     /// Additional data to pass to a build script's
     /// [tools](https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script-tools) attribute.
-    pub build_script_tools: Option<BTreeSet<StringOrSelect>>,
+    pub build_script_tools: Option<Select<BTreeSet<Label>>>,
 
     /// An optional glob pattern to set on the
     /// [build_script_data](https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script-build_script_env) attribute.
@@ -242,18 +299,18 @@
 
     /// Additional environment variables to pass to a build script's
     /// [build_script_env](https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script-rustc_env) attribute.
-    pub build_script_env: Option<BTreeMap<String, StringOrSelect>>,
+    pub build_script_env: Option<Select<BTreeMap<String, String>>>,
 
     /// Additional rustc_env flags to pass to a build script's
     /// [rustc_env](https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script-rustc_env) attribute.
-    pub build_script_rustc_env: Option<BTreeMap<String, StringOrSelect>>,
+    pub build_script_rustc_env: Option<Select<BTreeMap<String, String>>>,
 
     /// Additional labels to pass to a build script's
     /// [toolchains](https://bazel.build/reference/be/common-definitions#common-attributes) attribute.
-    pub build_script_toolchains: Option<BTreeSet<String>>,
+    pub build_script_toolchains: Option<BTreeSet<Label>>,
 
     /// Directory to run the crate's build script in. If not set, will run in the manifest directory, otherwise a directory relative to the exec root.
-    pub build_script_rundir: Option<String>,
+    pub build_script_rundir: Option<Select<String>>,
 
     /// A scratch pad used to write arbitrary text to target BUILD files.
     pub additive_build_file_content: Option<String>,
@@ -276,6 +333,9 @@
 
     /// Extra targets the should be aliased during rendering.
     pub extra_aliased_targets: Option<BTreeMap<String, String>>,
+
+    /// Transition rule to use instead of `native.alias()`.
+    pub alias_rule: Option<AliasRule>,
 }
 
 macro_rules! joined_extra_member {
@@ -301,6 +361,18 @@
     type Output = CrateAnnotations;
 
     fn add(self, rhs: Self) -> Self::Output {
+        fn select_merge<T>(lhs: Option<Select<T>>, rhs: Option<Select<T>>) -> Option<Select<T>>
+        where
+            T: Selectable,
+        {
+            match (lhs, rhs) {
+                (Some(lhs), Some(rhs)) => Some(Select::merge(lhs, rhs)),
+                (Some(lhs), None) => Some(lhs),
+                (None, Some(rhs)) => Some(rhs),
+                (None, None) => None,
+            }
+        }
+
         let concat_string = |lhs: &mut String, rhs: String| {
             *lhs = format!("{lhs}{rhs}");
         };
@@ -309,24 +381,24 @@
         let output = CrateAnnotations {
             gen_binaries: self.gen_binaries.or(rhs.gen_binaries),
             gen_build_script: self.gen_build_script.or(rhs.gen_build_script),
-            deps: joined_extra_member!(self.deps, rhs.deps, BTreeSet::new, BTreeSet::extend),
-            proc_macro_deps: joined_extra_member!(self.proc_macro_deps, rhs.proc_macro_deps, BTreeSet::new, BTreeSet::extend),
-            crate_features: joined_extra_member!(self.crate_features, rhs.crate_features, BTreeSet::new, BTreeSet::extend),
-            data: joined_extra_member!(self.data, rhs.data, BTreeSet::new, BTreeSet::extend),
+            deps: select_merge(self.deps, rhs.deps),
+            proc_macro_deps: select_merge(self.proc_macro_deps, rhs.proc_macro_deps),
+            crate_features: select_merge(self.crate_features, rhs.crate_features),
+            data: select_merge(self.data, rhs.data),
             data_glob: joined_extra_member!(self.data_glob, rhs.data_glob, BTreeSet::new, BTreeSet::extend),
             disable_pipelining: self.disable_pipelining || rhs.disable_pipelining,
-            compile_data: joined_extra_member!(self.compile_data, rhs.compile_data, BTreeSet::new, BTreeSet::extend),
+            compile_data: select_merge(self.compile_data, rhs.compile_data),
             compile_data_glob: joined_extra_member!(self.compile_data_glob, rhs.compile_data_glob, BTreeSet::new, BTreeSet::extend),
-            rustc_env: joined_extra_member!(self.rustc_env, rhs.rustc_env, BTreeMap::new, BTreeMap::extend),
-            rustc_env_files: joined_extra_member!(self.rustc_env_files, rhs.rustc_env_files, BTreeSet::new, BTreeSet::extend),
-            rustc_flags: joined_extra_member!(self.rustc_flags, rhs.rustc_flags, Vec::new, Vec::extend),
-            build_script_deps: joined_extra_member!(self.build_script_deps, rhs.build_script_deps, BTreeSet::new, BTreeSet::extend),
-            build_script_proc_macro_deps: joined_extra_member!(self.build_script_proc_macro_deps, rhs.build_script_proc_macro_deps, BTreeSet::new, BTreeSet::extend),
-            build_script_data: joined_extra_member!(self.build_script_data, rhs.build_script_data, BTreeSet::new, BTreeSet::extend),
-            build_script_tools: joined_extra_member!(self.build_script_tools, rhs.build_script_tools, BTreeSet::new, BTreeSet::extend),
+            rustc_env: select_merge(self.rustc_env, rhs.rustc_env),
+            rustc_env_files: select_merge(self.rustc_env_files, rhs.rustc_env_files),
+            rustc_flags: select_merge(self.rustc_flags, rhs.rustc_flags),
+            build_script_deps: select_merge(self.build_script_deps, rhs.build_script_deps),
+            build_script_proc_macro_deps: select_merge(self.build_script_proc_macro_deps, rhs.build_script_proc_macro_deps),
+            build_script_data: select_merge(self.build_script_data, rhs.build_script_data),
+            build_script_tools: select_merge(self.build_script_tools, rhs.build_script_tools),
             build_script_data_glob: joined_extra_member!(self.build_script_data_glob, rhs.build_script_data_glob, BTreeSet::new, BTreeSet::extend),
-            build_script_env: joined_extra_member!(self.build_script_env, rhs.build_script_env, BTreeMap::new, BTreeMap::extend),
-            build_script_rustc_env: joined_extra_member!(self.build_script_rustc_env, rhs.build_script_rustc_env, BTreeMap::new, BTreeMap::extend),
+            build_script_env: select_merge(self.build_script_env, rhs.build_script_env),
+            build_script_rustc_env: select_merge(self.build_script_rustc_env, rhs.build_script_rustc_env),
             build_script_toolchains: joined_extra_member!(self.build_script_toolchains, rhs.build_script_toolchains, BTreeSet::new, BTreeSet::extend),
             build_script_rundir: self.build_script_rundir.or(rhs.build_script_rundir),
             additive_build_file_content: joined_extra_member!(self.additive_build_file_content, rhs.additive_build_file_content, String::new, concat_string),
@@ -335,6 +407,7 @@
             patch_tool: self.patch_tool.or(rhs.patch_tool),
             patches: joined_extra_member!(self.patches, rhs.patches, BTreeSet::new, BTreeSet::extend),
             extra_aliased_targets: joined_extra_member!(self.extra_aliased_targets, rhs.extra_aliased_targets, BTreeMap::new, BTreeMap::extend),
+            alias_rule: self.alias_rule.or(rhs.alias_rule),
         };
 
         output
@@ -366,17 +439,17 @@
 #[derive(Debug, Deserialize)]
 pub struct AnnotationsProvidedByPackage {
     pub gen_build_script: Option<bool>,
-    pub data: Option<BTreeSet<String>>,
+    pub data: Option<Select<BTreeSet<Label>>>,
     pub data_glob: Option<BTreeSet<String>>,
-    pub deps: Option<BTreeSet<StringOrSelect>>,
-    pub compile_data: Option<BTreeSet<String>>,
+    pub deps: Option<Select<BTreeSet<Label>>>,
+    pub compile_data: Option<Select<BTreeSet<Label>>>,
     pub compile_data_glob: Option<BTreeSet<String>>,
-    pub rustc_env: Option<BTreeMap<String, String>>,
-    pub rustc_env_files: Option<BTreeSet<String>>,
-    pub rustc_flags: Option<Vec<String>>,
-    pub build_script_env: Option<BTreeMap<String, StringOrSelect>>,
-    pub build_script_rustc_env: Option<BTreeMap<String, StringOrSelect>>,
-    pub build_script_rundir: Option<String>,
+    pub rustc_env: Option<Select<BTreeMap<String, String>>>,
+    pub rustc_env_files: Option<Select<BTreeSet<String>>>,
+    pub rustc_flags: Option<Select<Vec<String>>>,
+    pub build_script_env: Option<Select<BTreeMap<String, String>>>,
+    pub build_script_rustc_env: Option<Select<BTreeMap<String, String>>>,
+    pub build_script_rundir: Option<Select<String>>,
     pub additive_build_file_content: Option<String>,
     pub extra_aliased_targets: Option<BTreeMap<String, String>>,
 }
@@ -545,7 +618,7 @@
     }
 }
 
-#[derive(Debug, Hash, Clone, PartialEq)]
+#[derive(Debug, Hash, Clone, PartialEq, Eq)]
 pub enum GenBinaries {
     All,
     Some(BTreeSet<String>),
@@ -613,13 +686,6 @@
     /// Whether or not to generate Cargo build scripts by default
     pub generate_build_scripts: bool,
 
-    /// A set of platform triples to use in generated select statements
-    #[serde(
-        default = "default_generate_target_compatible_with",
-        skip_serializing_if = "skip_generate_target_compatible_with"
-    )]
-    pub generate_target_compatible_with: bool,
-
     /// Additional settings to apply to generated crates
     #[serde(default, skip_serializing_if = "BTreeMap::is_empty")]
     pub annotations: BTreeMap<CrateId, CrateAnnotations>,
@@ -632,7 +698,7 @@
 
     /// A set of platform triples to use in generated select statements
     #[serde(default, skip_serializing_if = "BTreeSet::is_empty")]
-    pub supported_platform_triples: BTreeSet<String>,
+    pub supported_platform_triples: BTreeSet<TargetTriple>,
 }
 
 impl Config {
@@ -642,13 +708,6 @@
     }
 }
 
-fn default_generate_target_compatible_with() -> bool {
-    true
-}
-fn skip_generate_target_compatible_with(value: &bool) -> bool {
-    *value
-}
-
 #[cfg(test)]
 mod test {
     use super::*;
@@ -715,7 +774,7 @@
             .unwrap();
         assert_eq!(
             annotation.crate_features,
-            Some(BTreeSet::from(["small_rng".to_owned()]))
+            Some(Select::from_value(BTreeSet::from(["small_rng".to_owned()])))
         );
 
         // Global settings
diff --git a/crate_universe/src/context.rs b/crate_universe/src/context.rs
index 41145c5..47dc994 100644
--- a/crate_universe/src/context.rs
+++ b/crate_universe/src/context.rs
@@ -14,14 +14,15 @@
 use crate::context::crate_context::{CrateContext, CrateDependency, Rule};
 use crate::context::platforms::resolve_cfg_platforms;
 use crate::lockfile::Digest;
-use crate::metadata::Annotations;
-use crate::utils::starlark::Select;
+use crate::metadata::{Annotations, Dependency};
+use crate::select::Select;
+use crate::utils::target_triple::TargetTriple;
 
 pub use self::crate_context::*;
 
 /// A struct containing information about a Cargo dependency graph in an easily to consume
 /// format for rendering reproducible Bazel targets.
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone)]
+#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
 pub struct Context {
     /// The collective checksum of all inputs to the context
     pub checksum: Option<Digest>,
@@ -37,7 +38,13 @@
     pub workspace_members: BTreeMap<CrateId, String>,
 
     /// A mapping of `cfg` flags to platform triples supporting the configuration
-    pub conditions: BTreeMap<String, BTreeSet<String>>,
+    pub conditions: BTreeMap<String, BTreeSet<TargetTriple>>,
+
+    /// A list of crates visible to any bazel module.
+    pub direct_deps: BTreeSet<CrateId>,
+
+    /// A list of crates visible to this bazel module.
+    pub direct_dev_deps: BTreeSet<CrateId>,
 }
 
 impl Context {
@@ -58,7 +65,7 @@
                     &annotations.metadata.packages,
                     &annotations.lockfile.crates,
                     &annotations.pairred_extras,
-                    &annotations.features,
+                    &annotations.crate_features,
                     annotations.config.generate_binaries,
                     annotations.config.generate_build_scripts,
                 );
@@ -99,7 +106,7 @@
                     Ok(id) => id,
                     Err(e) => return Some(Err(e)),
                 };
-                let crate_id = CrateId::new(pkg.name.clone(), pkg.version.to_string());
+                let crate_id = CrateId::from(pkg);
 
                 // Crates that have repository information are not considered workspace members.
                 // The assumpion is that they are "extra workspace members".
@@ -110,12 +117,36 @@
             })
             .collect::<Result<BTreeMap<CrateId, String>>>()?;
 
+        let add_crate_ids = |crates: &mut BTreeSet<CrateId>,
+                             deps: &Select<BTreeSet<Dependency>>| {
+            for dep in deps.values() {
+                crates.insert(CrateId::from(
+                    &annotations.metadata.packages[&dep.package_id],
+                ));
+            }
+        };
+
+        let mut direct_deps: BTreeSet<CrateId> = BTreeSet::new();
+        let mut direct_dev_deps: BTreeSet<CrateId> = BTreeSet::new();
+        for id in &annotations.metadata.workspace_members {
+            let deps = &annotations.metadata.crates[id].deps;
+            add_crate_ids(&mut direct_deps, &deps.normal_deps);
+            add_crate_ids(&mut direct_deps, &deps.proc_macro_deps);
+            add_crate_ids(&mut direct_deps, &deps.build_deps);
+            add_crate_ids(&mut direct_deps, &deps.build_link_deps);
+            add_crate_ids(&mut direct_deps, &deps.build_proc_macro_deps);
+            add_crate_ids(&mut direct_dev_deps, &deps.normal_dev_deps);
+            add_crate_ids(&mut direct_dev_deps, &deps.proc_macro_dev_deps);
+        }
+
         Ok(Self {
             checksum: None,
             crates,
             binary_crates,
             workspace_members,
             conditions,
+            direct_dev_deps: direct_dev_deps.difference(&direct_deps).cloned().collect(),
+            direct_deps,
         })
     }
 
@@ -161,7 +192,7 @@
     }
 
     /// Create a set of all direct dependencies of workspace member crates.
-    pub fn workspace_member_deps(&self) -> BTreeSet<&CrateDependency> {
+    pub fn workspace_member_deps(&self) -> BTreeSet<CrateDependency> {
         self.workspace_members
             .keys()
             .map(move |id| &self.crates[id])
@@ -172,11 +203,7 @@
                     &ctx.common_attrs.proc_macro_deps,
                     &ctx.common_attrs.proc_macro_deps_dev,
                 ])
-                .flat_map(|deps| {
-                    deps.configurations().into_iter().flat_map(move |conf| {
-                        deps.get_iter(conf).expect("Lookup should be guaranteed")
-                    })
-                })
+                .flat_map(|deps| deps.values())
             })
             .collect()
     }
diff --git a/crate_universe/src/context/crate_context.rs b/crate_universe/src/context/crate_context.rs
index d4301e8..3643523 100644
--- a/crate_universe/src/context/crate_context.rs
+++ b/crate_universe/src/context/crate_context.rs
@@ -5,12 +5,13 @@
 use cargo_metadata::{Node, Package, PackageId};
 use serde::{Deserialize, Serialize};
 
-use crate::config::{CrateId, GenBinaries};
-use crate::metadata::{CrateAnnotation, Dependency, PairredExtras, SourceAnnotation};
+use crate::config::{AliasRule, CrateId, GenBinaries};
+use crate::metadata::{CrateAnnotation, Dependency, PairedExtras, SourceAnnotation};
+use crate::select::Select;
 use crate::utils::sanitize_module_name;
-use crate::utils::starlark::{Glob, SelectList, SelectMap, SelectStringDict, SelectStringList};
+use crate::utils::starlark::{Glob, Label};
 
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone)]
+#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
 pub struct CrateDependency {
     /// The [CrateId] of the dependency
     pub id: CrateId,
@@ -58,98 +59,57 @@
     BuildScript(TargetAttributes),
 }
 
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone)]
-#[serde(untagged)]
-pub enum CrateFeatures {
-    // Not populated going forward. This just exists for backward compatiblity
-    // with old lock files.
-    LegacySet(BTreeSet<String>),
-
-    /// Map from target triplet to set of features.
-    SelectList(SelectList<String>),
-}
-
-impl Default for CrateFeatures {
-    fn default() -> Self {
-        CrateFeatures::SelectList(Default::default())
-    }
-}
-
-impl From<&CrateFeatures> for SelectList<String> {
-    fn from(value: &CrateFeatures) -> Self {
-        match value {
-            CrateFeatures::LegacySet(s) => {
-                let mut sl = SelectList::default();
-                for v in s {
-                    sl.insert(v.clone(), None);
-                }
-                sl
-            }
-            CrateFeatures::SelectList(sl) => sl.clone(),
-        }
-    }
-}
-
-impl CrateFeatures {
-    pub fn is_empty(&self) -> bool {
-        match self {
-            CrateFeatures::LegacySet(s) => s.is_empty(),
-            CrateFeatures::SelectList(sl) => sl.is_empty(),
-        }
-    }
-}
-
 /// A set of attributes common to most `rust_library`, `rust_proc_macro`, and other
 /// [core rules of `rules_rust`](https://bazelbuild.github.io/rules_rust/defs.html).
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone)]
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
 #[serde(default)]
 pub struct CommonAttributes {
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub compile_data: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub compile_data: Select<BTreeSet<Label>>,
 
     #[serde(skip_serializing_if = "BTreeSet::is_empty")]
     pub compile_data_glob: BTreeSet<String>,
 
-    #[serde(skip_serializing_if = "CrateFeatures::is_empty")]
-    pub crate_features: CrateFeatures,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub crate_features: Select<BTreeSet<String>>,
 
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub data: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub data: Select<BTreeSet<Label>>,
 
     #[serde(skip_serializing_if = "BTreeSet::is_empty")]
     pub data_glob: BTreeSet<String>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub deps: SelectList<CrateDependency>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub deps: Select<BTreeSet<CrateDependency>>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub extra_deps: SelectList<String>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub extra_deps: Select<BTreeSet<Label>>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub deps_dev: SelectList<CrateDependency>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub deps_dev: Select<BTreeSet<CrateDependency>>,
 
     pub edition: String,
 
     #[serde(skip_serializing_if = "Option::is_none")]
     pub linker_script: Option<String>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub proc_macro_deps: SelectList<CrateDependency>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub proc_macro_deps: Select<BTreeSet<CrateDependency>>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub extra_proc_macro_deps: SelectList<String>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub extra_proc_macro_deps: Select<BTreeSet<Label>>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub proc_macro_deps_dev: SelectList<CrateDependency>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub proc_macro_deps_dev: Select<BTreeSet<CrateDependency>>,
 
-    #[serde(skip_serializing_if = "SelectStringDict::is_empty")]
-    pub rustc_env: SelectStringDict,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub rustc_env: Select<BTreeMap<String, String>>,
 
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub rustc_env_files: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub rustc_env_files: Select<BTreeSet<String>>,
 
-    #[serde(skip_serializing_if = "Vec::is_empty")]
-    pub rustc_flags: Vec<String>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub rustc_flags: Select<Vec<String>>,
 
     pub version: String,
 
@@ -185,23 +145,23 @@
 
 // Build script attributes. See
 // https://bazelbuild.github.io/rules_rust/cargo.html#cargo_build_script
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone)]
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
 #[serde(default)]
 pub struct BuildScriptAttributes {
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub compile_data: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub compile_data: Select<BTreeSet<Label>>,
 
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub data: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub data: Select<BTreeSet<Label>>,
 
     #[serde(skip_serializing_if = "BTreeSet::is_empty")]
     pub data_glob: BTreeSet<String>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub deps: SelectList<CrateDependency>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub deps: Select<BTreeSet<CrateDependency>>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub extra_deps: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub extra_deps: Select<BTreeSet<Label>>,
 
     // TODO: refactor a crate with a build.rs file from two into three bazel
     // rules in order to deduplicate link_dep information. Currently as the
@@ -220,41 +180,41 @@
     // in which either all of the deps are in crate dependencies, or just the
     // normal dependencies. This could be handled a special rule, or just using
     // a `filegroup`.
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub link_deps: SelectList<CrateDependency>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub link_deps: Select<BTreeSet<CrateDependency>>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub extra_link_deps: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub extra_link_deps: Select<BTreeSet<Label>>,
 
-    #[serde(skip_serializing_if = "SelectStringDict::is_empty")]
-    pub build_script_env: SelectStringDict,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub build_script_env: Select<BTreeMap<String, String>>,
 
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub rundir: Option<String>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub rundir: Select<String>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub extra_proc_macro_deps: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub extra_proc_macro_deps: Select<BTreeSet<Label>>,
 
-    #[serde(skip_serializing_if = "SelectList::is_empty")]
-    pub proc_macro_deps: SelectList<CrateDependency>,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub proc_macro_deps: Select<BTreeSet<CrateDependency>>,
 
-    #[serde(skip_serializing_if = "SelectStringDict::is_empty")]
-    pub rustc_env: SelectStringDict,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub rustc_env: Select<BTreeMap<String, String>>,
 
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub rustc_flags: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub rustc_flags: Select<Vec<String>>,
 
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub rustc_env_files: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub rustc_env_files: Select<BTreeSet<String>>,
 
-    #[serde(skip_serializing_if = "SelectStringList::is_empty")]
-    pub tools: SelectStringList,
+    #[serde(skip_serializing_if = "Select::is_empty")]
+    pub tools: Select<BTreeSet<Label>>,
 
     #[serde(skip_serializing_if = "Option::is_none")]
     pub links: Option<String>,
 
     #[serde(skip_serializing_if = "BTreeSet::is_empty")]
-    pub toolchains: BTreeSet<String>,
+    pub toolchains: BTreeSet<Label>,
 }
 
 impl Default for BuildScriptAttributes {
@@ -282,7 +242,7 @@
     }
 }
 
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone)]
+#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
 #[serde(default)]
 pub struct CrateContext {
     /// The package name of the current crate
@@ -291,6 +251,9 @@
     /// The full version of the current crate
     pub version: String,
 
+    /// The package URL of the current crate
+    pub package_url: Option<String>,
+
     /// Optional source annotations if they were discoverable in the
     /// lockfile. Workspace Members will not have source annotations and
     /// potentially others.
@@ -314,6 +277,12 @@
     /// The license used by the crate
     pub license: Option<String>,
 
+    /// The SPDX licence IDs
+    pub license_ids: BTreeSet<String>,
+
+    // The license file
+    pub license_file: Option<String>,
+
     /// Additional text to add to the generated BUILD file.
     #[serde(skip_serializing_if = "Option::is_none")]
     pub additive_build_file_content: Option<String>,
@@ -325,6 +294,10 @@
     /// Extra targets that should be aliased.
     #[serde(skip_serializing_if = "BTreeMap::is_empty")]
     pub extra_aliased_targets: BTreeMap<String, String>,
+
+    /// Transition rule to use instead of `alias`.
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub alias_rule: Option<AliasRule>,
 }
 
 impl CrateContext {
@@ -332,8 +305,8 @@
         annotation: &CrateAnnotation,
         packages: &BTreeMap<PackageId, Package>,
         source_annotations: &BTreeMap<PackageId, SourceAnnotation>,
-        extras: &BTreeMap<CrateId, PairredExtras>,
-        features: &BTreeMap<CrateId, SelectList<String>>,
+        extras: &BTreeMap<CrateId, PairedExtras>,
+        crate_features: &BTreeMap<CrateId, Select<BTreeSet<String>>>,
         include_binaries: bool,
         include_build_scripts: bool,
     ) -> Self {
@@ -367,11 +340,11 @@
 
         // Gather all "common" attributes
         let mut common_attrs = CommonAttributes {
-            crate_features: CrateFeatures::SelectList(
-                features
-                    .get(&current_crate_id)
-                    .map_or_else(SelectList::default, |f| f.clone()),
-            ),
+            crate_features: crate_features
+                .get(&current_crate_id)
+                .cloned()
+                .unwrap_or_default(),
+
             deps,
             deps_dev,
             edition: package.edition.as_str().to_string(),
@@ -466,49 +439,68 @@
         let repository = source_annotations.get(&package.id).cloned();
 
         // Identify the license type
-        let license = package.license.clone();
+        let mut license_ids: BTreeSet<String> = BTreeSet::new();
+        if let Some(license) = &package.license {
+            if let Ok(parse_result) = spdx::Expression::parse_mode(license, spdx::ParseMode::LAX) {
+                parse_result.requirements().for_each(|er| {
+                    if let Some(license_id) = er.req.license.id() {
+                        license_ids.insert(license_id.name.to_string());
+                    }
+                });
+            }
+        }
+
+        let license_file = package.license_file.as_ref().map(|path| path.to_string());
+
+        let package_url: Option<String> = match package.repository {
+            Some(..) => package.repository.clone(),
+            None => package.homepage.clone(),
+        };
 
         // Create the crate's context and apply extra settings
         CrateContext {
             name: package.name.clone(),
             version: package.version.to_string(),
+            license: package.license.clone(),
+            license_ids,
+            license_file,
+            package_url,
             repository,
             targets,
             library_target_name,
             common_attrs,
             build_script_attrs,
-            license,
             additive_build_file_content: None,
             disable_pipelining: false,
             extra_aliased_targets: BTreeMap::new(),
+            alias_rule: None,
         }
         .with_overrides(extras)
     }
 
-    fn with_overrides(mut self, extras: &BTreeMap<CrateId, PairredExtras>) -> Self {
+    fn with_overrides(mut self, extras: &BTreeMap<CrateId, PairedExtras>) -> Self {
         let id = CrateId::new(self.name.clone(), self.version.clone());
 
         // Insert all overrides/extras
-        if let Some(pairred_override) = extras.get(&id) {
-            let crate_extra = &pairred_override.crate_extra;
+        if let Some(paired_override) = extras.get(&id) {
+            let crate_extra = &paired_override.crate_extra;
 
             // Deps
             if let Some(extra) = &crate_extra.deps {
-                self.common_attrs.extra_deps.extend(extra.iter().cloned());
+                self.common_attrs.extra_deps =
+                    Select::merge(self.common_attrs.extra_deps, extra.clone());
             }
 
             // Proc macro deps
             if let Some(extra) = &crate_extra.proc_macro_deps {
-                self.common_attrs
-                    .extra_proc_macro_deps
-                    .extend(extra.iter().cloned());
+                self.common_attrs.extra_proc_macro_deps =
+                    Select::merge(self.common_attrs.extra_proc_macro_deps, extra.clone());
             }
 
             // Compile data
             if let Some(extra) = &crate_extra.compile_data {
-                for data in extra.iter() {
-                    self.common_attrs.compile_data.insert(data.clone(), None);
-                }
+                self.common_attrs.compile_data =
+                    Select::merge(self.common_attrs.compile_data, extra.clone());
             }
 
             // Compile data glob
@@ -518,21 +510,13 @@
 
             // Crate features
             if let Some(extra) = &crate_extra.crate_features {
-                match &mut self.common_attrs.crate_features {
-                    CrateFeatures::LegacySet(s) => s.append(&mut extra.clone()),
-                    CrateFeatures::SelectList(sl) => {
-                        for data in extra.iter() {
-                            sl.insert(data.clone(), None);
-                        }
-                    }
-                }
+                self.common_attrs.crate_features =
+                    Select::merge(self.common_attrs.crate_features, extra.clone());
             }
 
             // Data
             if let Some(extra) = &crate_extra.data {
-                for data in extra.iter() {
-                    self.common_attrs.data.insert(data.clone(), None);
-                }
+                self.common_attrs.data = Select::merge(self.common_attrs.data, extra.clone());
             }
 
             // Data glob
@@ -547,48 +531,48 @@
 
             // Rustc flags
             if let Some(extra) = &crate_extra.rustc_flags {
-                self.common_attrs.rustc_flags.append(&mut extra.clone());
+                self.common_attrs.rustc_flags =
+                    Select::merge(self.common_attrs.rustc_flags, extra.clone());
             }
 
             // Rustc env
             if let Some(extra) = &crate_extra.rustc_env {
-                self.common_attrs.rustc_env.extend(extra.clone(), None);
+                self.common_attrs.rustc_env =
+                    Select::merge(self.common_attrs.rustc_env, extra.clone());
             }
 
             // Rustc env files
             if let Some(extra) = &crate_extra.rustc_env_files {
-                for data in extra.iter() {
-                    self.common_attrs.rustc_env_files.insert(data.clone(), None);
-                }
+                self.common_attrs.rustc_env_files =
+                    Select::merge(self.common_attrs.rustc_env_files, extra.clone());
             }
 
             // Build script Attributes
             if let Some(attrs) = &mut self.build_script_attrs {
                 // Deps
                 if let Some(extra) = &crate_extra.build_script_deps {
-                    attrs.extra_deps.extend(extra.iter().cloned())
+                    attrs.extra_deps = Select::merge(attrs.extra_deps.clone(), extra.clone());
                 }
 
                 // Proc macro deps
                 if let Some(extra) = &crate_extra.build_script_proc_macro_deps {
-                    attrs.extra_proc_macro_deps.extend(extra.iter().cloned());
+                    attrs.extra_proc_macro_deps =
+                        Select::merge(attrs.extra_proc_macro_deps.clone(), extra.clone());
                 }
 
                 // Data
                 if let Some(extra) = &crate_extra.build_script_data {
-                    attrs.data.extend(extra.iter().cloned());
+                    attrs.data = Select::merge(attrs.data.clone(), extra.clone());
                 }
 
                 // Tools
                 if let Some(extra) = &crate_extra.build_script_tools {
-                    attrs.tools.extend(extra.iter().cloned());
+                    attrs.tools = Select::merge(attrs.tools.clone(), extra.clone());
                 }
 
                 // Toolchains
                 if let Some(extra) = &crate_extra.build_script_toolchains {
-                    for data in extra {
-                        attrs.toolchains.insert(data.clone());
-                    }
+                    attrs.toolchains.extend(extra.iter().cloned());
                 }
 
                 // Data glob
@@ -598,20 +582,17 @@
 
                 // Rustc env
                 if let Some(extra) = &crate_extra.build_script_rustc_env {
-                    attrs
-                        .rustc_env
-                        .extend_from_string_or_select(extra.iter().map(clone_tuple));
+                    attrs.rustc_env = Select::merge(attrs.rustc_env.clone(), extra.clone());
                 }
 
                 // Build script env
                 if let Some(extra) = &crate_extra.build_script_env {
-                    attrs
-                        .build_script_env
-                        .extend_from_string_or_select(extra.iter().map(clone_tuple))
+                    attrs.build_script_env =
+                        Select::merge(attrs.build_script_env.clone(), extra.clone());
                 }
 
                 if let Some(rundir) = &crate_extra.build_script_rundir {
-                    attrs.rundir = Some(rundir.clone());
+                    attrs.rundir = Select::merge(attrs.rundir.clone(), rundir.clone());
                 }
             }
 
@@ -629,6 +610,11 @@
                 self.extra_aliased_targets.append(&mut extra.clone());
             }
 
+            // Transition alias
+            if let Some(alias_rule) = &crate_extra.alias_rule {
+                self.alias_rule.get_or_insert(alias_rule.clone());
+            }
+
             // Git shallow_since
             if let Some(SourceAnnotation::Git { shallow_since, .. }) = &mut self.repository {
                 *shallow_since = crate_extra.shallow_since.clone()
@@ -667,7 +653,7 @@
     /// Determine whether or not a crate __should__ include a build script
     /// (build.rs) if it happens to have one.
     fn crate_includes_build_script(
-        package_extra: Option<(&CrateId, &PairredExtras)>,
+        package_extra: Option<(&CrateId, &PairedExtras)>,
         default_generate_build_script: bool,
     ) -> bool {
         // If the crate has extra settings, which explicitly set `gen_build_script`, always use
@@ -756,11 +742,6 @@
     }
 }
 
-fn clone_tuple<V1: Clone, V2: Clone>(t: (&V1, &V2)) -> (V1, V2) {
-    let (v1, v2) = t;
-    (v1.clone(), v2.clone())
-}
-
 #[cfg(test)]
 mod test {
     use super::*;
@@ -792,7 +773,7 @@
             &annotations.metadata.packages,
             &annotations.lockfile.crates,
             &annotations.pairred_extras,
-            &annotations.features,
+            &annotations.crate_features,
             include_binaries,
             include_build_scripts,
         );
@@ -821,7 +802,7 @@
         let mut pairred_extras = BTreeMap::new();
         pairred_extras.insert(
             CrateId::new("common".to_owned(), "0.1.0".to_owned()),
-            PairredExtras {
+            PairedExtras {
                 package_id,
                 crate_extra: CrateAnnotations {
                     gen_binaries: Some(GenBinaries::All),
@@ -838,7 +819,7 @@
             &annotations.metadata.packages,
             &annotations.lockfile.crates,
             &pairred_extras,
-            &annotations.features,
+            &annotations.crate_features,
             include_binaries,
             include_build_scripts,
         );
@@ -901,7 +882,7 @@
             &annotations.metadata.packages,
             &annotations.lockfile.crates,
             &annotations.pairred_extras,
-            &annotations.features,
+            &annotations.crate_features,
             include_binaries,
             include_build_scripts,
         );
@@ -946,7 +927,7 @@
             &annotations.metadata.packages,
             &annotations.lockfile.crates,
             &annotations.pairred_extras,
-            &annotations.features,
+            &annotations.crate_features,
             include_binaries,
             include_build_scripts,
         );
@@ -981,7 +962,7 @@
             &annotations.metadata.packages,
             &annotations.lockfile.crates,
             &annotations.pairred_extras,
-            &annotations.features,
+            &annotations.crate_features,
             include_binaries,
             include_build_scripts,
         );
@@ -997,4 +978,123 @@
             })]),
         );
     }
+
+    fn package_context_test(
+        set_package: fn(package: &mut Package),
+        check_context: fn(context: CrateContext),
+    ) {
+        let mut annotations = common_annotations();
+        let crate_annotation = &annotations.metadata.crates[&PackageId {
+            repr: "common 0.1.0 (path+file://{TEMP_DIR}/common)".to_owned(),
+        }];
+        let include_binaries = false;
+        let include_build_scripts = false;
+
+        let package = annotations
+            .metadata
+            .packages
+            .get_mut(&crate_annotation.node.id)
+            .unwrap();
+        set_package(package);
+
+        let context = CrateContext::new(
+            crate_annotation,
+            &annotations.metadata.packages,
+            &annotations.lockfile.crates,
+            &annotations.pairred_extras,
+            &annotations.crate_features,
+            include_binaries,
+            include_build_scripts,
+        );
+
+        assert_eq!(context.name, "common");
+        check_context(context);
+    }
+
+    #[test]
+    fn context_with_parsable_license() {
+        package_context_test(
+            |package| {
+                package.license = Some("MIT OR Apache-2.0".to_owned());
+            },
+            |context| {
+                assert_eq!(
+                    context.license_ids,
+                    BTreeSet::from(["MIT".to_owned(), "Apache-2.0".to_owned(),]),
+                );
+            },
+        );
+    }
+
+    #[test]
+    fn context_with_unparsable_license() {
+        package_context_test(
+            |package| {
+                package.license = Some("NonSPDXLicenseID".to_owned());
+            },
+            |context| {
+                assert_eq!(context.license_ids, BTreeSet::default(),);
+            },
+        );
+    }
+
+    #[test]
+    fn context_with_license_file() {
+        package_context_test(
+            |package| {
+                package.license_file = Some("LICENSE.txt".into());
+            },
+            |context| {
+                assert_eq!(context.license_file, Some("LICENSE.txt".to_owned()),);
+            },
+        );
+    }
+
+    #[test]
+    fn context_package_url_with_only_repository() {
+        package_context_test(
+            |package| {
+                package.repository = Some("http://www.repostiory.com/".to_owned());
+                package.homepage = None;
+            },
+            |context| {
+                assert_eq!(
+                    context.package_url,
+                    Some("http://www.repostiory.com/".to_owned())
+                );
+            },
+        );
+    }
+
+    #[test]
+    fn context_package_url_with_only_homepage() {
+        package_context_test(
+            |package| {
+                package.repository = None;
+                package.homepage = Some("http://www.homepage.com/".to_owned());
+            },
+            |context| {
+                assert_eq!(
+                    context.package_url,
+                    Some("http://www.homepage.com/".to_owned())
+                );
+            },
+        );
+    }
+
+    #[test]
+    fn context_package_url_prefers_repository() {
+        package_context_test(
+            |package| {
+                package.repository = Some("http://www.repostiory.com/".to_owned());
+                package.homepage = Some("http://www.homepage.com/".to_owned());
+            },
+            |context| {
+                assert_eq!(
+                    context.package_url,
+                    Some("http://www.repostiory.com/".to_owned())
+                );
+            },
+        );
+    }
 }
diff --git a/crate_universe/src/context/platforms.rs b/crate_universe/src/context/platforms.rs
index bfe98c8..f3bc160 100644
--- a/crate_universe/src/context/platforms.rs
+++ b/crate_universe/src/context/platforms.rs
@@ -5,56 +5,53 @@
 use cfg_expr::{Expression, Predicate};
 
 use crate::context::CrateContext;
-use crate::utils::starlark::Select;
+use crate::utils::target_triple::TargetTriple;
 
 /// Walk through all dependencies in a [CrateContext] list for all configuration specific
-/// dependencies to produce a mapping of configuration to compatible platform triples.
-/// Also adds mappings for all known platform triples.
+/// dependencies to produce a mapping of configurations/Cargo target_triples to compatible
+/// Bazel target_triples.  Also adds mappings for all known target_triples.
 pub fn resolve_cfg_platforms(
     crates: Vec<&CrateContext>,
-    supported_platform_triples: &BTreeSet<String>,
-) -> Result<BTreeMap<String, BTreeSet<String>>> {
+    supported_platform_triples: &BTreeSet<TargetTriple>,
+) -> Result<BTreeMap<String, BTreeSet<TargetTriple>>> {
     // Collect all unique configurations from all dependencies into a single set
     let configurations: BTreeSet<String> = crates
         .iter()
         .flat_map(|ctx| {
             let attr = &ctx.common_attrs;
-            attr.deps
-                .configurations()
-                .into_iter()
-                .chain(attr.deps_dev.configurations())
-                .chain(attr.proc_macro_deps.configurations())
-                .chain(attr.proc_macro_deps_dev.configurations())
-                // Chain the build dependencies if some are defined
-                .chain(if let Some(attr) = &ctx.build_script_attrs {
-                    attr.deps
-                        .configurations()
-                        .into_iter()
-                        .chain(attr.proc_macro_deps.configurations())
-                        .collect::<BTreeSet<Option<&String>>>()
-                        .into_iter()
-                } else {
-                    BTreeSet::new().into_iter()
-                })
-                .flatten()
+            let mut configurations = BTreeSet::new();
+
+            configurations.extend(attr.deps.configurations());
+            configurations.extend(attr.deps_dev.configurations());
+            configurations.extend(attr.proc_macro_deps.configurations());
+            configurations.extend(attr.proc_macro_deps_dev.configurations());
+
+            // Chain the build dependencies if some are defined
+            if let Some(attr) = &ctx.build_script_attrs {
+                configurations.extend(attr.deps.configurations());
+                configurations.extend(attr.proc_macro_deps.configurations());
+            }
+
+            configurations
         })
-        .cloned()
         .collect();
 
     // Generate target information for each triple string
     let target_infos = supported_platform_triples
         .iter()
-        .map(|t| match get_builtin_target_by_triple(t) {
-            Some(info) => Ok(info),
-            None => Err(anyhow!(
-                "Invalid platform triple in supported platforms: {}",
-                t
-            )),
-        })
-        .collect::<Result<Vec<&'static TargetInfo>>>()?;
+        .map(
+            |target_triple| match get_builtin_target_by_triple(&target_triple.to_cargo()) {
+                Some(info) => Ok((target_triple, info)),
+                None => Err(anyhow!(
+                    "Invalid platform triple in supported platforms: {}",
+                    target_triple
+                )),
+            },
+        )
+        .collect::<Result<BTreeMap<&TargetTriple, &'static TargetInfo>>>()?;
 
     // `cfg-expr` does not understand configurations that are simply platform triples
-    // (`x86_64-unknown-linux-gun` vs `cfg(target = "x86_64-unkonwn-linux-gnu")`). So
+    // (`x86_64-unknown-linux-gnu` vs `cfg(target = "x86_64-unkonwn-linux-gnu")`). So
     // in order to parse configurations, the text is renamed for the check but the
     // original is retained for comaptibility with the manifest.
     let rename = |cfg: &str| -> String { format!("cfg(target = \"{cfg}\")") };
@@ -64,12 +61,12 @@
         .map(|cfg| (rename(cfg), cfg.clone()))
         .collect();
 
-    configurations
+    let mut conditions = configurations
         .into_iter()
         // `cfg-expr` requires that the expressions be actual `cfg` expressions. Any time
         // there's a target triple (which is a valid constraint), convert it to a cfg expression.
         .map(|cfg| match cfg.starts_with("cfg(") {
-            true => cfg.to_string(),
+            true => cfg,
             false => rename(&cfg),
         })
         // Check the current configuration with against each supported triple
@@ -79,17 +76,17 @@
 
             let triples = target_infos
                 .iter()
-                .filter(|info| {
+                .filter(|(_, target_info)| {
                     expression.eval(|p| match p {
-                        Predicate::Target(tp) => tp.matches(**info),
+                        Predicate::Target(tp) => tp.matches(**target_info),
                         Predicate::KeyValue { key, val } => {
-                            *key == "target" && val == &info.triple.as_str()
+                            *key == "target" && val == &target_info.triple.as_str()
                         }
                         // For now there is no other kind of matching
                         _ => false,
                     })
                 })
-                .map(|info| info.triple.to_string())
+                .map(|(triple, _)| (*triple).clone())
                 .collect();
 
             // Map any renamed configurations back to their original IDs
@@ -100,11 +97,15 @@
 
             Ok((cfg, triples))
         })
-        .chain(supported_platform_triples.iter().filter_map(|triple| {
-            let target = get_builtin_target_by_triple(triple);
-            target.map(|target| Ok((triple.clone(), [target.triple.to_string()].into())))
-        }))
-        .collect()
+        .collect::<Result<BTreeMap<String, BTreeSet<TargetTriple>>>>()?;
+    // Insert identity relationships.
+    for target_triple in supported_platform_triples.iter() {
+        conditions
+            .entry(target_triple.to_bazel())
+            .or_default()
+            .insert(target_triple.clone());
+    }
+    Ok(conditions)
 }
 
 #[cfg(test)]
@@ -112,21 +113,21 @@
     use crate::config::CrateId;
     use crate::context::crate_context::CrateDependency;
     use crate::context::CommonAttributes;
-    use crate::utils::starlark::SelectList;
+    use crate::select::Select;
 
     use super::*;
 
-    fn supported_platform_triples() -> BTreeSet<String> {
+    fn supported_platform_triples() -> BTreeSet<TargetTriple> {
         BTreeSet::from([
-            "aarch64-apple-darwin".to_owned(),
-            "i686-apple-darwin".to_owned(),
-            "x86_64-unknown-linux-gnu".to_owned(),
+            TargetTriple::from_bazel("aarch64-apple-darwin".to_owned()),
+            TargetTriple::from_bazel("i686-apple-darwin".to_owned()),
+            TargetTriple::from_bazel("x86_64-unknown-linux-gnu".to_owned()),
         ])
     }
 
     #[test]
     fn resolve_no_targeted() {
-        let mut deps = SelectList::default();
+        let mut deps: Select<BTreeSet<CrateDependency>> = Select::default();
         deps.insert(
             CrateDependency {
                 id: CrateId::new("mock_crate_b".to_owned(), "0.1.0".to_owned()),
@@ -155,22 +156,24 @@
                 // All known triples.
                 (
                     "aarch64-apple-darwin".to_owned(),
-                    BTreeSet::from(["aarch64-apple-darwin".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel("aarch64-apple-darwin".to_owned())]),
                 ),
                 (
                     "i686-apple-darwin".to_owned(),
-                    BTreeSet::from(["i686-apple-darwin".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel("i686-apple-darwin".to_owned())]),
                 ),
                 (
                     "x86_64-unknown-linux-gnu".to_owned(),
-                    BTreeSet::from(["x86_64-unknown-linux-gnu".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel(
+                        "x86_64-unknown-linux-gnu".to_owned()
+                    )]),
                 ),
             ])
         )
     }
 
     fn mock_resolve_context(configuration: String) -> CrateContext {
-        let mut deps = SelectList::default();
+        let mut deps: Select<BTreeSet<CrateDependency>> = Select::default();
         deps.insert(
             CrateDependency {
                 id: CrateId::new("mock_crate_b".to_owned(), "0.1.0".to_owned()),
@@ -196,13 +199,15 @@
         let data = BTreeMap::from([
             (
                 r#"cfg(target = "x86_64-unknown-linux-gnu")"#.to_owned(),
-                BTreeSet::from(["x86_64-unknown-linux-gnu".to_owned()]),
+                BTreeSet::from([TargetTriple::from_bazel(
+                    "x86_64-unknown-linux-gnu".to_owned(),
+                )]),
             ),
             (
                 r#"cfg(any(target_os = "macos", target_os = "ios"))"#.to_owned(),
                 BTreeSet::from([
-                    "aarch64-apple-darwin".to_owned(),
-                    "i686-apple-darwin".to_owned(),
+                    TargetTriple::from_bazel("aarch64-apple-darwin".to_owned()),
+                    TargetTriple::from_bazel("i686-apple-darwin".to_owned()),
                 ]),
             ),
         ]);
@@ -220,15 +225,19 @@
                     // All known triples.
                     (
                         "aarch64-apple-darwin".to_owned(),
-                        BTreeSet::from(["aarch64-apple-darwin".to_owned()]),
+                        BTreeSet::from([TargetTriple::from_bazel(
+                            "aarch64-apple-darwin".to_owned()
+                        )]),
                     ),
                     (
                         "i686-apple-darwin".to_owned(),
-                        BTreeSet::from(["i686-apple-darwin".to_owned()]),
+                        BTreeSet::from([TargetTriple::from_bazel("i686-apple-darwin".to_owned())]),
                     ),
                     (
                         "x86_64-unknown-linux-gnu".to_owned(),
-                        BTreeSet::from(["x86_64-unknown-linux-gnu".to_owned()]),
+                        BTreeSet::from([TargetTriple::from_bazel(
+                            "x86_64-unknown-linux-gnu".to_owned()
+                        )]),
                     ),
                 ])
             );
@@ -238,7 +247,7 @@
     #[test]
     fn resolve_platforms() {
         let configuration = r#"x86_64-unknown-linux-gnu"#.to_owned();
-        let mut deps = SelectList::default();
+        let mut deps: Select<BTreeSet<CrateDependency>> = Select::default();
         deps.insert(
             CrateDependency {
                 id: CrateId::new("mock_crate_b".to_owned(), "0.1.0".to_owned()),
@@ -266,20 +275,24 @@
             BTreeMap::from([
                 (
                     configuration,
-                    BTreeSet::from(["x86_64-unknown-linux-gnu".to_owned()])
+                    BTreeSet::from([TargetTriple::from_bazel(
+                        "x86_64-unknown-linux-gnu".to_owned()
+                    )])
                 ),
                 // All known triples.
                 (
                     "aarch64-apple-darwin".to_owned(),
-                    BTreeSet::from(["aarch64-apple-darwin".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel("aarch64-apple-darwin".to_owned())]),
                 ),
                 (
                     "i686-apple-darwin".to_owned(),
-                    BTreeSet::from(["i686-apple-darwin".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel("i686-apple-darwin".to_owned())]),
                 ),
                 (
                     "x86_64-unknown-linux-gnu".to_owned(),
-                    BTreeSet::from(["x86_64-unknown-linux-gnu".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel(
+                        "x86_64-unknown-linux-gnu".to_owned()
+                    )]),
                 ),
             ])
         );
@@ -288,7 +301,7 @@
     #[test]
     fn resolve_unsupported_targeted() {
         let configuration = r#"cfg(target = "x86_64-unknown-unknown")"#.to_owned();
-        let mut deps = SelectList::default();
+        let mut deps: Select<BTreeSet<CrateDependency>> = Select::default();
         deps.insert(
             CrateDependency {
                 id: CrateId::new("mock_crate_b".to_owned(), "0.1.0".to_owned()),
@@ -318,15 +331,17 @@
                 // All known triples.
                 (
                     "aarch64-apple-darwin".to_owned(),
-                    BTreeSet::from(["aarch64-apple-darwin".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel("aarch64-apple-darwin".to_owned())]),
                 ),
                 (
                     "i686-apple-darwin".to_owned(),
-                    BTreeSet::from(["i686-apple-darwin".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel("i686-apple-darwin".to_owned())]),
                 ),
                 (
                     "x86_64-unknown-linux-gnu".to_owned(),
-                    BTreeSet::from(["x86_64-unknown-linux-gnu".to_owned()]),
+                    BTreeSet::from([TargetTriple::from_bazel(
+                        "x86_64-unknown-linux-gnu".to_owned()
+                    )]),
                 ),
             ])
         );
diff --git a/crate_universe/src/lib.rs b/crate_universe/src/lib.rs
index e6fbd6f..12d9633 100644
--- a/crate_universe/src/lib.rs
+++ b/crate_universe/src/lib.rs
@@ -7,6 +7,7 @@
 mod lockfile;
 mod metadata;
 mod rendering;
+mod select;
 mod splicing;
 mod utils;
 
diff --git a/crate_universe/src/lockfile.rs b/crate_universe/src/lockfile.rs
index 352ffec..3eaae23 100644
--- a/crate_universe/src/lockfile.rs
+++ b/crate_universe/src/lockfile.rs
@@ -189,6 +189,7 @@
 mod test {
     use crate::config::{CrateAnnotations, CrateId};
     use crate::splicing::cargo_config::{AdditionalRegistry, CargoConfig, Registry};
+    use crate::utils::target_triple::TargetTriple;
 
     use super::*;
 
@@ -210,8 +211,8 @@
         );
 
         assert_eq!(
+            Digest("83ad667352ca5a7cb3cc60f171a65f3bf264c7c97c6d91113d4798ca1dfb8d48".to_owned()),
             digest,
-            Digest("fcca6635448d70091bffb6409f5edb153a46fcf7e889e39a33a9b9ff6e345ca0".to_owned())
         );
     }
 
@@ -230,15 +231,15 @@
             )]),
             cargo_config: None,
             supported_platform_triples: BTreeSet::from([
-                "aarch64-apple-darwin".to_owned(),
-                "aarch64-unknown-linux-gnu".to_owned(),
-                "aarch64-pc-windows-msvc".to_owned(),
-                "wasm32-unknown-unknown".to_owned(),
-                "wasm32-wasi".to_owned(),
-                "x86_64-apple-darwin".to_owned(),
-                "x86_64-pc-windows-msvc".to_owned(),
-                "x86_64-unknown-freebsd".to_owned(),
-                "x86_64-unknown-linux-gnu".to_owned(),
+                TargetTriple::from_bazel("aarch64-apple-darwin".to_owned()),
+                TargetTriple::from_bazel("aarch64-unknown-linux-gnu".to_owned()),
+                TargetTriple::from_bazel("aarch64-pc-windows-msvc".to_owned()),
+                TargetTriple::from_bazel("wasm32-unknown-unknown".to_owned()),
+                TargetTriple::from_bazel("wasm32-wasi".to_owned()),
+                TargetTriple::from_bazel("x86_64-apple-darwin".to_owned()),
+                TargetTriple::from_bazel("x86_64-pc-windows-msvc".to_owned()),
+                TargetTriple::from_bazel("x86_64-unknown-freebsd".to_owned()),
+                TargetTriple::from_bazel("x86_64-unknown-linux-gnu".to_owned()),
             ]),
             ..Config::default()
         };
@@ -255,8 +256,8 @@
         );
 
         assert_eq!(
+            Digest("40a5ede6a47639166062fffab74e5dbe229b1d2508bcf70d8dfeba04b4f4ac9a".to_owned()),
             digest,
-            Digest("1a578e7b710c75d269335fe39440e2b5a013dee85e02dc7e7aabafe1d0a3525e".to_owned())
         );
     }
 
@@ -286,8 +287,8 @@
         );
 
         assert_eq!(
+            Digest("10a1921f3122042d6c513392992e4b3982d0ed8985fdc2dee965c466f8cb00a4".to_owned()),
             digest,
-            Digest("e199dd859bd5b75d6b152f364f8cc6ad6c3a2a68ae777dfb8b250c2d90e35f28".to_owned())
         );
     }
 
@@ -335,8 +336,8 @@
         );
 
         assert_eq!(
+            Digest("9e3d58a48b375bec2cf8c783d92f5d8db67306046e652ee376f30c362c882f56".to_owned()),
             digest,
-            Digest("0222be160f1031346cc209a8732c678bf32acb08f891fdfa0e9965d0ad22a33a".to_owned())
         );
     }
 }
diff --git a/crate_universe/src/main.rs b/crate_universe/src/main.rs
index 0a79db4..6e6387f 100644
--- a/crate_universe/src/main.rs
+++ b/crate_universe/src/main.rs
@@ -7,9 +7,21 @@
     let opt = cli::parse_args();
 
     match opt {
-        cli::Options::Generate(opt) => cli::generate(opt),
-        cli::Options::Splice(opt) => cli::splice(opt),
-        cli::Options::Query(opt) => cli::query(opt),
-        cli::Options::Vendor(opt) => cli::vendor(opt),
+        cli::Options::Generate(opt) => {
+            cli::init_logging("Generate");
+            cli::generate(opt)
+        }
+        cli::Options::Splice(opt) => {
+            cli::init_logging("Splice");
+            cli::splice(opt)
+        }
+        cli::Options::Query(opt) => {
+            cli::init_logging("Query");
+            cli::query(opt)
+        }
+        cli::Options::Vendor(opt) => {
+            cli::init_logging("Vendor");
+            cli::vendor(opt)
+        }
     }
 }
diff --git a/crate_universe/src/metadata.rs b/crate_universe/src/metadata.rs
index 4e8cf1a..029850a 100644
--- a/crate_universe/src/metadata.rs
+++ b/crate_universe/src/metadata.rs
@@ -12,14 +12,16 @@
 use std::str::FromStr;
 use std::sync::{Arc, Mutex};
 
-use crate::lockfile::Digest;
 use anyhow::{anyhow, bail, Context, Result};
 use cargo_lock::Lockfile as CargoLockfile;
 use cargo_metadata::{Metadata as CargoMetadata, MetadataCommand};
 use semver::Version;
+use tracing::debug;
 
 use crate::config::CrateId;
-use crate::utils::starlark::SelectList;
+use crate::lockfile::Digest;
+use crate::select::Select;
+use crate::utils::target_triple::TargetTriple;
 
 pub use self::dependency::*;
 pub use self::metadata_annotation::*;
@@ -74,12 +76,17 @@
             cargo_lock::Lockfile::load(lock_path)?
         };
 
+        let mut other_options = vec!["--locked".to_owned()];
+        if self.cargo_bin.is_nightly()? {
+            other_options.push("-Zbindeps".to_owned());
+        }
+
         let metadata = self
             .cargo_bin
             .metadata_command()?
             .current_dir(manifest_dir)
             .manifest_path(manifest_path.as_ref())
-            .other_options(["--locked".to_owned()])
+            .other_options(other_options)
             .exec()?;
 
         Ok((metadata, lockfile))
@@ -89,7 +96,7 @@
 /// Cargo encapsulates a path to a `cargo` binary.
 /// Any invocations of `cargo` (either as a `std::process::Command` or via `cargo_metadata`) should
 /// go via this wrapper to ensure that any environment variables needed are set appropriately.
-#[derive(Clone)]
+#[derive(Debug, Clone)]
 pub struct Cargo {
     path: PathBuf,
     full_version: Arc<Mutex<Option<String>>>,
@@ -107,6 +114,9 @@
     pub fn command(&self) -> Result<Command> {
         let mut command = Command::new(&self.path);
         command.envs(self.env()?);
+        if self.is_nightly()? {
+            command.arg("-Zbindeps");
+        }
         Ok(command)
     }
 
@@ -131,6 +141,16 @@
         Ok(full_version.clone().unwrap())
     }
 
+    pub fn is_nightly(&self) -> Result<bool> {
+        let full_version = self.full_version()?;
+        let version_str = full_version.split(' ').nth(1);
+        if let Some(version_str) = version_str {
+            let version = Version::parse(version_str).context("Failed to parse cargo version")?;
+            return Ok(version.pre.as_str() == "nightly");
+        }
+        bail!("Couldn't parse cargo version");
+    }
+
     pub fn use_sparse_registries_for_crates_io(&self) -> Result<bool> {
         let full_version = self.full_version()?;
         let version_str = full_version.split(' ').nth(1);
@@ -141,6 +161,18 @@
         bail!("Couldn't parse cargo version");
     }
 
+    /// Determine if Cargo is expected to be using the new package_id spec. For
+    /// details see <https://github.com/rust-lang/cargo/pull/13311>
+    pub fn uses_new_package_id_format(&self) -> Result<bool> {
+        let full_version = self.full_version()?;
+        let version_str = full_version.split(' ').nth(1);
+        if let Some(version_str) = version_str {
+            let version = Version::parse(version_str).context("Failed to parse cargo version")?;
+            return Ok(version.major >= 1 && version.minor >= 78);
+        }
+        bail!("Couldn't parse cargo version");
+    }
+
     fn env(&self) -> Result<BTreeMap<String, String>> {
         let mut map = BTreeMap::new();
 
@@ -264,16 +296,20 @@
         }
     }
 
+    #[tracing::instrument(name = "LockGenerator::generate", skip_all)]
     pub fn generate(
         &self,
         manifest_path: &Path,
         existing_lock: &Option<PathBuf>,
         update_request: &Option<CargoUpdateRequest>,
     ) -> Result<cargo_lock::Lockfile> {
+        debug!("Generating Cargo Lockfile for {}", manifest_path.display());
+
         let manifest_dir = manifest_path.parent().unwrap();
         let generated_lockfile_path = manifest_dir.join("Cargo.lock");
 
         if let Some(lock) = existing_lock {
+            debug!("Using existing lock {}", lock.display());
             if !lock.exists() {
                 bail!(
                     "An existing lockfile path was provided but a file at '{}' does not exist",
@@ -320,6 +356,7 @@
                 ))
             }
         } else {
+            debug!("Generating new lockfile");
             // Simply invoke `cargo generate-lockfile`
             let output = self
                 .cargo_bin
@@ -368,8 +405,13 @@
             rustc_bin,
         }
     }
-
+    #[tracing::instrument(name = "VendorGenerator::generate", skip_all)]
     pub fn generate(&self, manifest_path: &Path, output_dir: &Path) -> Result<()> {
+        debug!(
+            "Vendoring {} to {}",
+            manifest_path.display(),
+            output_dir.display()
+        );
         let manifest_dir = manifest_path.parent().unwrap();
 
         // Simply invoke `cargo generate-lockfile`
@@ -401,6 +443,7 @@
             bail!(format!("Failed to vendor sources with: {}", output.status))
         }
 
+        debug!("Done");
         Ok(())
     }
 }
@@ -423,14 +466,21 @@
     }
 
     /// Computes the set of enabled features for each target triplet for each crate.
+    #[tracing::instrument(name = "FeatureGenerator::generate", skip_all)]
     pub fn generate(
         &self,
         manifest_path: &Path,
-        platform_triples: &BTreeSet<String>,
-    ) -> Result<BTreeMap<CrateId, SelectList<String>>> {
+        target_triples: &BTreeSet<TargetTriple>,
+    ) -> Result<BTreeMap<CrateId, Select<BTreeSet<String>>>> {
+        debug!(
+            "Generating features for manifest {}",
+            manifest_path.display()
+        );
+
         let manifest_dir = manifest_path.parent().unwrap();
-        let mut target_to_child = BTreeMap::new();
-        for target in platform_triples {
+        let mut target_triple_to_child = BTreeMap::new();
+        debug!("Spawning processes for {:?}", target_triples);
+        for target_triple in target_triples {
             // We use `cargo tree` here because `cargo metadata` doesn't report
             // back target-specific features (enabled with `resolver = "2"`).
             // This is unfortunately a bit of a hack. See:
@@ -450,7 +500,7 @@
                 .arg("--color=never")
                 .arg("--workspace")
                 .arg("--target")
-                .arg(target)
+                .arg(target_triple.to_cargo())
                 .env("RUSTC", &self.rustc_bin)
                 .stdout(std::process::Stdio::piped())
                 .stderr(std::process::Stdio::piped())
@@ -458,20 +508,21 @@
                 .with_context(|| {
                     format!(
                         "Error spawning cargo in child process to compute features for target '{}', manifest path '{}'",
-                        target,
+                        target_triple,
                         manifest_path.display()
                     )
                 })?;
-            target_to_child.insert(target, output);
+            target_triple_to_child.insert(target_triple, output);
         }
-        let mut crate_features = BTreeMap::<CrateId, BTreeMap<String, BTreeSet<String>>>::new();
-        for (target, child) in target_to_child.into_iter() {
+        let mut crate_features =
+            BTreeMap::<CrateId, BTreeMap<TargetTriple, BTreeSet<String>>>::new();
+        for (target_triple, child) in target_triple_to_child.into_iter() {
             let output = child
                 .wait_with_output()
                 .with_context(|| {
                     format!(
                         "Error running cargo in child process to compute features for target '{}', manifest path '{}'",
-                        target,
+                        target_triple,
                         manifest_path.display()
                     )
                 })?;
@@ -480,16 +531,18 @@
                 eprintln!("{}", String::from_utf8_lossy(&output.stderr));
                 bail!(format!("Failed to run cargo tree: {}", output.status))
             }
+            debug!("Process complete for {}", target_triple);
             for (crate_id, features) in
                 parse_features_from_cargo_tree_output(output.stdout.lines())?
             {
+                debug!("\tFor {} features were: {:?}", crate_id, features);
                 crate_features
                     .entry(crate_id)
                     .or_default()
-                    .insert(target.to_owned(), features);
+                    .insert(target_triple.clone(), features);
             }
         }
-        let mut result = BTreeMap::<CrateId, SelectList<String>>::new();
+        let mut result = BTreeMap::<CrateId, Select<BTreeSet<String>>>::new();
         for (crate_id, features) in crate_features.into_iter() {
             let common = features
                 .iter()
@@ -501,18 +554,18 @@
                     },
                 )
                 .unwrap_or_default();
-            let mut select_list = SelectList::default();
-            for (target, fs) in features {
+            let mut select: Select<BTreeSet<String>> = Select::default();
+            for (target_triple, fs) in features {
                 if fs != common {
                     for f in fs {
-                        select_list.insert(f, Some(target.clone()));
+                        select.insert(f, Some(target_triple.to_bazel()));
                     }
                 }
             }
             for f in common {
-                select_list.insert(f, None);
+                select.insert(f, None);
             }
-            result.insert(crate_id, select_list);
+            result.insert(crate_id, select);
         }
         Ok(result)
     }
diff --git a/crate_universe/src/metadata/dependency.rs b/crate_universe/src/metadata/dependency.rs
index fcc058b..6987125 100644
--- a/crate_universe/src/metadata/dependency.rs
+++ b/crate_universe/src/metadata/dependency.rs
@@ -1,15 +1,18 @@
 //! Gathering dependencies is the largest part of annotating.
+use std::collections::BTreeSet;
 
 use anyhow::{bail, Result};
-use cargo_metadata::{Metadata as CargoMetadata, Node, NodeDep, Package, PackageId};
+use cargo_metadata::{
+    DependencyKind, Metadata as CargoMetadata, Node, NodeDep, Package, PackageId,
+};
 use cargo_platform::Platform;
 use serde::{Deserialize, Serialize};
 
+use crate::select::Select;
 use crate::utils::sanitize_module_name;
-use crate::utils::starlark::{Select, SelectList};
 
 /// A representation of a crate dependency
-#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Clone)]
+#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
 pub struct Dependency {
     /// The PackageId of the target
     pub package_id: PackageId,
@@ -24,13 +27,13 @@
 /// A collection of [Dependency]s sorted by dependency kind.
 #[derive(Debug, Default, Serialize, Deserialize)]
 pub struct DependencySet {
-    pub normal_deps: SelectList<Dependency>,
-    pub normal_dev_deps: SelectList<Dependency>,
-    pub proc_macro_deps: SelectList<Dependency>,
-    pub proc_macro_dev_deps: SelectList<Dependency>,
-    pub build_deps: SelectList<Dependency>,
-    pub build_link_deps: SelectList<Dependency>,
-    pub build_proc_macro_deps: SelectList<Dependency>,
+    pub normal_deps: Select<BTreeSet<Dependency>>,
+    pub normal_dev_deps: Select<BTreeSet<Dependency>>,
+    pub proc_macro_deps: Select<BTreeSet<Dependency>>,
+    pub proc_macro_dev_deps: Select<BTreeSet<Dependency>>,
+    pub build_deps: Select<BTreeSet<Dependency>>,
+    pub build_link_deps: Select<BTreeSet<Dependency>>,
+    pub build_proc_macro_deps: Select<BTreeSet<Dependency>>,
 }
 
 impl DependencySet {
@@ -47,8 +50,8 @@
                 .partition(|dep| is_dev_dependency(dep));
 
             (
-                collect_deps_selectable(node, dev, metadata),
-                collect_deps_selectable(node, normal, metadata),
+                collect_deps_selectable(node, dev, metadata, DependencyKind::Development),
+                collect_deps_selectable(node, normal, metadata, DependencyKind::Normal),
             )
         };
 
@@ -59,12 +62,12 @@
                 // Do not track workspace members as dependencies. Users are expected to maintain those connections
                 .filter(|dep| !is_workspace_member(dep, metadata))
                 .filter(|dep| is_proc_macro_package(&metadata[&dep.pkg]))
-                .filter(|dep| !is_build_dependency(dep))
+                .filter(|dep| is_normal_dependency(dep) || is_dev_dependency(dep))
                 .partition(|dep| is_dev_dependency(dep));
 
             (
-                collect_deps_selectable(node, dev, metadata),
-                collect_deps_selectable(node, normal, metadata),
+                collect_deps_selectable(node, dev, metadata, DependencyKind::Development),
+                collect_deps_selectable(node, normal, metadata, DependencyKind::Normal),
             )
         };
 
@@ -81,8 +84,8 @@
                 .partition(|dep| is_proc_macro_package(&metadata[&dep.pkg]));
 
             (
-                collect_deps_selectable(node, proc_macro, metadata),
-                collect_deps_selectable(node, normal, metadata),
+                collect_deps_selectable(node, proc_macro, metadata, DependencyKind::Build),
+                collect_deps_selectable(node, normal, metadata, DependencyKind::Build),
             )
         };
 
@@ -94,19 +97,15 @@
         // https://doc.rust-lang.org/cargo/reference/build-scripts.html#the-links-manifest-key
         // https://doc.rust-lang.org/cargo/reference/build-scripts.html#-sys-packages
         // https://doc.rust-lang.org/cargo/reference/build-script-examples.html#using-another-sys-crate
-        let mut build_link_deps = SelectList::<Dependency>::default();
-        normal_deps.configurations().into_iter().for_each(|config| {
-            normal_deps
-                .get_iter(config)
-                // Iterating over known key should be safe
-                .unwrap()
-                // Add any normal dependency to build dependencies that are associated `*-sys` crates
-                .for_each(|dep| {
-                    if metadata[&dep.package_id].links.is_some() {
-                        build_link_deps.insert(dep.clone(), config.cloned())
-                    }
-                });
-        });
+        let mut build_link_deps: Select<BTreeSet<Dependency>> = Select::default();
+        for (configuration, dependency) in normal_deps
+            .items()
+            .into_iter()
+            .filter(|(_, dependency)| metadata[&dependency.package_id].links.is_some())
+        {
+            // Add any normal dependency to build dependencies that are associated `*-sys` crates
+            build_link_deps.insert(dependency.clone(), configuration.clone());
+        }
 
         Self {
             normal_deps,
@@ -126,6 +125,7 @@
     dep: &NodeDep,
     target: Option<&Platform>,
     metadata: &CargoMetadata,
+    kind: DependencyKind,
 ) -> bool {
     let pkg = &metadata[&parent.id];
 
@@ -141,11 +141,12 @@
     if let Some(toml_dep) = pkg
         .dependencies
         .iter()
+        .filter(|&d| d.kind == kind)
         .filter(|&d| d.target.as_ref() == target)
         .filter(|&d| d.optional)
-        .find(|&d| sanitize_module_name(&d.name) == dep.name)
+        .find(|&d| sanitize_module_name(d.rename.as_ref().unwrap_or(&d.name)) == dep.name)
     {
-        enabled_deps.any(|d| d == toml_dep.name.as_str())
+        enabled_deps.any(|d| d == toml_dep.rename.as_ref().unwrap_or(&toml_dep.name))
     } else {
         true
     }
@@ -155,8 +156,9 @@
     node: &Node,
     deps: Vec<&NodeDep>,
     metadata: &cargo_metadata::Metadata,
-) -> SelectList<Dependency> {
-    let mut selectable = SelectList::default();
+    kind: DependencyKind,
+) -> Select<BTreeSet<Dependency>> {
+    let mut select: Select<BTreeSet<Dependency>> = Select::default();
 
     for dep in deps.into_iter() {
         let dep_pkg = &metadata[&dep.pkg];
@@ -165,13 +167,14 @@
         let alias = get_target_alias(&dep.name, dep_pkg);
 
         for kind_info in &dep.dep_kinds {
-            if is_optional_crate_enabled(node, dep, kind_info.target.as_ref(), metadata) {
-                selectable.insert(
-                    Dependency {
-                        package_id: dep.pkg.clone(),
-                        target_name: target_name.clone(),
-                        alias: alias.clone(),
-                    },
+            if is_optional_crate_enabled(node, dep, kind_info.target.as_ref(), metadata, kind) {
+                let dependency = Dependency {
+                    package_id: dep.pkg.clone(),
+                    target_name: target_name.clone(),
+                    alias: alias.clone(),
+                };
+                select.insert(
+                    dependency,
                     kind_info
                         .target
                         .as_ref()
@@ -181,7 +184,7 @@
         }
     }
 
-    selectable
+    select
 }
 
 fn is_lib_package(package: &Package) -> bool {
@@ -432,23 +435,25 @@
 
         let dependencies = DependencySet::new_for_node(openssl_node, &metadata);
 
-        let normal_sys_crate = dependencies
-            .normal_deps
-            .get_iter(None)
-            .unwrap()
-            .find(|dep| {
-                let pkg = &metadata[&dep.package_id];
-                pkg.name == "openssl-sys"
-            });
+        let normal_sys_crate =
+            dependencies
+                .normal_deps
+                .items()
+                .into_iter()
+                .find(|(configuration, dep)| {
+                    let pkg = &metadata[&dep.package_id];
+                    configuration.is_none() && pkg.name == "openssl-sys"
+                });
 
-        let link_dep_sys_crate = dependencies
-            .build_link_deps
-            .get_iter(None)
-            .unwrap()
-            .find(|dep| {
-                let pkg = &metadata[&dep.package_id];
-                pkg.name == "openssl-sys"
-            });
+        let link_dep_sys_crate =
+            dependencies
+                .build_link_deps
+                .items()
+                .into_iter()
+                .find(|(configuration, dep)| {
+                    let pkg = &metadata[&dep.package_id];
+                    configuration.is_none() && pkg.name == "openssl-sys"
+                });
 
         // sys crates like `openssl-sys` should always be dependencies of any
         // crate which matches it's name minus the `-sys` suffix
@@ -466,16 +471,9 @@
         // Collect build dependencies into a set
         let build_deps: BTreeSet<String> = libssh2_depset
             .build_deps
-            .configurations()
+            .values()
             .into_iter()
-            .flat_map(|conf| {
-                libssh2_depset
-                    .build_deps
-                    .get_iter(conf)
-                    .unwrap()
-                    .map(|dep| dep.package_id.repr.clone())
-                    .collect::<Vec<String>>()
-            })
+            .map(|dep| dep.package_id.repr)
             .collect();
 
         assert_eq!(
@@ -491,16 +489,9 @@
         // Collect normal dependencies into a set
         let normal_deps: BTreeSet<String> = libssh2_depset
             .normal_deps
-            .configurations()
+            .values()
             .into_iter()
-            .flat_map(|conf| {
-                libssh2_depset
-                    .normal_deps
-                    .get_iter(conf)
-                    .unwrap()
-                    .map(|dep| dep.package_id.to_string())
-                    .collect::<Vec<String>>()
-            })
+            .map(|dep| dep.package_id.to_string())
             .collect();
 
         assert_eq!(
@@ -526,19 +517,18 @@
         let aliases_node = find_metadata_node("aliases", &metadata);
         let dependencies = DependencySet::new_for_node(aliases_node, &metadata);
 
-        let aliases: Vec<&Dependency> = dependencies
+        let aliases: Vec<Dependency> = dependencies
             .normal_deps
-            .get_iter(None)
-            .unwrap()
-            .filter(|dep| dep.alias.is_some())
+            .items()
+            .into_iter()
+            .filter(|(configuration, dep)| configuration.is_none() && dep.alias.is_some())
+            .map(|(_, dep)| dep)
             .collect();
 
         assert_eq!(aliases.len(), 2);
 
-        let expected: BTreeSet<String> = aliases
-            .into_iter()
-            .map(|dep| dep.alias.as_ref().unwrap().clone())
-            .collect();
+        let expected: BTreeSet<String> =
+            aliases.into_iter().map(|dep| dep.alias.unwrap()).collect();
 
         assert_eq!(
             expected,
@@ -553,16 +543,19 @@
         let node = find_metadata_node("crate-types", &metadata);
         let dependencies = DependencySet::new_for_node(node, &metadata);
 
-        let rlib_deps: Vec<&Dependency> = dependencies
+        let rlib_deps: Vec<Dependency> = dependencies
             .normal_deps
-            .get_iter(None)
-            .unwrap()
-            .filter(|dep| {
+            .items()
+            .into_iter()
+            .filter(|(configuration, dep)| {
                 let pkg = &metadata[&dep.package_id];
-                pkg.targets
-                    .iter()
-                    .any(|t| t.crate_types.contains(&"rlib".to_owned()))
+                configuration.is_none()
+                    && pkg
+                        .targets
+                        .iter()
+                        .any(|t| t.crate_types.contains(&"rlib".to_owned()))
             })
+            .map(|(_, dep)| dep)
             .collect();
 
         // Currently the only expected __explicitly__ "rlib" target in this metadata is `sysinfo`.
@@ -579,32 +572,49 @@
         let node = find_metadata_node("cpufeatures", &metadata);
         let dependencies = DependencySet::new_for_node(node, &metadata);
 
-        let libc_cfgs: BTreeSet<String> = dependencies
+        let libc_cfgs: BTreeSet<Option<String>> = dependencies
             .normal_deps
-            .configurations()
+            .items()
             .into_iter()
-            .flat_map(|conf| {
-                dependencies
-                    .normal_deps
-                    .get_iter(conf)
-                    .expect("Iterating over known keys should never panic")
-                    .filter(|dep| dep.target_name == "libc")
-                    .map(move |_| conf.cloned())
-            })
-            .flatten()
+            .filter(|(_, dep)| dep.target_name == "libc")
+            .map(|(configuration, _)| configuration)
             .collect();
 
         assert_eq!(
             BTreeSet::from([
-                "aarch64-linux-android".to_owned(),
-                "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))".to_owned(),
-                "cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))".to_owned(),
+                Some("aarch64-linux-android".to_owned()),
+                Some("cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))".to_owned()),
+                Some("cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))".to_owned()),
             ]),
             libc_cfgs,
         );
     }
 
     #[test]
+    fn multi_kind_proc_macro_dep() {
+        let metadata = metadata::multi_kind_proc_macro_dep();
+
+        let node = find_metadata_node("multi-kind-proc-macro-dep", &metadata);
+        let dependencies = DependencySet::new_for_node(node, &metadata);
+
+        let lib_deps: Vec<_> = dependencies
+            .proc_macro_deps
+            .items()
+            .into_iter()
+            .map(|(_, dep)| dep.target_name)
+            .collect();
+        assert_eq!(lib_deps, vec!["paste"]);
+
+        let build_deps: Vec<_> = dependencies
+            .build_proc_macro_deps
+            .items()
+            .into_iter()
+            .map(|(_, dep)| dep.target_name)
+            .collect();
+        assert_eq!(build_deps, vec!["paste"]);
+    }
+
+    #[test]
     fn optional_deps_disabled() {
         let metadata = metadata::optional_deps_disabled();
 
@@ -613,9 +623,23 @@
 
         assert!(!dependencies
             .normal_deps
-            .get_iter(None)
-            .expect("Iterating over known keys should never panic")
-            .any(|dep| { dep.target_name == "is-terminal" || dep.target_name == "termcolor" }));
+            .items()
+            .iter()
+            .any(|(configuration, dep)| configuration.is_none()
+                && (dep.target_name == "is-terminal" || dep.target_name == "termcolor")));
+    }
+
+    #[test]
+    fn renamed_optional_deps_disabled() {
+        let metadata = metadata::renamed_optional_deps_disabled();
+
+        let serde_with = find_metadata_node("serde_with", &metadata);
+        let serde_with_depset = DependencySet::new_for_node(serde_with, &metadata);
+        assert!(!serde_with_depset
+            .normal_deps
+            .items()
+            .iter()
+            .any(|(configuration, dep)| configuration.is_none() && dep.target_name == "indexmap"));
     }
 
     #[test]
@@ -627,11 +651,10 @@
         assert_eq!(
             clap_depset
                 .normal_deps
-                .get_iter(None)
-                .expect("Iterating over known keys should never panic")
-                .filter(|dep| {
-                    dep.target_name == "is-terminal" || dep.target_name == "termcolor"
-                })
+                .items()
+                .iter()
+                .filter(|(configuration, dep)| configuration.is_none()
+                    && (dep.target_name == "is-terminal" || dep.target_name == "termcolor"))
                 .count(),
             2
         );
@@ -642,22 +665,63 @@
         // mio is not present in the common list of dependencies
         assert!(!notify_depset
             .normal_deps
-            .get_iter(None)
-            .expect("Iterating over known keys should never panic")
-            .any(|dep| { dep.target_name == "mio" }));
+            .items()
+            .iter()
+            .any(|(configuration, dep)| configuration.is_none() && dep.target_name == "mio"));
 
         // mio is a dependency on linux
         assert!(notify_depset
             .normal_deps
-            .get_iter(Some(&"cfg(target_os = \"linux\")".to_string()))
-            .expect("Iterating over known keys should never panic")
-            .any(|dep| { dep.target_name == "mio" }));
+            .items()
+            .iter()
+            .any(|(configuration, dep)| configuration.as_deref()
+                == Some("cfg(target_os = \"linux\")")
+                && dep.target_name == "mio"));
 
         // mio is marked optional=true on macos
         assert!(!notify_depset
             .normal_deps
-            .get_iter(Some(&"cfg(target_os = \"macos\")".to_string()))
-            .expect("Iterating over known keys should never panic")
-            .any(|dep| { dep.target_name == "mio" }));
+            .items()
+            .iter()
+            .any(|(configuration, dep)| configuration.as_deref()
+                == Some("cfg(target_os = \"macos\")")
+                && dep.target_name == "mio"));
+    }
+
+    #[test]
+    fn optional_deps_disabled_build_dep_enabled() {
+        let metadata = metadata::optional_deps_disabled_build_dep_enabled();
+
+        let node = find_metadata_node("gherkin", &metadata);
+        let dependencies = DependencySet::new_for_node(node, &metadata);
+
+        assert!(!dependencies
+            .normal_deps
+            .items()
+            .iter()
+            .any(|(configuration, dep)| configuration.is_none() && dep.target_name == "serde"));
+
+        assert!(dependencies
+            .build_deps
+            .items()
+            .iter()
+            .any(|(configuration, dep)| configuration.is_none() && dep.target_name == "serde"));
+    }
+
+    #[test]
+    fn renamed_optional_deps_enabled() {
+        let metadata = metadata::renamed_optional_deps_enabled();
+
+        let p256 = find_metadata_node("p256", &metadata);
+        let p256_depset = DependencySet::new_for_node(p256, &metadata);
+        assert_eq!(
+            p256_depset
+                .normal_deps
+                .items()
+                .iter()
+                .filter(|(configuration, dep)| configuration.is_none() && dep.target_name == "ecdsa")
+                .count(),
+            1
+        );
     }
 }
diff --git a/crate_universe/src/metadata/metadata_annotation.rs b/crate_universe/src/metadata/metadata_annotation.rs
index 4f22dbe..990c7aa 100644
--- a/crate_universe/src/metadata/metadata_annotation.rs
+++ b/crate_universe/src/metadata/metadata_annotation.rs
@@ -11,8 +11,8 @@
 
 use crate::config::{Commitish, Config, CrateAnnotations, CrateId};
 use crate::metadata::dependency::DependencySet;
+use crate::select::Select;
 use crate::splicing::{SourceInfo, WorkspaceMetadata};
-use crate::utils::starlark::SelectList;
 
 pub type CargoMetadata = cargo_metadata::Metadata;
 pub type CargoLockfile = cargo_lock::Lockfile;
@@ -337,8 +337,8 @@
 }
 
 /// A pairing of a crate's package identifier to its annotations.
-#[derive(Debug, Serialize, Deserialize)]
-pub struct PairredExtras {
+#[derive(Debug)]
+pub struct PairedExtras {
     /// The crate's package identifier
     pub package_id: cargo_metadata::PackageId,
 
@@ -347,7 +347,7 @@
 }
 
 /// A collection of data which has been processed for optimal use in generating Bazel targets.
-#[derive(Debug, Default, Serialize, Deserialize)]
+#[derive(Debug, Default)]
 pub struct Annotations {
     /// Annotated Cargo metadata
     pub metadata: MetadataAnnotation,
@@ -359,10 +359,10 @@
     pub config: Config,
 
     /// Pairred crate annotations
-    pub pairred_extras: BTreeMap<CrateId, PairredExtras>,
+    pub pairred_extras: BTreeMap<CrateId, PairedExtras>,
 
     /// Feature set for each target triplet and crate.
-    pub features: BTreeMap<CrateId, SelectList<String>>,
+    pub crate_features: BTreeMap<CrateId, Select<BTreeSet<String>>>,
 }
 
 impl Annotations {
@@ -404,7 +404,7 @@
                 } else {
                     Some((
                         CrateId::new(pkg.name.clone(), pkg.version.to_string()),
-                        PairredExtras {
+                        PairedExtras {
                             package_id: pkg_id.clone(),
                             crate_extra,
                         },
@@ -421,7 +421,7 @@
             );
         }
 
-        let features = metadata_annotation.workspace_metadata.features.clone();
+        let crate_features = metadata_annotation.workspace_metadata.features.clone();
 
         // Annotate metadata
         Ok(Annotations {
@@ -429,7 +429,7 @@
             lockfile: lockfile_annotation,
             config,
             pairred_extras,
-            features,
+            crate_features,
         })
     }
 }
@@ -567,11 +567,10 @@
     fn defaults_from_package_metadata() {
         let crate_id = CrateId::new("has_package_metadata".to_owned(), "0.0.0".to_owned());
         let annotations = CrateAnnotations {
-            rustc_env: Some({
-                let mut rustc_env = BTreeMap::new();
-                rustc_env.insert("BAR".to_owned(), "bar is set".to_owned());
-                rustc_env
-            }),
+            rustc_env: Some(Select::from_value(BTreeMap::from([(
+                "BAR".to_owned(),
+                "bar is set".to_owned(),
+            )]))),
             ..CrateAnnotations::default()
         };
 
diff --git a/crate_universe/src/rendering.rs b/crate_universe/src/rendering.rs
index 4a0884b..8a2f9fe 100644
--- a/crate_universe/src/rendering.rs
+++ b/crate_universe/src/rendering.rs
@@ -9,19 +9,20 @@
 use std::str::FromStr;
 
 use anyhow::{bail, Context as AnyhowContext, Result};
-use indoc::formatdoc;
 use itertools::Itertools;
 
-use crate::config::{RenderConfig, VendorMode};
+use crate::config::{AliasRule, RenderConfig, VendorMode};
 use crate::context::crate_context::{CrateContext, CrateDependency, Rule};
 use crate::context::{Context, TargetAttributes};
 use crate::rendering::template_engine::TemplateEngine;
+use crate::select::Select;
 use crate::splicing::default_splicing_package_crate_id;
 use crate::utils::starlark::{
     self, Alias, CargoBuildScript, CommonAttrs, Data, ExportsFiles, Filegroup, Glob, Label, Load,
-    Package, RustBinary, RustLibrary, RustProcMacro, Select, SelectDict, SelectList, SelectMap,
-    Starlark, TargetCompatibleWith,
+    Package, RustBinary, RustLibrary, RustProcMacro, SelectDict, SelectList, SelectScalar,
+    SelectSet, Starlark, TargetCompatibleWith,
 };
+use crate::utils::target_triple::TargetTriple;
 use crate::utils::{self, sanitize_repository_name};
 
 // Configuration remapper used to convert from cfg expressions like "cfg(unix)"
@@ -30,22 +31,16 @@
 
 pub struct Renderer {
     config: RenderConfig,
-    supported_platform_triples: BTreeSet<String>,
-    generate_target_compatible_with: bool,
+    supported_platform_triples: BTreeSet<TargetTriple>,
     engine: TemplateEngine,
 }
 
 impl Renderer {
-    pub fn new(
-        config: RenderConfig,
-        supported_platform_triples: BTreeSet<String>,
-        generate_target_compatible_with: bool,
-    ) -> Self {
+    pub fn new(config: RenderConfig, supported_platform_triples: BTreeSet<TargetTriple>) -> Self {
         let engine = TemplateEngine::new(&config);
         Self {
             config,
             supported_platform_triples,
-            generate_target_compatible_with,
             engine,
         }
     }
@@ -75,15 +70,15 @@
         context
             .conditions
             .iter()
-            .map(|(cfg, triples)| {
+            .map(|(cfg, target_triples)| {
                 (
                     cfg.clone(),
-                    triples
+                    target_triples
                         .iter()
-                        .map(|triple| {
+                        .map(|target_triple| {
                             render_platform_constraint_label(
                                 &self.config.platforms_template,
-                                triple,
+                                target_triple,
                             )
                         })
                         .collect(),
@@ -102,6 +97,9 @@
         let module_build_label =
             render_module_label(&self.config.crates_module_template, "BUILD.bazel")
                 .context("Failed to resolve string to module file label")?;
+        let module_alias_rules_label =
+            render_module_label(&self.config.crates_module_template, "alias_rules.bzl")
+                .context("Failed to resolve string to module file label")?;
 
         let mut map = BTreeMap::new();
         map.insert(
@@ -112,6 +110,14 @@
             Renderer::label_to_path(&module_build_label),
             self.render_module_build_file(context)?,
         );
+        map.insert(
+            Renderer::label_to_path(&module_alias_rules_label),
+            include_str!(concat!(
+                env!("CARGO_MANIFEST_DIR"),
+                "/src/rendering/verbatim/alias_rules.bzl"
+            ))
+            .to_owned(),
+        );
 
         Ok(map)
     }
@@ -123,8 +129,25 @@
         let header = self.engine.render_header()?;
         starlark.push(Starlark::Verbatim(header));
 
+        // Load any `alias_rule`s.
+        let mut loads: BTreeMap<String, BTreeSet<String>> = BTreeMap::new();
+        for alias_rule in Iterator::chain(
+            std::iter::once(&self.config.default_alias_rule),
+            context
+                .workspace_member_deps()
+                .iter()
+                .flat_map(|dep| &context.crates[&dep.id].alias_rule),
+        ) {
+            if let Some(bzl) = alias_rule.bzl() {
+                loads.entry(bzl).or_default().insert(alias_rule.rule());
+            }
+        }
+        for (bzl, items) in loads {
+            starlark.push(Starlark::Load(Load { bzl, items }))
+        }
+
         // Package visibility, exported bzl files.
-        let package = Package::default_visibility_public();
+        let package = Package::default_visibility_public(BTreeSet::new());
         starlark.push(Starlark::Package(package));
 
         let mut exports_files = ExportsFiles {
@@ -152,11 +175,17 @@
         let mut dependencies = Vec::new();
         for dep in context.workspace_member_deps() {
             let krate = &context.crates[&dep.id];
+            let alias_rule = krate
+                .alias_rule
+                .as_ref()
+                .unwrap_or(&self.config.default_alias_rule);
+
             if let Some(library_target_name) = &krate.library_target_name {
                 let rename = dep.alias.as_ref().unwrap_or(&krate.name);
                 dependencies.push(Alias {
+                    rule: alias_rule.rule(),
                     // If duplicates exist, include version to disambiguate them.
-                    name: if context.has_duplicate_workspace_member_dep(dep) {
+                    name: if context.has_duplicate_workspace_member_dep(&dep) {
                         format!("{}-{}", rename, krate.version)
                     } else {
                         rename.clone()
@@ -168,6 +197,7 @@
 
             for (alias, target) in &krate.extra_aliased_targets {
                 dependencies.push(Alias {
+                    rule: alias_rule.rule(),
                     name: alias.clone(),
                     actual: self.crate_label(&krate.name, &krate.version, target),
                     tags: BTreeSet::from(["manual".to_owned()]),
@@ -201,6 +231,7 @@
             for rule in &krate.targets {
                 if let Rule::Binary(bin) = rule {
                     binaries.push(Alias {
+                        rule: AliasRule::default().rule(),
                         // If duplicates exist, include version to disambiguate them.
                         name: if context.has_duplicate_binary_crate(crate_id) {
                             format!("{}-{}__{}", krate.name, krate.version, bin.crate_name)
@@ -281,16 +312,54 @@
             items: BTreeSet::from(["selects".to_owned()]),
         }));
 
-        // Package visibility.
-        let package = Package::default_visibility_public();
-        starlark.push(Starlark::Package(package));
+        if self.config.generate_rules_license_metadata {
+            let has_license_ids = !krate.license_ids.is_empty();
+            let mut package_metadata = BTreeSet::from([Label::Relative {
+                target: "package_info".to_owned(),
+            }]);
 
-        if let Some(license) = &krate.license {
-            starlark.push(Starlark::Verbatim(formatdoc! {r#"
-                # licenses([
-                #     "TODO",  # {license}
-                # ])
-            "#}));
+            starlark.push(Starlark::Load(Load {
+                bzl: "@rules_license//rules:package_info.bzl".to_owned(),
+                items: BTreeSet::from(["package_info".to_owned()]),
+            }));
+
+            if has_license_ids {
+                starlark.push(Starlark::Load(Load {
+                    bzl: "@rules_license//rules:license.bzl".to_owned(),
+                    items: BTreeSet::from(["license".to_owned()]),
+                }));
+                package_metadata.insert(Label::Relative {
+                    target: "license".to_owned(),
+                });
+            }
+
+            let package = Package::default_visibility_public(package_metadata);
+            starlark.push(Starlark::Package(package));
+
+            starlark.push(Starlark::PackageInfo(starlark::PackageInfo {
+                name: "package_info".to_owned(),
+                package_name: krate.name.clone(),
+                package_url: krate.package_url.clone().unwrap_or_default(),
+                package_version: krate.version.clone(),
+            }));
+
+            if has_license_ids {
+                let mut license_kinds = BTreeSet::new();
+
+                krate.license_ids.clone().into_iter().for_each(|lic| {
+                    license_kinds.insert("@rules_license//licenses/spdx:".to_owned() + &lic);
+                });
+
+                starlark.push(Starlark::License(starlark::License {
+                    name: "license".to_owned(),
+                    license_kinds,
+                    license_text: krate.license_file.clone().unwrap_or_default(),
+                }));
+            }
+        } else {
+            // Package visibility.
+            let package = Package::default_visibility_public(BTreeSet::new());
+            starlark.push(Starlark::Package(package));
         }
 
         for rule in &krate.targets {
@@ -301,8 +370,9 @@
                         self.make_cargo_build_script(platforms, krate, target)?;
                     starlark.push(Starlark::CargoBuildScript(cargo_build_script));
                     starlark.push(Starlark::Alias(Alias {
+                        rule: AliasRule::default().rule(),
                         name: target.crate_name.clone(),
-                        actual: format!("{}_build_script", krate.name),
+                        actual: Label::from_str(&format!(":{}_build_script", krate.name)).unwrap(),
                         tags: BTreeSet::from(["manual".to_owned()]),
                     }));
                 }
@@ -346,9 +416,6 @@
         krate: &CrateContext,
         target: &TargetAttributes,
     ) -> Result<CargoBuildScript> {
-        let empty_set = BTreeSet::<String>::new();
-        let empty_list = SelectList::<String>::default();
-        let empty_deps = SelectList::<CrateDependency>::default();
         let attrs = krate.build_script_attrs.as_ref();
 
         Ok(CargoBuildScript {
@@ -360,66 +427,93 @@
             //
             // Do not change this name to "cargo_build_script".
             name: format!("{}_build_script", krate.name),
-            aliases: self
-                .make_aliases(krate, true, false)
-                .remap_configurations(platforms),
-            build_script_env: attrs
-                .map_or_else(SelectDict::default, |attrs| attrs.build_script_env.clone())
-                .remap_configurations(platforms),
+            aliases: SelectDict::new(self.make_aliases(krate, true, false), platforms),
+            build_script_env: SelectDict::new(
+                attrs
+                    .map(|attrs| attrs.build_script_env.clone())
+                    .unwrap_or_default(),
+                platforms,
+            ),
             compile_data: make_data(
                 platforms,
-                &empty_set,
-                attrs.map_or(&empty_list, |attrs| &attrs.compile_data),
+                Default::default(),
+                attrs
+                    .map(|attrs| attrs.compile_data.clone())
+                    .unwrap_or_default(),
             ),
-            crate_features: SelectList::from(&krate.common_attrs.crate_features)
-                .map_configuration_names(|triple| {
-                    render_platform_constraint_label(&self.config.platforms_template, &triple)
-                }),
+            crate_features: SelectSet::new(krate.common_attrs.crate_features.clone(), platforms),
             crate_name: utils::sanitize_module_name(&target.crate_name),
             crate_root: target.crate_root.clone(),
             data: make_data(
                 platforms,
-                attrs.map_or(&empty_set, |attrs| &attrs.data_glob),
-                attrs.map_or(&empty_list, |attrs| &attrs.data),
+                attrs
+                    .map(|attrs| attrs.data_glob.clone())
+                    .unwrap_or_default(),
+                attrs.map(|attrs| attrs.data.clone()).unwrap_or_default(),
             ),
-            deps: self
-                .make_deps(
-                    attrs.map_or(&empty_deps, |attrs| &attrs.deps),
-                    attrs.map_or(&empty_list, |attrs| &attrs.extra_deps),
-                )
-                .remap_configurations(platforms),
-            link_deps: self
-                .make_deps(
-                    attrs.map_or(&empty_deps, |attrs| &attrs.link_deps),
-                    attrs.map_or(&empty_list, |attrs| &attrs.extra_link_deps),
-                )
-                .remap_configurations(platforms),
+            deps: SelectSet::new(
+                self.make_deps(
+                    attrs.map(|attrs| attrs.deps.clone()).unwrap_or_default(),
+                    attrs
+                        .map(|attrs| attrs.extra_deps.clone())
+                        .unwrap_or_default(),
+                ),
+                platforms,
+            ),
+            link_deps: SelectSet::new(
+                self.make_deps(
+                    attrs
+                        .map(|attrs| attrs.link_deps.clone())
+                        .unwrap_or_default(),
+                    attrs
+                        .map(|attrs| attrs.extra_link_deps.clone())
+                        .unwrap_or_default(),
+                ),
+                platforms,
+            ),
             edition: krate.common_attrs.edition.clone(),
             linker_script: krate.common_attrs.linker_script.clone(),
             links: attrs.and_then(|attrs| attrs.links.clone()),
-            proc_macro_deps: self
-                .make_deps(
-                    attrs.map_or(&empty_deps, |attrs| &attrs.proc_macro_deps),
-                    attrs.map_or(&empty_list, |attrs| &attrs.extra_proc_macro_deps),
-                )
-                .remap_configurations(platforms),
-            rundir: attrs.and_then(|attrs| attrs.rundir.clone()),
-            rustc_env: attrs
-                .map_or_else(SelectDict::default, |attrs| attrs.rustc_env.clone())
-                .remap_configurations(platforms),
-            rustc_env_files: attrs
-                .map_or_else(SelectList::default, |attrs| attrs.rustc_env_files.clone())
-                .remap_configurations(platforms),
-            rustc_flags: {
-                let mut rustc_flags =
-                    attrs.map_or_else(SelectList::default, |attrs| attrs.rustc_flags.clone());
+            proc_macro_deps: SelectSet::new(
+                self.make_deps(
+                    attrs
+                        .map(|attrs| attrs.proc_macro_deps.clone())
+                        .unwrap_or_default(),
+                    attrs
+                        .map(|attrs| attrs.extra_proc_macro_deps.clone())
+                        .unwrap_or_default(),
+                ),
+                platforms,
+            ),
+            rundir: SelectScalar::new(
+                attrs.map(|attrs| attrs.rundir.clone()).unwrap_or_default(),
+                platforms,
+            ),
+            rustc_env: SelectDict::new(
+                attrs
+                    .map(|attrs| attrs.rustc_env.clone())
+                    .unwrap_or_default(),
+                platforms,
+            ),
+            rustc_env_files: SelectSet::new(
+                attrs
+                    .map(|attrs| attrs.rustc_env_files.clone())
+                    .unwrap_or_default(),
+                platforms,
+            ),
+            rustc_flags: SelectList::new(
                 // In most cases, warnings in 3rd party crates are not
                 // interesting as they're out of the control of consumers. The
                 // flag here silences warnings. For more details see:
                 // https://doc.rust-lang.org/rustc/lints/levels.html
-                rustc_flags.insert("--cap-lints=allow".to_owned(), None);
-                rustc_flags.remap_configurations(platforms)
-            },
+                Select::merge(
+                    Select::from_value(Vec::from(["--cap-lints=allow".to_owned()])),
+                    attrs
+                        .map(|attrs| attrs.rustc_flags.clone())
+                        .unwrap_or_default(),
+                ),
+                platforms,
+            ),
             srcs: target.srcs.clone(),
             tags: {
                 let mut tags = BTreeSet::from_iter(krate.common_attrs.tags.iter().cloned());
@@ -430,9 +524,10 @@
                 tags.insert(format!("crate-name={}", krate.name));
                 tags
             },
-            tools: attrs
-                .map_or_else(SelectList::default, |attrs| attrs.tools.clone())
-                .remap_configurations(platforms),
+            tools: SelectSet::new(
+                attrs.map(|attrs| attrs.tools.clone()).unwrap_or_default(),
+                platforms,
+            ),
             toolchains: attrs.map_or_else(BTreeSet::new, |attrs| attrs.toolchains.clone()),
             version: krate.common_attrs.version.clone(),
             visibility: BTreeSet::from(["//visibility:private".to_owned()]),
@@ -447,18 +542,21 @@
     ) -> Result<RustProcMacro> {
         Ok(RustProcMacro {
             name: target.crate_name.clone(),
-            deps: self
-                .make_deps(&krate.common_attrs.deps, &krate.common_attrs.extra_deps)
-                .remap_configurations(platforms),
-            proc_macro_deps: self
-                .make_deps(
-                    &krate.common_attrs.proc_macro_deps,
-                    &krate.common_attrs.extra_proc_macro_deps,
-                )
-                .remap_configurations(platforms),
-            aliases: self
-                .make_aliases(krate, false, false)
-                .remap_configurations(platforms),
+            deps: SelectSet::new(
+                self.make_deps(
+                    krate.common_attrs.deps.clone(),
+                    krate.common_attrs.extra_deps.clone(),
+                ),
+                platforms,
+            ),
+            proc_macro_deps: SelectSet::new(
+                self.make_deps(
+                    krate.common_attrs.proc_macro_deps.clone(),
+                    krate.common_attrs.extra_proc_macro_deps.clone(),
+                ),
+                platforms,
+            ),
+            aliases: SelectDict::new(self.make_aliases(krate, false, false), platforms),
             common: self.make_common_attrs(platforms, krate, target)?,
         })
     }
@@ -471,18 +569,21 @@
     ) -> Result<RustLibrary> {
         Ok(RustLibrary {
             name: target.crate_name.clone(),
-            deps: self
-                .make_deps(&krate.common_attrs.deps, &krate.common_attrs.extra_deps)
-                .remap_configurations(platforms),
-            proc_macro_deps: self
-                .make_deps(
-                    &krate.common_attrs.proc_macro_deps,
-                    &krate.common_attrs.extra_proc_macro_deps,
-                )
-                .remap_configurations(platforms),
-            aliases: self
-                .make_aliases(krate, false, false)
-                .remap_configurations(platforms),
+            deps: SelectSet::new(
+                self.make_deps(
+                    krate.common_attrs.deps.clone(),
+                    krate.common_attrs.extra_deps.clone(),
+                ),
+                platforms,
+            ),
+            proc_macro_deps: SelectSet::new(
+                self.make_deps(
+                    krate.common_attrs.proc_macro_deps.clone(),
+                    krate.common_attrs.extra_proc_macro_deps.clone(),
+                ),
+                platforms,
+            ),
+            aliases: SelectDict::new(self.make_aliases(krate, false, false), platforms),
             common: self.make_common_attrs(platforms, krate, target)?,
             disable_pipelining: krate.disable_pipelining,
         })
@@ -497,22 +598,26 @@
         Ok(RustBinary {
             name: format!("{}__bin", target.crate_name),
             deps: {
-                let mut deps =
-                    self.make_deps(&krate.common_attrs.deps, &krate.common_attrs.extra_deps);
+                let mut deps = self.make_deps(
+                    krate.common_attrs.deps.clone(),
+                    krate.common_attrs.extra_deps.clone(),
+                );
                 if let Some(library_target_name) = &krate.library_target_name {
-                    deps.insert(format!(":{library_target_name}"), None);
+                    deps.insert(
+                        Label::from_str(&format!(":{library_target_name}")).unwrap(),
+                        None,
+                    );
                 }
-                deps.remap_configurations(platforms)
+                SelectSet::new(deps, platforms)
             },
-            proc_macro_deps: self
-                .make_deps(
-                    &krate.common_attrs.proc_macro_deps,
-                    &krate.common_attrs.extra_proc_macro_deps,
-                )
-                .remap_configurations(platforms),
-            aliases: self
-                .make_aliases(krate, false, false)
-                .remap_configurations(platforms),
+            proc_macro_deps: SelectSet::new(
+                self.make_deps(
+                    krate.common_attrs.proc_macro_deps.clone(),
+                    krate.common_attrs.extra_proc_macro_deps.clone(),
+                ),
+                platforms,
+            ),
+            aliases: SelectDict::new(self.make_aliases(krate, false, false), platforms),
             common: self.make_common_attrs(platforms, krate, target)?,
         })
     }
@@ -526,40 +631,31 @@
         Ok(CommonAttrs {
             compile_data: make_data(
                 platforms,
-                &krate.common_attrs.compile_data_glob,
-                &krate.common_attrs.compile_data,
+                krate.common_attrs.compile_data_glob.clone(),
+                krate.common_attrs.compile_data.clone(),
             ),
-            crate_features: SelectList::from(&krate.common_attrs.crate_features)
-                .map_configuration_names(|triple| {
-                    render_platform_constraint_label(&self.config.platforms_template, &triple)
-                }),
+            crate_features: SelectSet::new(krate.common_attrs.crate_features.clone(), platforms),
             crate_root: target.crate_root.clone(),
             data: make_data(
                 platforms,
-                &krate.common_attrs.data_glob,
-                &krate.common_attrs.data,
+                krate.common_attrs.data_glob.clone(),
+                krate.common_attrs.data.clone(),
             ),
             edition: krate.common_attrs.edition.clone(),
             linker_script: krate.common_attrs.linker_script.clone(),
-            rustc_env: krate
-                .common_attrs
-                .rustc_env
-                .clone()
-                .remap_configurations(platforms),
-            rustc_env_files: krate
-                .common_attrs
-                .rustc_env_files
-                .clone()
-                .remap_configurations(platforms),
-            rustc_flags: {
-                let mut rustc_flags = krate.common_attrs.rustc_flags.clone();
+            rustc_env: SelectDict::new(krate.common_attrs.rustc_env.clone(), platforms),
+            rustc_env_files: SelectSet::new(krate.common_attrs.rustc_env_files.clone(), platforms),
+            rustc_flags: SelectList::new(
                 // In most cases, warnings in 3rd party crates are not
                 // interesting as they're out of the control of consumers. The
                 // flag here silences warnings. For more details see:
                 // https://doc.rust-lang.org/rustc/lints/levels.html
-                rustc_flags.insert(0, "--cap-lints=allow".to_owned());
-                rustc_flags
-            },
+                Select::merge(
+                    Select::from_value(Vec::from(["--cap-lints=allow".to_owned()])),
+                    krate.common_attrs.rustc_flags.clone(),
+                ),
+                platforms,
+            ),
             srcs: target.srcs.clone(),
             tags: {
                 let mut tags = BTreeSet::from_iter(krate.common_attrs.tags.iter().cloned());
@@ -570,14 +666,14 @@
                 tags.insert(format!("crate-name={}", krate.name));
                 tags
             },
-            target_compatible_with: self.generate_target_compatible_with.then(|| {
+            target_compatible_with: self.config.generate_target_compatible_with.then(|| {
                 TargetCompatibleWith::new(
                     self.supported_platform_triples
                         .iter()
-                        .map(|triple| {
+                        .map(|target_triple| {
                             render_platform_constraint_label(
                                 &self.config.platforms_template,
-                                triple,
+                                target_triple,
                             )
                         })
                         .collect(),
@@ -593,33 +689,33 @@
         krate: &CrateContext,
         build: bool,
         include_dev: bool,
-    ) -> SelectDict<String> {
-        let mut dep_lists = Vec::new();
+    ) -> Select<BTreeMap<Label, String>> {
+        let mut dependency_selects = Vec::new();
         if build {
             if let Some(build_script_attrs) = &krate.build_script_attrs {
-                dep_lists.push(&build_script_attrs.deps);
-                dep_lists.push(&build_script_attrs.proc_macro_deps);
+                dependency_selects.push(&build_script_attrs.deps);
+                dependency_selects.push(&build_script_attrs.proc_macro_deps);
             }
         } else {
-            dep_lists.push(&krate.common_attrs.deps);
-            dep_lists.push(&krate.common_attrs.proc_macro_deps);
+            dependency_selects.push(&krate.common_attrs.deps);
+            dependency_selects.push(&krate.common_attrs.proc_macro_deps);
             if include_dev {
-                dep_lists.push(&krate.common_attrs.deps_dev);
-                dep_lists.push(&krate.common_attrs.proc_macro_deps_dev);
+                dependency_selects.push(&krate.common_attrs.deps_dev);
+                dependency_selects.push(&krate.common_attrs.proc_macro_deps_dev);
             }
         }
 
-        let mut aliases = SelectDict::default();
-        for (dep, conf) in dep_lists.into_iter().flat_map(|deps| {
-            deps.configurations().into_iter().flat_map(move |conf| {
-                deps.get_iter(conf)
-                    .expect("Iterating over known keys should never panic")
-                    .map(move |dep| (dep, conf))
-            })
-        }) {
-            if let Some(alias) = &dep.alias {
-                let label = self.crate_label(&dep.id.name, &dep.id.version, &dep.target);
-                aliases.insert(label, alias.clone(), conf.cloned());
+        let mut aliases: Select<BTreeMap<Label, String>> = Select::default();
+        for dependency_select in dependency_selects.iter() {
+            for (configuration, dependency) in dependency_select.items().into_iter() {
+                if let Some(alias) = &dependency.alias {
+                    let label = self.crate_label(
+                        &dependency.id.name,
+                        &dependency.id.version,
+                        &dependency.target,
+                    );
+                    aliases.insert((label, alias.clone()), configuration.clone());
+                }
             }
         }
         aliases
@@ -627,14 +723,13 @@
 
     fn make_deps(
         &self,
-        deps: &SelectList<CrateDependency>,
-        extra_deps: &SelectList<String>,
-    ) -> SelectList<String> {
-        let mut deps = deps
-            .clone()
-            .map(|dep| self.crate_label(&dep.id.name, &dep.id.version, &dep.target));
-        deps.extend(extra_deps.into_iter());
-        deps
+        deps: Select<BTreeSet<CrateDependency>>,
+        extra_deps: Select<BTreeSet<Label>>,
+    ) -> Select<BTreeSet<Label>> {
+        Select::merge(
+            deps.map(|dep| self.crate_label(&dep.id.name, &dep.id.version, &dep.target)),
+            extra_deps,
+        )
     }
 
     fn render_vendor_support_files(&self, context: &Context) -> Result<BTreeMap<PathBuf, String>> {
@@ -651,20 +746,23 @@
     }
 
     fn label_to_path(label: &Label) -> PathBuf {
-        match &label.package {
-            Some(package) => PathBuf::from(format!("{}/{}", package, label.target)),
-            None => PathBuf::from(&label.target),
+        match &label.package() {
+            Some(package) if !package.is_empty() => {
+                PathBuf::from(format!("{}/{}", package, label.target()))
+            }
+            Some(_) | None => PathBuf::from(label.target()),
         }
     }
 
-    fn crate_label(&self, name: &str, version: &str, target: &str) -> String {
-        sanitize_repository_name(&render_crate_bazel_label(
+    fn crate_label(&self, name: &str, version: &str, target: &str) -> Label {
+        Label::from_str(&sanitize_repository_name(&render_crate_bazel_label(
             &self.config.crate_label_template,
             &self.config.repository_name,
             name,
             version,
             target,
-        ))
+        )))
+        .unwrap()
     }
 }
 
@@ -747,8 +845,8 @@
 }
 
 /// Render the Bazel label of a platform triple
-fn render_platform_constraint_label(template: &str, triple: &str) -> String {
-    template.replace("{triple}", triple)
+fn render_platform_constraint_label(template: &str, target_triple: &TargetTriple) -> String {
+    template.replace("{triple}", &target_triple.to_bazel())
 }
 
 fn render_build_file_template(template: &str, name: &str, version: &str) -> Result<Label> {
@@ -759,7 +857,11 @@
     )
 }
 
-fn make_data(platforms: &Platforms, glob: &BTreeSet<String>, select: &SelectList<String>) -> Data {
+fn make_data(
+    platforms: &Platforms,
+    glob: BTreeSet<String>,
+    select: Select<BTreeSet<Label>>,
+) -> Data {
     const COMMON_GLOB_EXCLUDES: &[&str] = &[
         "**/* *",
         "BUILD.bazel",
@@ -771,13 +873,13 @@
 
     Data {
         glob: Glob {
-            include: glob.clone(),
+            include: glob,
             exclude: COMMON_GLOB_EXCLUDES
                 .iter()
                 .map(|&glob| glob.to_owned())
                 .collect(),
         },
-        select: select.clone().remap_configurations(platforms),
+        select: SelectSet::new(select, platforms),
     }
 }
 
@@ -790,12 +892,9 @@
 
     use crate::config::{Config, CrateId, VendorMode};
     use crate::context::crate_context::{CrateContext, Rule};
-    use crate::context::{
-        BuildScriptAttributes, CommonAttributes, Context, CrateFeatures, TargetAttributes,
-    };
+    use crate::context::{BuildScriptAttributes, CommonAttributes, Context, TargetAttributes};
     use crate::metadata::Annotations;
     use crate::test;
-    use crate::utils::starlark::SelectList;
 
     fn mock_target_attributes() -> TargetAttributes {
         TargetAttributes {
@@ -814,30 +913,30 @@
         }
     }
 
-    fn mock_supported_platform_triples() -> BTreeSet<String> {
+    fn mock_supported_platform_triples() -> BTreeSet<TargetTriple> {
         BTreeSet::from([
-            "aarch64-apple-darwin".to_owned(),
-            "aarch64-apple-ios".to_owned(),
-            "aarch64-linux-android".to_owned(),
-            "aarch64-pc-windows-msvc".to_owned(),
-            "aarch64-unknown-linux-gnu".to_owned(),
-            "arm-unknown-linux-gnueabi".to_owned(),
-            "armv7-unknown-linux-gnueabi".to_owned(),
-            "i686-apple-darwin".to_owned(),
-            "i686-linux-android".to_owned(),
-            "i686-pc-windows-msvc".to_owned(),
-            "i686-unknown-freebsd".to_owned(),
-            "i686-unknown-linux-gnu".to_owned(),
-            "powerpc-unknown-linux-gnu".to_owned(),
-            "s390x-unknown-linux-gnu".to_owned(),
-            "wasm32-unknown-unknown".to_owned(),
-            "wasm32-wasi".to_owned(),
-            "x86_64-apple-darwin".to_owned(),
-            "x86_64-apple-ios".to_owned(),
-            "x86_64-linux-android".to_owned(),
-            "x86_64-pc-windows-msvc".to_owned(),
-            "x86_64-unknown-freebsd".to_owned(),
-            "x86_64-unknown-linux-gnu".to_owned(),
+            TargetTriple::from_bazel("aarch64-apple-darwin".to_owned()),
+            TargetTriple::from_bazel("aarch64-apple-ios".to_owned()),
+            TargetTriple::from_bazel("aarch64-linux-android".to_owned()),
+            TargetTriple::from_bazel("aarch64-pc-windows-msvc".to_owned()),
+            TargetTriple::from_bazel("aarch64-unknown-linux-gnu".to_owned()),
+            TargetTriple::from_bazel("arm-unknown-linux-gnueabi".to_owned()),
+            TargetTriple::from_bazel("armv7-unknown-linux-gnueabi".to_owned()),
+            TargetTriple::from_bazel("i686-apple-darwin".to_owned()),
+            TargetTriple::from_bazel("i686-linux-android".to_owned()),
+            TargetTriple::from_bazel("i686-pc-windows-msvc".to_owned()),
+            TargetTriple::from_bazel("i686-unknown-freebsd".to_owned()),
+            TargetTriple::from_bazel("i686-unknown-linux-gnu".to_owned()),
+            TargetTriple::from_bazel("powerpc-unknown-linux-gnu".to_owned()),
+            TargetTriple::from_bazel("s390x-unknown-linux-gnu".to_owned()),
+            TargetTriple::from_bazel("wasm32-unknown-unknown".to_owned()),
+            TargetTriple::from_bazel("wasm32-wasi".to_owned()),
+            TargetTriple::from_bazel("x86_64-apple-darwin".to_owned()),
+            TargetTriple::from_bazel("x86_64-apple-ios".to_owned()),
+            TargetTriple::from_bazel("x86_64-linux-android".to_owned()),
+            TargetTriple::from_bazel("x86_64-pc-windows-msvc".to_owned()),
+            TargetTriple::from_bazel("x86_64-unknown-freebsd".to_owned()),
+            TargetTriple::from_bazel("x86_64-unknown-linux-gnu".to_owned()),
         ])
     }
 
@@ -855,11 +954,7 @@
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
@@ -886,11 +981,7 @@
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
@@ -920,11 +1011,7 @@
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
@@ -953,11 +1040,7 @@
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
@@ -983,11 +1066,7 @@
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
@@ -1016,11 +1095,7 @@
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
@@ -1040,11 +1115,7 @@
             Annotations::new(test::metadata::alias(), test::lockfile::alias(), config).unwrap();
         let context = Context::new(annotations).unwrap();
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output.get(&PathBuf::from("BUILD.bazel")).unwrap();
@@ -1067,11 +1138,7 @@
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let defs_module = output.get(&PathBuf::from("defs.bzl")).unwrap();
@@ -1097,7 +1164,6 @@
         let renderer = Renderer::new(
             mock_render_config(Some(VendorMode::Remote)),
             mock_supported_platform_triples(),
-            true,
         );
         let output = renderer.render(&context).unwrap();
 
@@ -1126,7 +1192,6 @@
         let renderer = Renderer::new(
             mock_render_config(Some(VendorMode::Local)),
             mock_supported_platform_triples(),
-            true,
         );
         let output = renderer.render(&context).unwrap();
 
@@ -1157,7 +1222,7 @@
                 version: crate_id.version,
                 targets: BTreeSet::from([Rule::Library(mock_target_attributes())]),
                 common_attrs: CommonAttributes {
-                    rustc_flags: rustc_flags.clone(),
+                    rustc_flags: Select::from_value(rustc_flags.clone()),
                     ..CommonAttributes::default()
                 },
                 ..CrateContext::default()
@@ -1168,7 +1233,6 @@
         let renderer = Renderer::new(
             mock_render_config(Some(VendorMode::Local)),
             mock_supported_platform_triples(),
-            true,
         );
         let output = renderer.render(&context).unwrap();
 
@@ -1210,7 +1274,7 @@
         let annotations = Annotations::new(metadata, lockfile, config.clone()).unwrap();
         let context = Context::new(annotations).unwrap();
 
-        let renderer = Renderer::new(config.rendering, config.supported_platform_triples, true);
+        let renderer = Renderer::new(config.rendering, config.supported_platform_triples);
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
@@ -1239,51 +1303,18 @@
     }
 
     #[test]
-    fn legacy_crate_features() {
-        let mut context = Context::default();
-        let crate_id = CrateId::new("mock_crate".to_owned(), "0.1.0".to_owned());
-        context.crates.insert(
-            crate_id.clone(),
-            CrateContext {
-                name: crate_id.name,
-                version: crate_id.version,
-                targets: BTreeSet::from([Rule::Library(mock_target_attributes())]),
-                common_attrs: CommonAttributes {
-                    crate_features: CrateFeatures::LegacySet(BTreeSet::from([
-                        "foo".to_owned(),
-                        "bar".to_owned(),
-                    ])),
-                    ..CommonAttributes::default()
-                },
-                ..CrateContext::default()
-            },
-        );
-
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
-        let output = renderer.render(&context).unwrap();
-
-        let build_file_content = output
-            .get(&PathBuf::from("BUILD.mock_crate-0.1.0.bazel"))
-            .unwrap();
-        assert!(build_file_content.replace(' ', "").contains(
-            &r#"crate_features = [
-    "bar",
-    "foo",
-],"#
-            .replace(' ', "")
-        ));
-    }
-    #[test]
     fn crate_features_by_target() {
-        let mut context = Context::default();
+        let mut context = Context {
+            conditions: mock_supported_platform_triples()
+                .iter()
+                .map(|platform| (platform.to_bazel(), BTreeSet::from([platform.clone()])))
+                .collect(),
+            ..Context::default()
+        };
         let crate_id = CrateId::new("mock_crate".to_owned(), "0.1.0".to_owned());
-        let mut features = SelectList::default();
-        features.insert("foo".to_owned(), Some("aarch64-apple-darwin".to_owned()));
-        features.insert("bar".to_owned(), None);
+        let mut crate_features: Select<BTreeSet<String>> = Select::default();
+        crate_features.insert("foo".to_owned(), Some("aarch64-apple-darwin".to_owned()));
+        crate_features.insert("bar".to_owned(), None);
         context.crates.insert(
             crate_id.clone(),
             CrateContext {
@@ -1291,33 +1322,183 @@
                 version: crate_id.version,
                 targets: BTreeSet::from([Rule::Library(mock_target_attributes())]),
                 common_attrs: CommonAttributes {
-                    crate_features: CrateFeatures::SelectList(features),
+                    crate_features,
                     ..CommonAttributes::default()
                 },
                 ..CrateContext::default()
             },
         );
 
-        let renderer = Renderer::new(
-            mock_render_config(None),
-            mock_supported_platform_triples(),
-            true,
-        );
+        let renderer = Renderer::new(mock_render_config(None), mock_supported_platform_triples());
         let output = renderer.render(&context).unwrap();
 
         let build_file_content = output
             .get(&PathBuf::from("BUILD.mock_crate-0.1.0.bazel"))
             .unwrap();
-        assert!(build_file_content.replace(' ', "").contains(
-            &r#"crate_features = [
-        "bar",
-    ] + select({
-    "@rules_rust//rust/platform:aarch64-apple-darwin": [
-        "foo",
-    ],
-    "//conditions:default": [],
-}),"#
-                .replace(' ', "")
-        ));
+        let expected = indoc! {r#"
+            crate_features = [
+                "bar",
+            ] + select({
+                "@rules_rust//rust/platform:aarch64-apple-darwin": [
+                    "foo",  # aarch64-apple-darwin
+                ],
+                "//conditions:default": [],
+            }),
+        "#};
+        assert!(build_file_content
+            .replace(' ', "")
+            .contains(&expected.replace(' ', "")));
+    }
+
+    #[test]
+    fn crate_package_metadata_without_license_ids() {
+        let mut context = Context::default();
+        let crate_id = CrateId::new("mock_crate".to_owned(), "0.1.0".to_owned());
+        context.crates.insert(
+            crate_id.clone(),
+            CrateContext {
+                name: crate_id.name,
+                version: crate_id.version,
+                package_url: Some("http://www.mock_crate.com/".to_owned()),
+                targets: BTreeSet::from([Rule::Library(mock_target_attributes())]),
+                ..CrateContext::default()
+            },
+        );
+
+        let mut render_config = mock_render_config(None);
+        render_config.generate_rules_license_metadata = true;
+        let renderer = Renderer::new(render_config, mock_supported_platform_triples());
+        let output = renderer.render(&context).unwrap();
+
+        let build_file_content = output
+            .get(&PathBuf::from("BUILD.mock_crate-0.1.0.bazel"))
+            .unwrap();
+
+        let expected = indoc! {r#"
+            package(
+                default_package_metadata = [":package_info"],
+                default_visibility = ["//visibility:public"],
+            )
+
+            package_info(
+                name = "package_info",
+                package_name = "mock_crate",
+                package_version = "0.1.0",
+                package_url = "http://www.mock_crate.com/",
+            )
+        "#};
+        assert!(build_file_content
+            .replace(' ', "")
+            .contains(&expected.replace(' ', "")));
+    }
+
+    #[test]
+    fn crate_package_metadata_with_license_ids() {
+        let mut context = Context::default();
+        let crate_id = CrateId::new("mock_crate".to_owned(), "0.1.0".to_owned());
+        context.crates.insert(
+            crate_id.clone(),
+            CrateContext {
+                name: crate_id.name,
+                version: crate_id.version,
+                package_url: Some("http://www.mock_crate.com/".to_owned()),
+                license_ids: BTreeSet::from(["Apache-2.0".to_owned(), "MIT".to_owned()]),
+                targets: BTreeSet::from([Rule::Library(mock_target_attributes())]),
+                ..CrateContext::default()
+            },
+        );
+
+        let mut render_config = mock_render_config(None);
+        render_config.generate_rules_license_metadata = true;
+        let renderer = Renderer::new(render_config, mock_supported_platform_triples());
+        let output = renderer.render(&context).unwrap();
+
+        let build_file_content = output
+            .get(&PathBuf::from("BUILD.mock_crate-0.1.0.bazel"))
+            .unwrap();
+
+        let expected = indoc! {r#"
+            package(
+                default_package_metadata = [
+                    ":license",
+                    ":package_info",
+                ],
+                default_visibility = ["//visibility:public"],
+            )
+
+            package_info(
+                name = "package_info",
+                package_name = "mock_crate",
+                package_version = "0.1.0",
+                package_url = "http://www.mock_crate.com/",
+            )
+
+            license(
+                name = "license",
+                license_kinds = [
+                    "@rules_license//licenses/spdx:Apache-2.0",
+                    "@rules_license//licenses/spdx:MIT",
+                ],
+            )
+        "#};
+        assert!(build_file_content
+            .replace(' ', "")
+            .contains(&expected.replace(' ', "")));
+    }
+
+    #[test]
+    fn crate_package_metadata_with_license_ids_and_file() {
+        let mut context = Context::default();
+        let crate_id = CrateId::new("mock_crate".to_owned(), "0.1.0".to_owned());
+        context.crates.insert(
+            crate_id.clone(),
+            CrateContext {
+                name: crate_id.name,
+                version: crate_id.version,
+                package_url: Some("http://www.mock_crate.com/".to_owned()),
+                license_ids: BTreeSet::from(["Apache-2.0".to_owned(), "MIT".to_owned()]),
+                license_file: Some("LICENSE.txt".to_owned()),
+                targets: BTreeSet::from([Rule::Library(mock_target_attributes())]),
+                ..CrateContext::default()
+            },
+        );
+
+        let mut render_config = mock_render_config(None);
+        render_config.generate_rules_license_metadata = true;
+        let renderer = Renderer::new(render_config, mock_supported_platform_triples());
+        let output = renderer.render(&context).unwrap();
+
+        let build_file_content = output
+            .get(&PathBuf::from("BUILD.mock_crate-0.1.0.bazel"))
+            .unwrap();
+
+        let expected = indoc! {r#"
+            package(
+                default_package_metadata = [
+                    ":license",
+                    ":package_info",
+                ],
+                default_visibility = ["//visibility:public"],
+            )
+
+            package_info(
+                name = "package_info",
+                package_name = "mock_crate",
+                package_version = "0.1.0",
+                package_url = "http://www.mock_crate.com/",
+            )
+
+            license(
+                name = "license",
+                license_kinds = [
+                    "@rules_license//licenses/spdx:Apache-2.0",
+                    "@rules_license//licenses/spdx:MIT",
+                ],
+                license_text = "LICENSE.txt",
+            )
+        "#};
+        assert!(build_file_content
+            .replace(' ', "")
+            .contains(&expected.replace(' ', "")));
     }
 }
diff --git a/crate_universe/src/rendering/template_engine.rs b/crate_universe/src/rendering/template_engine.rs
index 28fff72..9b7afff 100644
--- a/crate_universe/src/rendering/template_engine.rs
+++ b/crate_universe/src/rendering/template_engine.rs
@@ -12,8 +12,8 @@
     render_crate_bazel_label, render_crate_bazel_repository, render_crate_build_file,
     render_module_label, Platforms,
 };
+use crate::select::Select;
 use crate::utils::sanitize_repository_name;
-use crate::utils::starlark::SelectStringList;
 
 pub struct TemplateEngine {
     engine: Tera,
@@ -100,7 +100,7 @@
         );
 
         let mut context = tera::Context::new();
-        context.insert("default_select_list", &SelectStringList::default());
+        context.insert("default_select_list", &Select::<String>::default());
         context.insert("repository_name", &render_config.repository_name);
         context.insert("vendor_mode", &render_config.vendor_mode);
         context.insert("regen_command", &render_config.regen_command);
diff --git a/crate_universe/src/rendering/templates/module_bzl.j2 b/crate_universe/src/rendering/templates/module_bzl.j2
index 63d027c..28cfcf2 100644
--- a/crate_universe/src/rendering/templates/module_bzl.j2
+++ b/crate_universe/src/rendering/templates/module_bzl.j2
@@ -325,8 +325,11 @@
 ###############################################################################
 
 def crate_repositories():
-    """A macro for defining repositories for all generated crates"""
-{%- if context.crates | length %}
+    """A macro for defining repositories for all generated crates.
+
+    Returns:
+      A list of repos visible to the module through the module extension.
+    """
 {%- for id, crate in context.crates %}
 {%- if not crate.repository %}{% continue %}{% endif %}
 {%- for repository_type, attrs in crate.repository %}
@@ -339,7 +342,18 @@
 {%- endif %}
 {%- endfor %}
 {%- endfor %}
-{%- else %}
-    pass
-{%- endif %}
+    return [
+        {%- for id in context.direct_deps %}
+        {%- set crate = context.crates | get(key=id) %}
+        {%- if crate.repository %}
+       struct(repo="{{ crate_repository(name = crate.name, version = crate.version) }}", is_dev_dep = False),
+        {%- endif %}
+        {%- endfor %}
+        {%- for id in context.direct_dev_deps %}
+        {%- set crate = context.crates | get(key=id) %}
+        {%- if crate.repository %}
+         struct(repo = "{{ crate_repository(name = crate.name, version = crate.version) }}", is_dev_dep = True),
+        {%- endif %}
+        {%- endfor %}
+    ]
 {%- endif %}
diff --git a/crate_universe/src/rendering/templates/vendor_module.j2 b/crate_universe/src/rendering/templates/vendor_module.j2
index 74b031e..1205b4d 100644
--- a/crate_universe/src/rendering/templates/vendor_module.j2
+++ b/crate_universe/src/rendering/templates/vendor_module.j2
@@ -15,6 +15,11 @@
 load("{{ crates_module_label(file="defs.bzl") }}", _crate_repositories = "crate_repositories")
 
 def crate_repositories():
+    """Generates repositories for vendored crates.
+
+    Returns:
+      A list of repos visible to the module through the module extension.
+    """
     maybe(
         crates_vendor_remote_repository,
         name = "{{ repository_name }}",
@@ -22,4 +27,6 @@
         defs_module = Label("{{ crates_module_label(file="defs.bzl") }}"),
     )
 
-    _crate_repositories()
+    direct_deps = [struct(repo = "{{ repository_name }}", is_dev_dep = False)]
+    direct_deps.extend(_crate_repositories())
+    return direct_deps
diff --git a/crate_universe/src/rendering/verbatim/alias_rules.bzl b/crate_universe/src/rendering/verbatim/alias_rules.bzl
new file mode 100644
index 0000000..14b04c1
--- /dev/null
+++ b/crate_universe/src/rendering/verbatim/alias_rules.bzl
@@ -0,0 +1,47 @@
+"""Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias="opt"` to enable."""
+
+load("@rules_cc//cc:defs.bzl", "CcInfo")
+load("@rules_rust//rust:rust_common.bzl", "COMMON_PROVIDERS")
+
+def _transition_alias_impl(ctx):
+    # `ctx.attr.actual` is a list of 1 item due to the transition
+    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]
+    if CcInfo in ctx.attr.actual[0]:
+        providers.append(ctx.attr.actual[0][CcInfo])
+    return providers
+
+def _change_compilation_mode(compilation_mode):
+    def _change_compilation_mode_impl(_settings, _attr):
+        return {
+            "//command_line_option:compilation_mode": compilation_mode,
+        }
+
+    return transition(
+        implementation = _change_compilation_mode_impl,
+        inputs = [],
+        outputs = [
+            "//command_line_option:compilation_mode",
+        ],
+    )
+
+def _transition_alias_rule(compilation_mode):
+    return rule(
+        implementation = _transition_alias_impl,
+        provides = COMMON_PROVIDERS,
+        attrs = {
+            "actual": attr.label(
+                mandatory = True,
+                doc = "`rust_library()` target to transition to `compilation_mode=opt`.",
+                providers = COMMON_PROVIDERS,
+                cfg = _change_compilation_mode(compilation_mode),
+            ),
+            "_allowlist_function_transition": attr.label(
+                default = "@bazel_tools//tools/allowlists/function_transition_allowlist",
+            ),
+        },
+        doc = "Transitions a Rust library crate to the `compilation_mode=opt`.",
+    )
+
+transition_alias_dbg = _transition_alias_rule("dbg")
+transition_alias_fastbuild = _transition_alias_rule("fastbuild")
+transition_alias_opt = _transition_alias_rule("opt")
diff --git a/crate_universe/src/select.rs b/crate_universe/src/select.rs
new file mode 100644
index 0000000..621c719
--- /dev/null
+++ b/crate_universe/src/select.rs
@@ -0,0 +1,479 @@
+use std::collections::{BTreeMap, BTreeSet};
+use std::fmt::Debug;
+
+use serde::{de::DeserializeOwned, Deserialize, Deserializer, Serialize};
+
+#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
+pub struct Select<T>
+where
+    T: Selectable,
+{
+    common: T::CommonType,
+    selects: BTreeMap<String, T::SelectsType>,
+}
+
+pub trait Selectable
+where
+    Self: SelectableValue,
+{
+    type ItemType: SelectableValue;
+    type CommonType: SelectableValue + Default;
+    type SelectsType: SelectableValue;
+
+    fn is_empty(this: &Select<Self>) -> bool;
+    fn insert(this: &mut Select<Self>, value: Self::ItemType, configuration: Option<String>);
+
+    fn items(this: &Select<Self>) -> Vec<(Option<String>, Self::ItemType)>;
+    fn values(this: &Select<Self>) -> Vec<Self::ItemType>;
+
+    fn merge(lhs: Select<Self>, rhs: Select<Self>) -> Select<Self>;
+}
+
+// Replace with `trait_alias` once stabilized.
+// https://github.com/rust-lang/rust/issues/41517
+pub trait SelectableValue
+where
+    Self: Debug + Clone + PartialEq + Eq + Serialize + DeserializeOwned,
+{
+}
+
+impl<T> SelectableValue for T where T: Debug + Clone + PartialEq + Eq + Serialize + DeserializeOwned {}
+
+// Replace with `trait_alias` once stabilized.
+// https://github.com/rust-lang/rust/issues/41517
+pub trait SelectableOrderedValue
+where
+    Self: SelectableValue + PartialOrd + Ord,
+{
+}
+
+impl<T> SelectableOrderedValue for T where T: SelectableValue + PartialOrd + Ord {}
+
+pub trait SelectableScalar
+where
+    Self: SelectableValue,
+{
+}
+
+impl SelectableScalar for String {}
+impl SelectableScalar for bool {}
+impl SelectableScalar for i64 {}
+
+// General
+impl<T> Select<T>
+where
+    T: Selectable,
+{
+    pub fn new() -> Self {
+        Self {
+            common: T::CommonType::default(),
+            selects: BTreeMap::new(),
+        }
+    }
+
+    pub fn from_value(value: T::CommonType) -> Self {
+        Self {
+            common: value,
+            selects: BTreeMap::new(),
+        }
+    }
+
+    pub fn is_empty(&self) -> bool {
+        T::is_empty(self)
+    }
+
+    pub fn configurations(&self) -> BTreeSet<String> {
+        self.selects.keys().cloned().collect()
+    }
+
+    pub fn items(&self) -> Vec<(Option<String>, T::ItemType)> {
+        T::items(self)
+    }
+
+    pub fn values(&self) -> Vec<T::ItemType> {
+        T::values(self)
+    }
+
+    pub fn insert(&mut self, value: T::ItemType, configuration: Option<String>) {
+        T::insert(self, value, configuration);
+    }
+
+    pub fn into_parts(self) -> (T::CommonType, BTreeMap<String, T::SelectsType>) {
+        (self.common, self.selects)
+    }
+
+    pub fn merge(lhs: Self, rhs: Self) -> Self {
+        T::merge(lhs, rhs)
+    }
+}
+
+impl<T> Default for Select<T>
+where
+    T: Selectable,
+{
+    fn default() -> Self {
+        Self::new()
+    }
+}
+
+impl<'de, T> Deserialize<'de> for Select<T>
+where
+    T: Selectable,
+{
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        #[derive(Debug, Deserialize)]
+        #[serde(untagged)]
+        enum Either<T>
+        where
+            T: Selectable,
+        {
+            Select {
+                common: T::CommonType,
+                selects: BTreeMap<String, T::SelectsType>,
+            },
+            Value(T::CommonType),
+        }
+
+        let either = Either::<T>::deserialize(deserializer)?;
+        match either {
+            Either::Select { common, selects } => Ok(Self { common, selects }),
+            Either::Value(common) => Ok(Self {
+                common,
+                selects: BTreeMap::new(),
+            }),
+        }
+    }
+}
+
+// Scalar
+impl<T> Selectable for T
+where
+    T: SelectableScalar,
+{
+    type ItemType = T;
+    type CommonType = Option<Self::ItemType>;
+    type SelectsType = Self::ItemType;
+
+    fn is_empty(this: &Select<Self>) -> bool {
+        this.common.is_none() && this.selects.is_empty()
+    }
+
+    fn items(this: &Select<Self>) -> Vec<(Option<String>, Self::ItemType)> {
+        let mut result = Vec::new();
+        if let Some(value) = this.common.as_ref() {
+            result.push((None, value.clone()));
+        }
+        result.extend(
+            this.selects
+                .iter()
+                .map(|(configuration, value)| (Some(configuration.clone()), value.clone())),
+        );
+        result
+    }
+
+    fn values(this: &Select<Self>) -> Vec<Self::ItemType> {
+        let mut result = Vec::new();
+        if let Some(value) = this.common.as_ref() {
+            result.push(value.clone());
+        }
+        result.extend(this.selects.values().cloned());
+        result
+    }
+
+    fn insert(this: &mut Select<Self>, value: Self::ItemType, configuration: Option<String>) {
+        match configuration {
+            None => {
+                this.selects
+                    .retain(|_, existing_value| existing_value != &value);
+                this.common = Some(value);
+            }
+            Some(configuration) => {
+                if Some(&value) != this.common.as_ref() {
+                    this.selects.insert(configuration, value);
+                }
+            }
+        }
+    }
+
+    fn merge(lhs: Select<Self>, rhs: Select<Self>) -> Select<Self> {
+        let mut result: Select<Self> = Select::new();
+
+        if let Some(value) = lhs.common {
+            result.insert(value, None);
+        }
+        if let Some(value) = rhs.common {
+            result.insert(value, None);
+        }
+
+        for (configuration, value) in lhs.selects.into_iter() {
+            result.insert(value, Some(configuration));
+        }
+        for (configuration, value) in rhs.selects.into_iter() {
+            result.insert(value, Some(configuration));
+        }
+
+        result
+    }
+}
+
+// Vec<T>
+impl<T> Selectable for Vec<T>
+where
+    T: SelectableValue,
+{
+    type ItemType = T;
+    type CommonType = Vec<T>;
+    type SelectsType = Vec<T>;
+
+    fn is_empty(this: &Select<Self>) -> bool {
+        this.common.is_empty() && this.selects.is_empty()
+    }
+
+    fn items(this: &Select<Self>) -> Vec<(Option<String>, Self::ItemType)> {
+        let mut result = Vec::new();
+        result.extend(this.common.iter().map(|value| (None, value.clone())));
+        result.extend(this.selects.iter().flat_map(|(configuration, values)| {
+            values
+                .iter()
+                .map(|value| (Some(configuration.clone()), value.clone()))
+        }));
+        result
+    }
+
+    fn values(this: &Select<Self>) -> Vec<Self::ItemType> {
+        let mut result = Vec::new();
+        result.extend(this.common.iter().cloned());
+        result.extend(
+            this.selects
+                .values()
+                .flat_map(|values| values.iter().cloned()),
+        );
+        result
+    }
+
+    fn insert(this: &mut Select<Self>, value: Self::ItemType, configuration: Option<String>) {
+        match configuration {
+            None => this.common.push(value),
+            Some(configuration) => this.selects.entry(configuration).or_default().push(value),
+        }
+    }
+
+    fn merge(lhs: Select<Self>, rhs: Select<Self>) -> Select<Self> {
+        let mut result: Select<Self> = Select::new();
+
+        for value in lhs.common.into_iter() {
+            result.insert(value, None);
+        }
+        for value in rhs.common.into_iter() {
+            result.insert(value, None);
+        }
+
+        for (configuration, values) in lhs.selects.into_iter() {
+            for value in values.into_iter() {
+                result.insert(value, Some(configuration.clone()));
+            }
+        }
+        for (configuration, values) in rhs.selects.into_iter() {
+            for value in values.into_iter() {
+                result.insert(value, Some(configuration.clone()));
+            }
+        }
+
+        result
+    }
+}
+
+// BTreeSet<T>
+impl<T> Selectable for BTreeSet<T>
+where
+    T: SelectableOrderedValue,
+{
+    type ItemType = T;
+    type CommonType = BTreeSet<T>;
+    type SelectsType = BTreeSet<T>;
+
+    fn is_empty(this: &Select<Self>) -> bool {
+        this.common.is_empty() && this.selects.is_empty()
+    }
+
+    fn items(this: &Select<Self>) -> Vec<(Option<String>, Self::ItemType)> {
+        let mut result = Vec::new();
+        result.extend(this.common.iter().map(|value| (None, value.clone())));
+        result.extend(this.selects.iter().flat_map(|(configuration, values)| {
+            values
+                .iter()
+                .map(|value| (Some(configuration.clone()), value.clone()))
+        }));
+        result
+    }
+
+    fn values(this: &Select<Self>) -> Vec<Self::ItemType> {
+        let mut result = Vec::new();
+        result.extend(this.common.iter().cloned());
+        result.extend(
+            this.selects
+                .values()
+                .flat_map(|values| values.iter().cloned()),
+        );
+        result
+    }
+
+    fn insert(this: &mut Select<Self>, value: Self::ItemType, configuration: Option<String>) {
+        match configuration {
+            None => {
+                this.selects.retain(|_, set| {
+                    set.remove(&value);
+                    !set.is_empty()
+                });
+                this.common.insert(value);
+            }
+            Some(configuration) => {
+                if !this.common.contains(&value) {
+                    this.selects.entry(configuration).or_default().insert(value);
+                }
+            }
+        }
+    }
+
+    fn merge(lhs: Select<Self>, rhs: Select<Self>) -> Select<Self> {
+        let mut result: Select<Self> = Select::new();
+
+        for value in lhs.common.into_iter() {
+            result.insert(value, None);
+        }
+        for value in rhs.common.into_iter() {
+            result.insert(value, None);
+        }
+
+        for (configuration, values) in lhs.selects.into_iter() {
+            for value in values {
+                result.insert(value, Some(configuration.clone()));
+            }
+        }
+        for (configuration, values) in rhs.selects.into_iter() {
+            for value in values {
+                result.insert(value, Some(configuration.clone()));
+            }
+        }
+
+        result
+    }
+}
+
+impl<T> Select<BTreeSet<T>>
+where
+    T: SelectableOrderedValue,
+{
+    pub fn map<U, F>(self, func: F) -> Select<BTreeSet<U>>
+    where
+        U: SelectableOrderedValue,
+        F: Copy + FnMut(T) -> U,
+    {
+        Select {
+            common: self.common.into_iter().map(func).collect(),
+            selects: self
+                .selects
+                .into_iter()
+                .map(|(configuration, values)| {
+                    (configuration, values.into_iter().map(func).collect())
+                })
+                .collect(),
+        }
+    }
+}
+
+// BTreeMap<U, T>
+impl<U, T> Selectable for BTreeMap<U, T>
+where
+    U: SelectableOrderedValue,
+    T: SelectableValue,
+{
+    type ItemType = (U, T);
+    type CommonType = BTreeMap<U, T>;
+    type SelectsType = BTreeMap<U, T>;
+
+    fn is_empty(this: &Select<Self>) -> bool {
+        this.common.is_empty() && this.selects.is_empty()
+    }
+
+    fn items(this: &Select<Self>) -> Vec<(Option<String>, Self::ItemType)> {
+        let mut result = Vec::new();
+        result.extend(
+            this.common
+                .iter()
+                .map(|(key, value)| (None, (key.clone(), value.clone()))),
+        );
+        result.extend(this.selects.iter().flat_map(|(configuration, values)| {
+            values
+                .iter()
+                .map(|(key, value)| (Some(configuration.clone()), (key.clone(), value.clone())))
+        }));
+        result
+    }
+
+    fn values(this: &Select<Self>) -> Vec<Self::ItemType> {
+        let mut result = Vec::new();
+        result.extend(
+            this.common
+                .iter()
+                .map(|(key, value)| (key.clone(), value.clone())),
+        );
+        result.extend(this.selects.values().flat_map(|values| {
+            values
+                .iter()
+                .map(|(key, value)| (key.clone(), value.clone()))
+        }));
+        result
+    }
+
+    fn insert(
+        this: &mut Select<Self>,
+        (key, value): Self::ItemType,
+        configuration: Option<String>,
+    ) {
+        match configuration {
+            None => {
+                this.selects.retain(|_, map| {
+                    map.remove(&key);
+                    !map.is_empty()
+                });
+                this.common.insert(key, value);
+            }
+            Some(configuration) => {
+                if !this.common.contains_key(&key) {
+                    this.selects
+                        .entry(configuration)
+                        .or_default()
+                        .insert(key, value);
+                }
+            }
+        }
+    }
+
+    fn merge(lhs: Select<Self>, rhs: Select<Self>) -> Select<Self> {
+        let mut result: Select<Self> = Select::new();
+
+        for (key, value) in lhs.common.into_iter() {
+            result.insert((key, value), None);
+        }
+        for (key, value) in rhs.common.into_iter() {
+            result.insert((key, value), None);
+        }
+
+        for (configuration, entries) in lhs.selects.into_iter() {
+            for (key, value) in entries {
+                result.insert((key, value), Some(configuration.clone()));
+            }
+        }
+        for (configuration, entries) in rhs.selects.into_iter() {
+            for (key, value) in entries {
+                result.insert((key, value), Some(configuration.clone()));
+            }
+        }
+
+        result
+    }
+}
diff --git a/crate_universe/src/splicing.rs b/crate_universe/src/splicing.rs
index fe525b9..e13ed3e 100644
--- a/crate_universe/src/splicing.rs
+++ b/crate_universe/src/splicing.rs
@@ -11,13 +11,15 @@
 use std::str::FromStr;
 
 use anyhow::{anyhow, bail, Context, Result};
+use cargo_lock::package::SourceKind;
 use cargo_toml::Manifest;
 use serde::{Deserialize, Serialize};
 
 use crate::config::CrateId;
 use crate::metadata::{Cargo, CargoUpdateRequest, LockGenerator};
+use crate::select::Select;
 use crate::utils;
-use crate::utils::starlark::{Label, SelectList};
+use crate::utils::starlark::Label;
 
 use self::cargo_config::CargoConfig;
 use self::crate_index_lookup::CrateIndexLookup;
@@ -173,7 +175,7 @@
     ///
     /// We store this here because it's computed during the splicing phase via
     /// calls to "cargo tree" which need the full spliced workspace.
-    pub features: BTreeMap<CrateId, SelectList<String>>,
+    pub features: BTreeMap<CrateId, Select<BTreeSet<String>>>,
 }
 
 impl TryFrom<toml::Value> for WorkspaceMetadata {
@@ -210,20 +212,20 @@
     ) -> Result<Self> {
         let mut package_prefixes: BTreeMap<String, String> = member_manifests
             .iter()
-            .filter_map(|(original_manifest, cargo_pkg_name)| {
+            .filter_map(|(original_manifest, cargo_package_name)| {
                 let label = match splicing_manifest.manifests.get(*original_manifest) {
                     Some(v) => v,
                     None => return None,
                 };
 
-                let package = match &label.package {
-                    Some(pkg) => PathBuf::from(pkg),
-                    None => return None,
+                let package = match label.package() {
+                    Some(package) if !package.is_empty() => PathBuf::from(package),
+                    Some(_) | None => return None,
                 };
 
                 let prefix = package.to_string_lossy().to_string();
 
-                Some((cargo_pkg_name.clone(), prefix))
+                Some((cargo_package_name.clone(), prefix))
             })
             .collect();
 
@@ -253,7 +255,7 @@
     pub fn write_registry_urls_and_feature_map(
         cargo: &Cargo,
         lockfile: &cargo_lock::Lockfile,
-        features: BTreeMap<CrateId, SelectList<String>>,
+        features: BTreeMap<CrateId, Select<BTreeSet<String>>>,
         input_manifest_path: &Path,
         output_manifest_path: &Path,
     ) -> Result<()> {
@@ -279,9 +281,12 @@
             .collect();
 
         // Collect a unique set of index urls
-        let index_urls: BTreeSet<String> = pkg_sources
+        let index_urls: BTreeSet<(SourceKind, String)> = pkg_sources
             .iter()
-            .map(|pkg| pkg.source.as_ref().unwrap().url().to_string())
+            .map(|pkg| {
+                let source = pkg.source.as_ref().unwrap();
+                (source.kind().clone(), source.url().to_string())
+            })
             .collect();
 
         // Load the cargo config
@@ -303,7 +308,7 @@
         // Load each index for easy access
         let crate_indexes = index_urls
             .into_iter()
-            .map(|url| {
+            .map(|(source_kind, url)| {
                 // Ensure the correct registry is mapped based on the give Cargo config.
                 let index_url = if let Some(config) = &cargo_config {
                     config.resolve_replacement_url(&url)?
@@ -316,25 +321,38 @@
                     CrateIndexLookup::Http(crates_index::SparseIndex::from_url(
                         "sparse+https://index.crates.io/",
                     )?)
-                } else if index_url.starts_with("sparse+https://") {
-                    CrateIndexLookup::Http(crates_index::SparseIndex::from_url(index_url)?)
                 } else {
-                    let index = {
-                        // Load the index for the current url
-                        let index =
-                            crates_index::Index::from_url(index_url).with_context(|| {
-                                format!("Failed to load index for url: {index_url}")
-                            })?;
+                    match source_kind {
+                        SourceKind::Registry => {
+                            let index = {
+                                // Load the index for the current url
+                                let index = crates_index::GitIndex::from_url(index_url)
+                                    .with_context(|| {
+                                        format!("Failed to load index for url: {index_url}")
+                                    })?;
 
-                        // Ensure each index has a valid index config
-                        index.index_config().with_context(|| {
-                            format!("`config.json` not found in index: {index_url}")
-                        })?;
+                                // Ensure each index has a valid index config
+                                index.index_config().with_context(|| {
+                                    format!("`config.json` not found in index: {index_url}")
+                                })?;
 
-                        index
-                    };
-
-                    CrateIndexLookup::Git(index)
+                                index
+                            };
+                            CrateIndexLookup::Git(index)
+                        }
+                        SourceKind::SparseRegistry => {
+                            CrateIndexLookup::Http(crates_index::SparseIndex::from_url(
+                                format!("sparse+{}", index_url).as_str(),
+                            )?)
+                        }
+                        unknown => {
+                            return Err(anyhow!(
+                                "'{:?}' crate index type is not supported (caused by '{}')",
+                                &unknown,
+                                url
+                            ));
+                        }
+                    }
                 };
                 Ok((url, index))
             })
diff --git a/crate_universe/src/splicing/crate_index_lookup.rs b/crate_universe/src/splicing/crate_index_lookup.rs
index 3ba4fda..7710f32 100644
--- a/crate_universe/src/splicing/crate_index_lookup.rs
+++ b/crate_universe/src/splicing/crate_index_lookup.rs
@@ -4,7 +4,7 @@
 use hex::ToHex;
 
 pub enum CrateIndexLookup {
-    Git(crates_index::Index),
+    Git(crates_index::GitIndex),
     Http(crates_index::SparseIndex),
 }
 
@@ -42,6 +42,7 @@
         Ok(source_info)
     }
 
+    #[allow(clippy::result_large_err)]
     fn index_config(&self) -> Result<IndexConfig, crates_index::Error> {
         match self {
             Self::Git(index) => index.index_config(),
diff --git a/crate_universe/src/splicing/splicer.rs b/crate_universe/src/splicing/splicer.rs
index 620036b..552d4e1 100644
--- a/crate_universe/src/splicing/splicer.rs
+++ b/crate_universe/src/splicing/splicer.rs
@@ -749,6 +749,7 @@
     use cargo_metadata::{MetadataCommand, PackageId};
     use maplit::btreeset;
 
+    use crate::splicing::Cargo;
     use crate::utils::starlark::Label;
 
     /// Clone and compare two items after calling `.sort()` on them.
@@ -1022,7 +1023,12 @@
         (splicing_manifest, cache_dir)
     }
 
-    fn new_package_id(name: &str, workspace_root: &Path, is_root: bool) -> PackageId {
+    fn new_package_id(
+        name: &str,
+        workspace_root: &Path,
+        is_root: bool,
+        cargo: &Cargo,
+    ) -> PackageId {
         let mut workspace_root = workspace_root.display().to_string();
 
         // On windows, make sure we normalize the path to match what Cargo would
@@ -1031,13 +1037,27 @@
             workspace_root = format!("/{}", workspace_root.replace('\\', "/"))
         };
 
+        // Cargo updated the way package id's are represented. We should make sure
+        // to render the correct version based on the current cargo binary.
+        let use_format_v2 = cargo.uses_new_package_id_format().expect(
+            "Tests should have a fully controlled environment and consistent access to cargo.",
+        );
+
         if is_root {
             PackageId {
-                repr: format!("{name} 0.0.1 (path+file://{workspace_root})"),
+                repr: if use_format_v2 {
+                    format!("path+file://{workspace_root}#{name}@0.0.1")
+                } else {
+                    format!("{name} 0.0.1 (path+file://{workspace_root})")
+                },
             }
         } else {
             PackageId {
-                repr: format!("{name} 0.0.1 (path+file://{workspace_root}/{name})"),
+                repr: if use_format_v2 {
+                    format!("path+file://{workspace_root}/{name}#0.0.1")
+                } else {
+                    format!("{name} 0.0.1 (path+file://{workspace_root}/{name})")
+                },
             }
         }
     }
@@ -1054,14 +1074,18 @@
                 .splice_workspace(&cargo())
                 .unwrap();
 
+        // Locate cargo
+        let (_, cargo_path) = get_cargo_and_rustc_paths();
+        let cargo = Cargo::new(cargo_path);
+
         // Ensure metadata is valid
         let metadata = generate_metadata(workspace_manifest.as_path_buf());
         assert_sort_eq!(
             metadata.workspace_members,
             vec![
-                new_package_id("sub_pkg_a", workspace_root.as_ref(), false),
-                new_package_id("sub_pkg_b", workspace_root.as_ref(), false),
-                new_package_id("root_pkg", workspace_root.as_ref(), true),
+                new_package_id("sub_pkg_a", workspace_root.as_ref(), false, &cargo),
+                new_package_id("sub_pkg_b", workspace_root.as_ref(), false, &cargo),
+                new_package_id("root_pkg", workspace_root.as_ref(), true, &cargo),
             ]
         );
 
@@ -1094,14 +1118,18 @@
                 .splice_workspace(&cargo())
                 .unwrap();
 
+        // Locate cargo
+        let (_, cargo_path) = get_cargo_and_rustc_paths();
+        let cargo = Cargo::new(cargo_path);
+
         // Ensure metadata is valid
         let metadata = generate_metadata(workspace_manifest.as_path_buf());
         assert_sort_eq!(
             metadata.workspace_members,
             vec![
-                new_package_id("sub_pkg_a", workspace_root.as_ref(), false),
-                new_package_id("sub_pkg_b", workspace_root.as_ref(), false),
-                new_package_id("root_pkg", workspace_root.as_ref(), true),
+                new_package_id("sub_pkg_a", workspace_root.as_ref(), false, &cargo),
+                new_package_id("sub_pkg_b", workspace_root.as_ref(), false, &cargo),
+                new_package_id("root_pkg", workspace_root.as_ref(), true, &cargo),
             ]
         );
 
@@ -1282,11 +1310,20 @@
                 .splice_workspace(&cargo())
                 .unwrap();
 
+        // Locate cargo
+        let (_, cargo_path) = get_cargo_and_rustc_paths();
+        let cargo = Cargo::new(cargo_path);
+
         // Ensure metadata is valid
         let metadata = generate_metadata(workspace_manifest.as_path_buf());
         assert_sort_eq!(
             metadata.workspace_members,
-            vec![new_package_id("root_pkg", workspace_root.as_ref(), true)]
+            vec![new_package_id(
+                "root_pkg",
+                workspace_root.as_ref(),
+                true,
+                &cargo
+            )]
         );
 
         // Ensure the workspace metadata annotations are not populated
@@ -1322,14 +1359,18 @@
             Some(cargo_toml::Resolver::V1)
         );
 
+        // Locate cargo
+        let (_, cargo_path) = get_cargo_and_rustc_paths();
+        let cargo = Cargo::new(cargo_path);
+
         // Ensure metadata is valid
         let metadata = generate_metadata(workspace_manifest.as_path_buf());
         assert_sort_eq!(
             metadata.workspace_members,
             vec![
-                new_package_id("pkg_a", workspace_root.as_ref(), false),
-                new_package_id("pkg_b", workspace_root.as_ref(), false),
-                new_package_id("pkg_c", workspace_root.as_ref(), false),
+                new_package_id("pkg_a", workspace_root.as_ref(), false, &cargo),
+                new_package_id("pkg_b", workspace_root.as_ref(), false, &cargo),
+                new_package_id("pkg_c", workspace_root.as_ref(), false, &cargo),
             ]
         );
 
@@ -1369,14 +1410,18 @@
             Some(cargo_toml::Resolver::V2)
         );
 
+        // Locate cargo
+        let (_, cargo_path) = get_cargo_and_rustc_paths();
+        let cargo = Cargo::new(cargo_path);
+
         // Ensure metadata is valid
         let metadata = generate_metadata(workspace_manifest.as_path_buf());
         assert_sort_eq!(
             metadata.workspace_members,
             vec![
-                new_package_id("pkg_a", workspace_root.as_ref(), false),
-                new_package_id("pkg_b", workspace_root.as_ref(), false),
-                new_package_id("pkg_c", workspace_root.as_ref(), false),
+                new_package_id("pkg_a", workspace_root.as_ref(), false, &cargo),
+                new_package_id("pkg_b", workspace_root.as_ref(), false, &cargo),
+                new_package_id("pkg_c", workspace_root.as_ref(), false, &cargo),
             ]
         );
 
diff --git a/crate_universe/src/test.rs b/crate_universe/src/test.rs
index e97e20b..946386b 100644
--- a/crate_universe/src/test.rs
+++ b/crate_universe/src/test.rs
@@ -75,6 +75,14 @@
         .unwrap()
     }
 
+    pub fn multi_kind_proc_macro_dep() -> cargo_metadata::Metadata {
+        serde_json::from_str(include_str!(concat!(
+            env!("CARGO_MANIFEST_DIR"),
+            "/test_data/metadata/multi_kind_proc_macro_dep/metadata.json"
+        )))
+        .unwrap()
+    }
+
     pub fn no_deps() -> cargo_metadata::Metadata {
         serde_json::from_str(include_str!(concat!(
             env!("CARGO_MANIFEST_DIR"),
@@ -91,6 +99,22 @@
         .unwrap()
     }
 
+    pub fn renamed_optional_deps_disabled() -> cargo_metadata::Metadata {
+        serde_json::from_str(include_str!(concat!(
+            env!("CARGO_MANIFEST_DIR"),
+            "/test_data/metadata/crate_renamed_optional_deps_disabled/metadata.json"
+        )))
+        .unwrap()
+    }
+
+    pub fn optional_deps_disabled_build_dep_enabled() -> cargo_metadata::Metadata {
+        serde_json::from_str(include_str!(concat!(
+            env!("CARGO_MANIFEST_DIR"),
+            "/test_data/metadata/crate_optional_deps_disabled_build_dep_enabled/metadata.json"
+        )))
+        .unwrap()
+    }
+
     pub fn optional_deps_enabled() -> cargo_metadata::Metadata {
         serde_json::from_str(include_str!(concat!(
             env!("CARGO_MANIFEST_DIR"),
@@ -99,6 +123,14 @@
         .unwrap()
     }
 
+    pub fn renamed_optional_deps_enabled() -> cargo_metadata::Metadata {
+        serde_json::from_str(include_str!(concat!(
+            env!("CARGO_MANIFEST_DIR"),
+            "/test_data/metadata/crate_renamed_optional_deps_enabled/metadata.json"
+        )))
+        .unwrap()
+    }
+
     pub fn common() -> cargo_metadata::Metadata {
         serde_json::from_str(include_str!(concat!(
             env!("CARGO_MANIFEST_DIR"),
diff --git a/crate_universe/src/utils.rs b/crate_universe/src/utils.rs
index c7f12c2..9344c43 100644
--- a/crate_universe/src/utils.rs
+++ b/crate_universe/src/utils.rs
@@ -1,6 +1,7 @@
 //! Common utilities
 
 pub mod starlark;
+pub mod target_triple;
 
 pub const CRATES_IO_INDEX_URL: &str = "https://github.com/rust-lang/crates.io-index";
 
diff --git a/crate_universe/src/utils/starlark.rs b/crate_universe/src/utils/starlark.rs
index 45187a9..f104547 100644
--- a/crate_universe/src/utils/starlark.rs
+++ b/crate_universe/src/utils/starlark.rs
@@ -3,27 +3,34 @@
 mod glob;
 mod label;
 mod select;
+mod select_dict;
+mod select_list;
+mod select_scalar;
+mod select_set;
 mod serialize;
 mod target_compatible_with;
 
 use std::collections::BTreeSet as Set;
 
 use serde::{Serialize, Serializer};
-use serde_starlark::Error as StarlarkError;
+use serde_starlark::{Error as StarlarkError, FunctionCall};
 
 pub use glob::*;
 pub use label::*;
 pub use select::*;
+pub use select_dict::*;
+pub use select_list::*;
+pub use select_scalar::*;
+pub use select_set::*;
 pub use target_compatible_with::*;
 
-pub type SelectStringList = SelectList<String>;
-pub type SelectStringDict = SelectDict<String>;
-
 #[derive(Serialize)]
 #[serde(untagged)]
 pub enum Starlark {
     Load(Load),
     Package(Package),
+    PackageInfo(PackageInfo),
+    License(License),
     ExportsFiles(ExportsFiles),
     Filegroup(Filegroup),
     Alias(Alias),
@@ -45,9 +52,23 @@
 }
 
 pub struct Package {
+    pub default_package_metadata: Set<Label>,
     pub default_visibility: Set<String>,
 }
 
+pub struct PackageInfo {
+    pub name: String,
+    pub package_name: String,
+    pub package_url: String,
+    pub package_version: String,
+}
+
+pub struct License {
+    pub name: String,
+    pub license_kinds: Set<String>,
+    pub license_text: String,
+}
+
 pub struct ExportsFiles {
     pub paths: Set<String>,
     pub globs: Glob,
@@ -60,11 +81,10 @@
     pub srcs: Glob,
 }
 
-#[derive(Serialize)]
-#[serde(rename = "alias")]
 pub struct Alias {
+    pub rule: String,
     pub name: String,
-    pub actual: String,
+    pub actual: Label,
     pub tags: Set<String>,
 }
 
@@ -72,75 +92,45 @@
 #[serde(rename = "cargo_build_script")]
 pub struct CargoBuildScript {
     pub name: String,
-    #[serde(
-        skip_serializing_if = "SelectDict::is_empty",
-        serialize_with = "SelectDict::serialize_starlark"
-    )]
-    pub aliases: SelectDict<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectDict::is_empty",
-        serialize_with = "SelectDict::serialize_starlark"
-    )]
-    pub build_script_env: SelectDict<WithOriginalConfigurations<String>>,
+    #[serde(skip_serializing_if = "SelectDict::is_empty")]
+    pub aliases: SelectDict<Label, String>,
+    #[serde(skip_serializing_if = "SelectDict::is_empty")]
+    pub build_script_env: SelectDict<String, String>,
     #[serde(skip_serializing_if = "Data::is_empty")]
     pub compile_data: Data,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub crate_features: SelectList<String>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub crate_features: SelectSet<String>,
     pub crate_name: String,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub crate_root: Option<String>,
     #[serde(skip_serializing_if = "Data::is_empty")]
     pub data: Data,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub link_deps: SelectList<WithOriginalConfigurations<String>>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub link_deps: SelectSet<Label>,
     pub edition: String,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub linker_script: Option<String>,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub links: Option<String>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub proc_macro_deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub rundir: Option<String>,
-    #[serde(
-        skip_serializing_if = "SelectDict::is_empty",
-        serialize_with = "SelectDict::serialize_starlark"
-    )]
-    pub rustc_env: SelectDict<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub rustc_env_files: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub rustc_flags: SelectList<WithOriginalConfigurations<String>>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub proc_macro_deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectScalar::is_empty")]
+    pub rundir: SelectScalar<String>,
+    #[serde(skip_serializing_if = "SelectDict::is_empty")]
+    pub rustc_env: SelectDict<String, String>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub rustc_env_files: SelectSet<String>,
+    #[serde(skip_serializing_if = "SelectList::is_empty")]
+    pub rustc_flags: SelectList<String>,
     pub srcs: Glob,
     #[serde(skip_serializing_if = "Set::is_empty")]
     pub tags: Set<String>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub tools: SelectList<WithOriginalConfigurations<String>>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub tools: SelectSet<Label>,
     #[serde(skip_serializing_if = "Set::is_empty")]
-    pub toolchains: Set<String>,
+    pub toolchains: Set<Label>,
     pub version: String,
     pub visibility: Set<String>,
 }
@@ -148,21 +138,12 @@
 #[derive(Serialize)]
 pub struct RustProcMacro {
     pub name: String,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub proc_macro_deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectDict::is_empty",
-        serialize_with = "SelectDict::serialize_starlark"
-    )]
-    pub aliases: SelectDict<WithOriginalConfigurations<String>>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub proc_macro_deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectDict::is_empty")]
+    pub aliases: SelectDict<Label, String>,
     #[serde(flatten)]
     pub common: CommonAttrs,
 }
@@ -170,21 +151,12 @@
 #[derive(Serialize)]
 pub struct RustLibrary {
     pub name: String,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub proc_macro_deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectDict::is_empty",
-        serialize_with = "SelectDict::serialize_starlark"
-    )]
-    pub aliases: SelectDict<WithOriginalConfigurations<String>>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub proc_macro_deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectDict::is_empty")]
+    pub aliases: SelectDict<Label, String>,
     #[serde(flatten)]
     pub common: CommonAttrs,
     #[serde(skip_serializing_if = "std::ops::Not::not")]
@@ -194,21 +166,12 @@
 #[derive(Serialize)]
 pub struct RustBinary {
     pub name: String,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub proc_macro_deps: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectDict::is_empty",
-        serialize_with = "SelectDict::serialize_starlark"
-    )]
-    pub aliases: SelectDict<WithOriginalConfigurations<String>>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub proc_macro_deps: SelectSet<Label>,
+    #[serde(skip_serializing_if = "SelectDict::is_empty")]
+    pub aliases: SelectDict<Label, String>,
     #[serde(flatten)]
     pub common: CommonAttrs,
 }
@@ -217,11 +180,8 @@
 pub struct CommonAttrs {
     #[serde(skip_serializing_if = "Data::is_empty")]
     pub compile_data: Data,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub crate_features: SelectList<String>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub crate_features: SelectSet<String>,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub crate_root: Option<String>,
     #[serde(skip_serializing_if = "Data::is_empty")]
@@ -229,50 +189,68 @@
     pub edition: String,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub linker_script: Option<String>,
-    #[serde(
-        skip_serializing_if = "SelectDict::is_empty",
-        serialize_with = "SelectDict::serialize_starlark"
-    )]
-    pub rustc_env: SelectDict<WithOriginalConfigurations<String>>,
-    #[serde(
-        skip_serializing_if = "SelectList::is_empty",
-        serialize_with = "SelectList::serialize_starlark"
-    )]
-    pub rustc_env_files: SelectList<WithOriginalConfigurations<String>>,
-    #[serde(skip_serializing_if = "Vec::is_empty")]
-    pub rustc_flags: Vec<String>,
+    #[serde(skip_serializing_if = "SelectDict::is_empty")]
+    pub rustc_env: SelectDict<String, String>,
+    #[serde(skip_serializing_if = "SelectSet::is_empty")]
+    pub rustc_env_files: SelectSet<String>,
+    #[serde(skip_serializing_if = "SelectList::is_empty")]
+    pub rustc_flags: SelectList<String>,
     pub srcs: Glob,
     #[serde(skip_serializing_if = "Set::is_empty")]
     pub tags: Set<String>,
-    #[serde(
-        serialize_with = "serialize_target_compatible_with",
-        skip_serializing_if = "Option::is_none"
-    )]
+    #[serde(skip_serializing_if = "Option::is_none")]
     pub target_compatible_with: Option<TargetCompatibleWith>,
     pub version: String,
 }
 
-fn serialize_target_compatible_with<S>(
-    value: &Option<TargetCompatibleWith>,
-    serializer: S,
-) -> Result<S::Ok, S::Error>
-where
-    S: Serializer,
-{
-    // SAFETY: Option::is_none causes serialization to get skipped.
-    value.as_ref().unwrap().serialize_starlark(serializer)
-}
-
 pub struct Data {
     pub glob: Glob,
-    pub select: SelectList<WithOriginalConfigurations<String>>,
+    pub select: SelectSet<Label>,
 }
 
 impl Package {
-    pub fn default_visibility_public() -> Self {
+    pub fn default_visibility_public(default_package_metadata: Set<Label>) -> Self {
         let mut default_visibility = Set::new();
         default_visibility.insert("//visibility:public".to_owned());
-        Package { default_visibility }
+        Package {
+            default_package_metadata,
+            default_visibility,
+        }
+    }
+}
+
+impl Serialize for Alias {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        // Output looks like:
+        //
+        //     rule(
+        //         name = "name",
+        //         actual = "actual",
+        //         tags = [
+        //            "tag1",
+        //            "tag2",
+        //         ],
+        //     )
+
+        #[derive(Serialize)]
+        struct AliasInner<'a> {
+            pub name: &'a String,
+            pub actual: &'a Label,
+            pub tags: &'a Set<String>,
+        }
+
+        FunctionCall::new(
+            &self.rule,
+            AliasInner {
+                name: &self.name,
+                actual: &self.actual,
+                tags: &self.tags,
+            },
+        )
+        .serialize(serializer)
     }
 }
 
diff --git a/crate_universe/src/utils/starlark/label.rs b/crate_universe/src/utils/starlark/label.rs
index c074a62..603abfc 100644
--- a/crate_universe/src/utils/starlark/label.rs
+++ b/crate_universe/src/utils/starlark/label.rs
@@ -3,73 +3,180 @@
 use std::str::FromStr;
 
 use anyhow::{anyhow, bail, Context, Result};
+use camino::Utf8Path;
 use regex::Regex;
 use serde::de::Visitor;
 use serde::{Deserialize, Serialize, Serializer};
 
-// Note that this type assumes there's no such thing as a relative label;
-// `:foo` is assumed to be relative to the repo root, and parses out to equivalent to `//:foo`.
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Clone)]
-pub struct Label {
-    pub repository: Option<String>,
-    pub package: Option<String>,
-    pub target: String,
+#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone)]
+pub enum Label {
+    Relative {
+        target: String,
+    },
+    Absolute {
+        repository: Repository,
+        package: String,
+        target: String,
+    },
+}
+
+#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone)]
+pub enum Repository {
+    Canonical(String), // stringifies to `@@self.0` where `self.0` may be empty
+    Explicit(String),  // stringifies to `@self.0` where `self.0` may be empty
+    Local,             // stringifies to the empty string
+}
+
+impl Label {
+    #[cfg(test)]
+    pub fn is_absolute(&self) -> bool {
+        match self {
+            Label::Relative { .. } => false,
+            Label::Absolute { .. } => true,
+        }
+    }
+
+    #[cfg(test)]
+    pub fn repository(&self) -> Option<&Repository> {
+        match self {
+            Label::Relative { .. } => None,
+            Label::Absolute { repository, .. } => Some(repository),
+        }
+    }
+
+    pub fn package(&self) -> Option<&str> {
+        match self {
+            Label::Relative { .. } => None,
+            Label::Absolute { package, .. } => Some(package.as_str()),
+        }
+    }
+
+    pub fn target(&self) -> &str {
+        match self {
+            Label::Relative { target } => target.as_str(),
+            Label::Absolute { target, .. } => target.as_str(),
+        }
+    }
 }
 
 impl FromStr for Label {
     type Err = anyhow::Error;
 
     fn from_str(s: &str) -> Result<Self, Self::Err> {
-        let re = Regex::new(r"^(@@?[\w\d\-_\.]*)?/{0,2}([\w\d\-_\./+]+)?(:([\+\w\d\-_\./]+))?$")?;
+        let re = Regex::new(r"^(@@?[\w\d\-_\.~]*)?(//)?([\w\d\-_\./+]+)?(:([\+\w\d\-_\./]+))?$")?;
         let cap = re
             .captures(s)
             .with_context(|| format!("Failed to parse label from string: {s}"))?;
 
-        let repository = cap
-            .get(1)
-            .map(|m| m.as_str().trim_start_matches('@').to_owned());
+        let (repository, is_absolute) = match (cap.get(1), cap.get(2).is_some()) {
+            (Some(repository), is_absolute) => match *repository.as_str().as_bytes() {
+                [b'@', b'@', ..] => (
+                    Some(Repository::Canonical(repository.as_str()[2..].to_owned())),
+                    is_absolute,
+                ),
+                [b'@', ..] => (
+                    Some(Repository::Explicit(repository.as_str()[1..].to_owned())),
+                    is_absolute,
+                ),
+                _ => bail!("Invalid Label: {}", s),
+            },
+            (None, true) => (Some(Repository::Local), true),
+            (None, false) => (None, false),
+        };
 
-        let package = cap.get(2).map(|m| m.as_str().to_owned());
-        let mut target = cap.get(4).map(|m| m.as_str().to_owned());
+        let package = cap.get(3).map(|package| package.as_str().to_owned());
 
-        if target.is_none() {
-            if let Some(pkg) = &package {
-                target = Some(pkg.clone());
-            } else if let Some(repo) = &repository {
-                target = Some(repo.clone())
-            } else {
-                bail!("The label is missing a label")
-            }
+        let target = cap.get(5).map(|target| target.as_str().to_owned());
+
+        match repository {
+            None => match (package, target) {
+                // Relative
+                (None, Some(target)) => Ok(Label::Relative { target }),
+
+                // Relative (Implicit Target which regex identifies as Package)
+                (Some(package), None) => Ok(Label::Relative { target: package }),
+
+                // Invalid (Empty)
+                (None, None) => bail!("Invalid Label: {}", s),
+
+                // Invalid (Relative Package + Target)
+                (Some(_), Some(_)) => bail!("Invalid Label: {}", s),
+            },
+            Some(repository) => match (is_absolute, package, target) {
+                // Absolute (Full)
+                (true, Some(package), Some(target)) => Ok(Label::Absolute {
+                    repository,
+                    package,
+                    target,
+                }),
+
+                // Absolute (Repository)
+                (_, None, None) => match &repository {
+                    Repository::Canonical(target) | Repository::Explicit(target) => {
+                        let target = match target.is_empty() {
+                            false => target.clone(),
+                            true => bail!("Invalid Label: {}", s),
+                        };
+                        Ok(Label::Absolute {
+                            repository,
+                            package: String::new(),
+                            target,
+                        })
+                    }
+                    Repository::Local => bail!("Invalid Label: {}", s),
+                },
+
+                // Absolute (Package)
+                (true, Some(package), None) => {
+                    let target = Utf8Path::new(&package)
+                        .file_name()
+                        .with_context(|| format!("Invalid Label: {}", s))?
+                        .to_owned();
+                    Ok(Label::Absolute {
+                        repository,
+                        package,
+                        target,
+                    })
+                }
+
+                // Absolute (Target)
+                (true, None, Some(target)) => Ok(Label::Absolute {
+                    repository,
+                    package: String::new(),
+                    target,
+                }),
+
+                // Invalid (Relative Repository + Package + Target)
+                (false, Some(_), Some(_)) => bail!("Invalid Label: {}", s),
+
+                // Invalid (Relative Repository + Package)
+                (false, Some(_), None) => bail!("Invalid Label: {}", s),
+
+                // Invalid (Relative Repository + Target)
+                (false, None, Some(_)) => bail!("Invalid Label: {}", s),
+            },
         }
-
-        // The target should be set at this point
-        let target = target.unwrap();
-
-        Ok(Self {
-            repository,
-            package,
-            target,
-        })
     }
 }
 
 impl Display for Label {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
-        // Add the repository
-        if let Some(repo) = &self.repository {
-            write!(f, "@{repo}")?;
+        match self {
+            Label::Relative { target } => write!(f, ":{}", target),
+            Label::Absolute {
+                repository,
+                package,
+                target,
+            } => match repository {
+                Repository::Canonical(repository) => {
+                    write!(f, "@@{repository}//{package}:{target}")
+                }
+                Repository::Explicit(repository) => {
+                    write!(f, "@{repository}//{package}:{target}")
+                }
+                Repository::Local => write!(f, "//{package}:{target}"),
+            },
         }
-
-        write!(f, "//")?;
-
-        // Add the package
-        if let Some(pkg) = &self.package {
-            write!(f, "{pkg}")?;
-        }
-
-        write!(f, ":{}", self.target)?;
-
-        Ok(())
     }
 }
 
@@ -104,14 +211,14 @@
                 }
 
                 let package = if package_path.components().count() > 0 {
-                    Some(path_to_label_part(&package_path)?)
+                    path_to_label_part(&package_path)?
                 } else {
-                    None
+                    String::new()
                 };
                 let target = path_to_label_part(target)?;
 
-                Ok(Label {
-                    repository: None,
+                Ok(Label::Absolute {
+                    repository: Repository::Local,
                     package,
                     target,
                 })
@@ -193,66 +300,166 @@
     use tempfile::tempdir;
 
     #[test]
-    fn full_label_bzlmod() {
-        let label = Label::from_str("@@repo//package/sub_package:target").unwrap();
-        assert_eq!(label.to_string(), "@repo//package/sub_package:target");
-        assert_eq!(label.repository.unwrap(), "repo");
-        assert_eq!(label.package.unwrap(), "package/sub_package");
-        assert_eq!(label.target, "target");
+    fn relative() {
+        let label = Label::from_str(":target").unwrap();
+        assert_eq!(label.to_string(), ":target");
+        assert!(!label.is_absolute());
+        assert_eq!(label.repository(), None);
+        assert_eq!(label.package(), None);
+        assert_eq!(label.target(), "target");
     }
 
     #[test]
-    fn full_label() {
-        let label = Label::from_str("@repo//package/sub_package:target").unwrap();
-        assert_eq!(label.to_string(), "@repo//package/sub_package:target");
-        assert_eq!(label.repository.unwrap(), "repo");
-        assert_eq!(label.package.unwrap(), "package/sub_package");
-        assert_eq!(label.target, "target");
+    fn relative_implicit() {
+        let label = Label::from_str("target").unwrap();
+        assert_eq!(label.to_string(), ":target");
+        assert!(!label.is_absolute());
+        assert_eq!(label.repository(), None);
+        assert_eq!(label.package(), None);
+        assert_eq!(label.target(), "target");
     }
 
     #[test]
-    fn no_repository() {
-        let label = Label::from_str("//package:target").unwrap();
-        assert_eq!(label.to_string(), "//package:target");
-        assert_eq!(label.repository, None);
-        assert_eq!(label.package.unwrap(), "package");
-        assert_eq!(label.target, "target");
+    fn absolute_full() {
+        let label = Label::from_str("@repo//package:target").unwrap();
+        assert_eq!(label.to_string(), "@repo//package:target");
+        assert!(label.is_absolute());
+        assert_eq!(
+            label.repository(),
+            Some(&Repository::Explicit(String::from("repo")))
+        );
+        assert_eq!(label.package(), Some("package"));
+        assert_eq!(label.target(), "target");
     }
 
     #[test]
-    fn no_slashes() {
-        let label = Label::from_str("package:target").unwrap();
-        assert_eq!(label.to_string(), "//package:target");
-        assert_eq!(label.repository, None);
-        assert_eq!(label.package.unwrap(), "package");
-        assert_eq!(label.target, "target");
+    fn absolute_repository() {
+        let label = Label::from_str("@repo").unwrap();
+        assert_eq!(label.to_string(), "@repo//:repo");
+        assert!(label.is_absolute());
+        assert_eq!(
+            label.repository(),
+            Some(&Repository::Explicit(String::from("repo")))
+        );
+        assert_eq!(label.package(), Some(""));
+        assert_eq!(label.target(), "repo");
     }
 
     #[test]
-    fn root_label() {
-        let label = Label::from_str("@repo//:target").unwrap();
-        assert_eq!(label.to_string(), "@repo//:target");
-        assert_eq!(label.repository.unwrap(), "repo");
-        assert_eq!(label.package, None);
-        assert_eq!(label.target, "target");
+    fn absolute_package() {
+        let label = Label::from_str("//package").unwrap();
+        assert_eq!(label.to_string(), "//package:package");
+        assert!(label.is_absolute());
+        assert_eq!(label.repository(), Some(&Repository::Local));
+        assert_eq!(label.package(), Some("package"));
+        assert_eq!(label.target(), "package");
+
+        let label = Label::from_str("//package/subpackage").unwrap();
+        assert_eq!(label.to_string(), "//package/subpackage:subpackage");
+        assert!(label.is_absolute());
+        assert_eq!(label.repository(), Some(&Repository::Local));
+        assert_eq!(label.package(), Some("package/subpackage"));
+        assert_eq!(label.target(), "subpackage");
     }
 
     #[test]
-    fn root_label_no_repository() {
+    fn absolute_target() {
         let label = Label::from_str("//:target").unwrap();
         assert_eq!(label.to_string(), "//:target");
-        assert_eq!(label.repository, None);
-        assert_eq!(label.package, None);
-        assert_eq!(label.target, "target");
+        assert!(label.is_absolute());
+        assert_eq!(label.repository(), Some(&Repository::Local));
+        assert_eq!(label.package(), Some(""));
+        assert_eq!(label.target(), "target");
     }
 
     #[test]
-    fn root_label_no_slashes() {
-        let label = Label::from_str(":target").unwrap();
-        assert_eq!(label.to_string(), "//:target");
-        assert_eq!(label.repository, None);
-        assert_eq!(label.package, None);
-        assert_eq!(label.target, "target");
+    fn absolute_repository_package() {
+        let label = Label::from_str("@repo//package").unwrap();
+        assert_eq!(label.to_string(), "@repo//package:package");
+        assert!(label.is_absolute());
+        assert_eq!(
+            label.repository(),
+            Some(&Repository::Explicit(String::from("repo")))
+        );
+        assert_eq!(label.package(), Some("package"));
+        assert_eq!(label.target(), "package");
+    }
+
+    #[test]
+    fn absolute_repository_target() {
+        let label = Label::from_str("@repo//:target").unwrap();
+        assert_eq!(label.to_string(), "@repo//:target");
+        assert!(label.is_absolute());
+        assert_eq!(
+            label.repository(),
+            Some(&Repository::Explicit(String::from("repo")))
+        );
+        assert_eq!(label.package(), Some(""));
+        assert_eq!(label.target(), "target");
+    }
+
+    #[test]
+    fn absolute_package_target() {
+        let label = Label::from_str("//package:target").unwrap();
+        assert_eq!(label.to_string(), "//package:target");
+        assert!(label.is_absolute());
+        assert_eq!(label.repository(), Some(&Repository::Local));
+        assert_eq!(label.package(), Some("package"));
+        assert_eq!(label.target(), "target");
+    }
+
+    #[test]
+    fn invalid_empty() {
+        Label::from_str("").unwrap_err();
+        Label::from_str("@").unwrap_err();
+        Label::from_str("//").unwrap_err();
+        Label::from_str(":").unwrap_err();
+    }
+
+    #[test]
+    fn invalid_relative_repository_package_target() {
+        Label::from_str("@repo/package:target").unwrap_err();
+    }
+
+    #[test]
+    fn invalid_relative_repository_package() {
+        Label::from_str("@repo/package").unwrap_err();
+    }
+
+    #[test]
+    fn invalid_relative_repository_target() {
+        Label::from_str("@repo:target").unwrap_err();
+    }
+
+    #[test]
+    fn invalid_relative_package_target() {
+        Label::from_str("package:target").unwrap_err();
+    }
+
+    #[test]
+    fn full_label_bzlmod() {
+        let label = Label::from_str("@@repo//package/sub_package:target").unwrap();
+        assert_eq!(label.to_string(), "@@repo//package/sub_package:target");
+        assert!(label.is_absolute());
+        assert_eq!(
+            label.repository(),
+            Some(&Repository::Canonical(String::from("repo")))
+        );
+        assert_eq!(label.package(), Some("package/sub_package"));
+        assert_eq!(label.target(), "target");
+    }
+
+    #[test]
+    fn full_label_bzlmod_with_tilde() {
+        let label = Label::from_str("@@repo~name//package/sub_package:target").unwrap();
+        assert_eq!(label.to_string(), "@@repo~name//package/sub_package:target");
+        assert!(label.is_absolute());
+        assert_eq!(
+            label.repository(),
+            Some(&Repository::Canonical(String::from("repo~name")))
+        );
+        assert_eq!(label.package(), Some("package/sub_package"));
+        assert_eq!(label.target(), "target");
     }
 
     #[test]
@@ -262,37 +469,39 @@
             label.to_string(),
             "@repo//package/sub_package:subdir/target"
         );
-        assert_eq!(label.repository.unwrap(), "repo");
-        assert_eq!(label.package.unwrap(), "package/sub_package");
-        assert_eq!(label.target, "subdir/target");
+        assert!(label.is_absolute());
+        assert_eq!(
+            label.repository(),
+            Some(&Repository::Explicit(String::from("repo")))
+        );
+        assert_eq!(label.package(), Some("package/sub_package"));
+        assert_eq!(label.target(), "subdir/target");
     }
 
     #[test]
     fn label_contains_plus() {
         let label = Label::from_str("@repo//vendor/wasi-0.11.0+wasi-snapshot-preview1:BUILD.bazel")
             .unwrap();
-        assert_eq!(label.repository.unwrap(), "repo");
+        assert!(label.is_absolute());
         assert_eq!(
-            label.package.unwrap(),
-            "vendor/wasi-0.11.0+wasi-snapshot-preview1"
+            label.repository(),
+            Some(&Repository::Explicit(String::from("repo")))
         );
-        assert_eq!(label.target, "BUILD.bazel");
+        assert_eq!(
+            label.package(),
+            Some("vendor/wasi-0.11.0+wasi-snapshot-preview1")
+        );
+        assert_eq!(label.target(), "BUILD.bazel");
     }
 
     #[test]
     fn invalid_double_colon() {
-        assert!(Label::from_str("::target").is_err());
+        Label::from_str("::target").unwrap_err();
     }
 
     #[test]
     fn invalid_triple_at() {
-        assert!(Label::from_str("@@@repo//pkg:target").is_err());
-    }
-
-    #[test]
-    #[ignore = "This currently fails. The Label parsing logic needs to be updated"]
-    fn invalid_no_double_slash() {
-        assert!(Label::from_str("@repo:target").is_err());
+        Label::from_str("@@@repo//pkg:target").unwrap_err();
     }
 
     #[test]
@@ -309,9 +518,14 @@
             File::create(&actual_file).unwrap();
         }
         let label = Label::from_absolute_path(&actual_file).unwrap();
-        assert_eq!(label.repository, None);
-        assert_eq!(label.package.unwrap(), "parent/child");
-        assert_eq!(label.target, "grandchild/greatgrandchild")
+        assert_eq!(
+            label.to_string(),
+            "//parent/child:grandchild/greatgrandchild"
+        );
+        assert!(label.is_absolute());
+        assert_eq!(label.repository(), Some(&Repository::Local));
+        assert_eq!(label.package(), Some("parent/child"));
+        assert_eq!(label.target(), "grandchild/greatgrandchild");
     }
 
     #[test]
diff --git a/crate_universe/src/utils/starlark/select.rs b/crate_universe/src/utils/starlark/select.rs
index a6049b6..43c5758 100644
--- a/crate_universe/src/utils/starlark/select.rs
+++ b/crate_universe/src/utils/starlark/select.rs
@@ -1,302 +1,19 @@
-use std::collections::{btree_set, BTreeMap, BTreeSet};
-use std::iter::{once, FromIterator};
+use std::collections::BTreeSet;
+use std::iter::FromIterator;
 
-use crate::config::StringOrSelect;
-use serde::ser::{SerializeMap, SerializeTupleStruct, Serializer};
-use serde::{Deserialize, Serialize};
-use serde_starlark::{FunctionCall, LineComment, MULTILINE};
-
-use crate::utils::starlark::serialize::MultilineArray;
-
-pub trait SelectMap<T, U> {
-    // A selectable should also implement a `map` function allowing one type of selectable
-    // to be mutated into another. However, the approach I'm looking for requires GAT
-    // (Generic Associated Types) which are not yet stable.
-    // https://github.com/rust-lang/rust/issues/44265
-    type Mapped;
-    fn map<F: Copy + Fn(T) -> U>(self, func: F) -> Self::Mapped;
-}
-
-pub trait Select<T> {
-    /// Gather a list of all conditions currently set on the selectable. A conditional
-    /// would be the key of the select statement.
-    fn configurations(&self) -> BTreeSet<Option<&String>>;
-}
-
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Deserialize, Serialize, Clone)]
-pub struct SelectList<T: Ord> {
-    // Invariant: any T in `common` is not anywhere in `selects`.
-    common: BTreeSet<T>,
-    // Invariant: none of the sets are empty.
-    selects: BTreeMap<String, BTreeSet<T>>,
-    // Elements that used to be in `selects` before the most recent
-    // `remap_configurations` operation, but whose old configuration did not get
-    // mapped to any new configuration. They could be ignored, but are preserved
-    // here to generate comments that help the user understand what happened.
-    #[serde(skip_serializing_if = "BTreeSet::is_empty", default = "BTreeSet::new")]
-    unmapped: BTreeSet<T>,
-}
-
-impl<T: Ord> Default for SelectList<T> {
-    fn default() -> Self {
-        Self {
-            common: BTreeSet::new(),
-            selects: BTreeMap::new(),
-            unmapped: BTreeSet::new(),
-        }
-    }
-}
-
-impl<T: Ord> SelectList<T> {
-    // TODO: This should probably be added to the [Select] trait
-    pub fn insert(&mut self, value: T, configuration: Option<String>) {
-        match configuration {
-            None => {
-                self.selects.retain(|_, set| {
-                    set.remove(&value);
-                    !set.is_empty()
-                });
-                self.common.insert(value);
-            }
-            Some(cfg) => {
-                if !self.common.contains(&value) {
-                    self.selects.entry(cfg).or_default().insert(value);
-                }
-            }
-        }
-    }
-
-    // TODO: This should probably be added to the [Select] trait
-    pub fn get_iter(&self, config: Option<&String>) -> Option<btree_set::Iter<T>> {
-        match config {
-            Some(conf) => self.selects.get(conf).map(|set| set.iter()),
-            None => Some(self.common.iter()),
-        }
-    }
-
-    /// Determine whether or not the select should be serialized
-    pub fn is_empty(&self) -> bool {
-        self.common.is_empty() && self.selects.is_empty() && self.unmapped.is_empty()
-    }
-
-    /// Maps configuration names by `f`. This function must be injective
-    /// (that is `a != b --> f(a) != f(b)`).
-    pub fn map_configuration_names<F>(self, mut f: F) -> Self
-    where
-        F: FnMut(String) -> String,
-    {
-        Self {
-            common: self.common,
-            selects: self.selects.into_iter().map(|(k, v)| (f(k), v)).collect(),
-            unmapped: self.unmapped,
-        }
-    }
-}
-
-impl SelectList<String> {
-    pub fn extend<Iter: Iterator<Item = StringOrSelect>>(&mut self, values: Iter) {
-        for value in values {
-            match value {
-                StringOrSelect::Value(value) => {
-                    self.insert(value, None);
-                }
-                StringOrSelect::Select(select) => {
-                    for (select_key, value) in select {
-                        self.insert(value.clone(), Some(select_key.clone()));
-                    }
-                }
-            }
-        }
-    }
-}
-
-impl IntoIterator for &SelectList<String> {
-    type Item = StringOrSelect;
-    type IntoIter = <Vec<StringOrSelect> as IntoIterator>::IntoIter;
-    fn into_iter(self) -> Self::IntoIter {
-        let mut all_values = Vec::with_capacity(self.common.len() + self.selects.len());
-        for value in &self.common {
-            all_values.push(StringOrSelect::Value(value.clone()))
-        }
-        for (key, values) in &self.selects {
-            for value in values {
-                let mut map = BTreeMap::new();
-                map.insert(key.clone(), value.clone());
-                all_values.push(StringOrSelect::Select(map))
-            }
-        }
-        all_values.into_iter()
-    }
-}
+use serde::ser::Serializer;
+use serde::Serialize;
+use serde_starlark::LineComment;
 
 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone)]
 pub struct WithOriginalConfigurations<T> {
-    value: T,
-    original_configurations: Option<BTreeSet<String>>,
-}
-
-impl<T: Ord + Clone> SelectList<T> {
-    /// Generates a new SelectList re-keyed by the given configuration mapping.
-    /// This mapping maps from configurations in the current SelectList to sets of
-    /// configurations in the new SelectList.
-    pub fn remap_configurations(
-        self,
-        mapping: &BTreeMap<String, BTreeSet<String>>,
-    ) -> SelectList<WithOriginalConfigurations<T>> {
-        // Map new configuration -> value -> old configurations.
-        let mut remapped: BTreeMap<String, BTreeMap<T, BTreeSet<String>>> = BTreeMap::new();
-        // Map value -> old configurations.
-        let mut unmapped: BTreeMap<T, BTreeSet<String>> = BTreeMap::new();
-
-        for (original_configuration, values) in self.selects {
-            match mapping.get(&original_configuration) {
-                Some(configurations) => {
-                    for configuration in configurations {
-                        for value in &values {
-                            remapped
-                                .entry(configuration.clone())
-                                .or_default()
-                                .entry(value.clone())
-                                .or_default()
-                                .insert(original_configuration.clone());
-                        }
-                    }
-                }
-                None => {
-                    for value in values {
-                        unmapped
-                            .entry(value)
-                            .or_default()
-                            .insert(original_configuration.clone());
-                    }
-                }
-            }
-        }
-
-        SelectList {
-            common: self
-                .common
-                .into_iter()
-                .map(|value| WithOriginalConfigurations {
-                    value,
-                    original_configurations: None,
-                })
-                .collect(),
-            selects: remapped
-                .into_iter()
-                .map(|(new_configuration, value_to_original_configuration)| {
-                    (
-                        new_configuration,
-                        value_to_original_configuration
-                            .into_iter()
-                            .map(
-                                |(value, original_configurations)| WithOriginalConfigurations {
-                                    value,
-                                    original_configurations: Some(original_configurations),
-                                },
-                            )
-                            .collect(),
-                    )
-                })
-                .collect(),
-            unmapped: unmapped
-                .into_iter()
-                .map(
-                    |(value, original_configurations)| WithOriginalConfigurations {
-                        value,
-                        original_configurations: Some(original_configurations),
-                    },
-                )
-                .collect(),
-        }
-    }
+    pub value: T,
+    pub original_configurations: BTreeSet<String>,
 }
 
 #[derive(Serialize)]
 #[serde(rename = "selects.NO_MATCHING_PLATFORM_TRIPLES")]
-struct NoMatchingPlatformTriples;
-
-// TODO: after removing the remaining tera template usages of SelectList, this
-// inherent method should become the Serialize impl.
-impl<T: Ord> SelectList<T> {
-    pub fn serialize_starlark<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
-    where
-        T: Serialize,
-        S: Serializer,
-    {
-        // Output looks like:
-        //
-        //     [
-        //         "common...",
-        //     ] + select({
-        //         "configuration": [
-        //             "value...",  # cfg(whatever)
-        //         ],
-        //         "//conditions:default": [],
-        //     })
-        //
-        // The common part and select are each omitted if they are empty (except
-        // if the entire thing is empty, in which case we serialize the common
-        // part to get an empty array).
-        //
-        // If there are unmapped entries, we include them like this:
-        //
-        //     [
-        //         "common...",
-        //     ] + selects.with_unmapped({
-        //         "configuration": [
-        //             "value...",  # cfg(whatever)
-        //         ],
-        //         "//conditions:default": [],
-        //         selects.NO_MATCHING_PLATFORM_TRIPLES: [
-        //             "value...",  # cfg(obscure)
-        //         ],
-        //     })
-
-        let mut plus = serializer.serialize_tuple_struct("+", MULTILINE)?;
-
-        if !self.common.is_empty() || self.selects.is_empty() && self.unmapped.is_empty() {
-            plus.serialize_field(&MultilineArray(&self.common))?;
-        }
-
-        if !self.selects.is_empty() || !self.unmapped.is_empty() {
-            struct SelectInner<'a, T: Ord>(&'a SelectList<T>);
-
-            impl<'a, T> Serialize for SelectInner<'a, T>
-            where
-                T: Ord + Serialize,
-            {
-                fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
-                where
-                    S: Serializer,
-                {
-                    let mut map = serializer.serialize_map(Some(MULTILINE))?;
-                    for (cfg, value) in &self.0.selects {
-                        map.serialize_entry(cfg, &MultilineArray(value))?;
-                    }
-                    map.serialize_entry("//conditions:default", &[] as &[T])?;
-                    if !self.0.unmapped.is_empty() {
-                        map.serialize_entry(
-                            &NoMatchingPlatformTriples,
-                            &MultilineArray(&self.0.unmapped),
-                        )?;
-                    }
-                    map.end()
-                }
-            }
-
-            let function = if self.unmapped.is_empty() {
-                "select"
-            } else {
-                "selects.with_unmapped"
-            };
-
-            plus.serialize_field(&FunctionCall::new(function, [SelectInner(self)]))?;
-        }
-
-        plus.end()
-    }
-}
+pub struct NoMatchingPlatformTriples;
 
 impl<T> Serialize for WithOriginalConfigurations<T>
 where
@@ -306,600 +23,19 @@
     where
         S: Serializer,
     {
-        if let Some(original_configurations) = &self.original_configurations {
-            let comment =
-                Vec::from_iter(original_configurations.iter().map(String::as_str)).join(", ");
-            LineComment::new(&self.value, &comment).serialize(serializer)
-        } else {
-            self.value.serialize(serializer)
-        }
+        let comment =
+            Vec::from_iter(self.original_configurations.iter().map(String::as_str)).join(", ");
+        LineComment::new(&self.value, &comment).serialize(serializer)
     }
 }
 
-impl<T: Ord> Select<T> for SelectList<T> {
-    fn configurations(&self) -> BTreeSet<Option<&String>> {
-        let configs = self.selects.keys().map(Some);
-        match self.common.is_empty() {
-            true => configs.collect(),
-            false => configs.chain(once(None)).collect(),
-        }
-    }
-}
-
-impl<T: Ord, U: Ord> SelectMap<T, U> for SelectList<T> {
-    type Mapped = SelectList<U>;
-
-    fn map<F: Copy + Fn(T) -> U>(self, func: F) -> Self::Mapped {
-        let common: BTreeSet<U> = self.common.into_iter().map(func).collect();
-        let selects: BTreeMap<String, BTreeSet<U>> = self
-            .selects
-            .into_iter()
-            .filter_map(|(key, set)| {
-                let set: BTreeSet<U> = set
-                    .into_iter()
-                    .map(func)
-                    .filter(|value| !common.contains(value))
-                    .collect();
-                if set.is_empty() {
-                    None
-                } else {
-                    Some((key, set))
-                }
-            })
-            .collect();
-        SelectList {
-            common,
-            selects,
-            unmapped: self.unmapped.into_iter().map(func).collect(),
-        }
-    }
-}
-
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Deserialize, Serialize, Clone)]
-pub struct SelectDict<T: Ord> {
-    // Invariant: keys in this map are not in any of the inner maps of `selects`.
-    common: BTreeMap<String, T>,
-    // Invariant: none of the inner maps are empty.
-    selects: BTreeMap<String, BTreeMap<String, T>>,
-    // Elements that used to be in `selects` before the most recent
-    // `remap_configurations` operation, but whose old configuration did not get
-    // mapped to any new configuration. They could be ignored, but are preserved
-    // here to generate comments that help the user understand what happened.
-    #[serde(skip_serializing_if = "BTreeMap::is_empty", default = "BTreeMap::new")]
-    unmapped: BTreeMap<String, T>,
-}
-
-impl<T: Ord> Default for SelectDict<T> {
-    fn default() -> Self {
-        Self {
-            common: BTreeMap::new(),
-            selects: BTreeMap::new(),
-            unmapped: BTreeMap::new(),
-        }
-    }
-}
-
-impl<T: Ord> SelectDict<T> {
-    pub fn insert(&mut self, key: String, value: T, configuration: Option<String>) {
-        match configuration {
-            None => {
-                self.selects.retain(|_, map| {
-                    map.remove(&key);
-                    !map.is_empty()
-                });
-                self.common.insert(key, value);
-            }
-            Some(cfg) => {
-                if !self.common.contains_key(&key) {
-                    self.selects.entry(cfg).or_default().insert(key, value);
-                }
-            }
-        }
-    }
-
-    pub fn extend(&mut self, entries: BTreeMap<String, T>, configuration: Option<String>) {
-        for (key, value) in entries {
-            self.insert(key, value, configuration.clone());
-        }
-    }
-
-    pub fn is_empty(&self) -> bool {
-        self.common.is_empty() && self.selects.is_empty() && self.unmapped.is_empty()
-    }
-}
-
-impl SelectDict<String> {
-    pub fn extend_from_string_or_select<Iter: Iterator<Item = (String, StringOrSelect)>>(
-        &mut self,
-        values: Iter,
-    ) {
-        for (key, value) in values {
-            match value {
-                StringOrSelect::Value(value) => {
-                    self.insert(key, value, None);
-                }
-                StringOrSelect::Select(select) => {
-                    for (select_key, value) in select {
-                        self.insert(key.clone(), value, Some(select_key));
-                    }
-                }
-            }
-        }
-    }
-}
-
-impl<T: Ord + Clone> SelectDict<T> {
-    /// Generates a new SelectDict re-keyed by the given configuration mapping.
-    /// This mapping maps from configurations in the current SelectDict to sets
-    /// of configurations in the new SelectDict.
-    pub fn remap_configurations(
-        self,
-        mapping: &BTreeMap<String, BTreeSet<String>>,
-    ) -> SelectDict<WithOriginalConfigurations<T>> {
-        // Map new configuration -> entry -> old configurations.
-        let mut remapped: BTreeMap<String, BTreeMap<(String, T), BTreeSet<String>>> =
-            BTreeMap::new();
-        // Map entry -> old configurations.
-        let mut unmapped: BTreeMap<(String, T), BTreeSet<String>> = BTreeMap::new();
-
-        for (original_configuration, entries) in self.selects {
-            match mapping.get(&original_configuration) {
-                Some(configurations) => {
-                    for configuration in configurations {
-                        for (key, value) in &entries {
-                            remapped
-                                .entry(configuration.clone())
-                                .or_default()
-                                .entry((key.clone(), value.clone()))
-                                .or_default()
-                                .insert(original_configuration.clone());
-                        }
-                    }
-                }
-                None => {
-                    for (key, value) in entries {
-                        unmapped
-                            .entry((key, value))
-                            .or_default()
-                            .insert(original_configuration.clone());
-                    }
-                }
-            }
-        }
-
-        SelectDict {
-            common: self
-                .common
-                .into_iter()
-                .map(|(key, value)| {
-                    (
-                        key,
-                        WithOriginalConfigurations {
-                            value,
-                            original_configurations: None,
-                        },
-                    )
-                })
-                .collect(),
-            selects: remapped
-                .into_iter()
-                .map(|(new_configuration, entry_to_original_configuration)| {
-                    (
-                        new_configuration,
-                        entry_to_original_configuration
-                            .into_iter()
-                            .map(|((key, value), original_configurations)| {
-                                (
-                                    key,
-                                    WithOriginalConfigurations {
-                                        value,
-                                        original_configurations: Some(original_configurations),
-                                    },
-                                )
-                            })
-                            .collect(),
-                    )
-                })
-                .collect(),
-            unmapped: unmapped
-                .into_iter()
-                .map(|((key, value), original_configurations)| {
-                    (
-                        key,
-                        WithOriginalConfigurations {
-                            value,
-                            original_configurations: Some(original_configurations),
-                        },
-                    )
-                })
-                .collect(),
-        }
-    }
-}
-
-// TODO: after removing the remaining tera template usages of SelectDict, this
-// inherent method should become the Serialize impl.
-impl<T: Ord + Serialize> SelectDict<T> {
-    pub fn serialize_starlark<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
-    where
-        S: Serializer,
-    {
-        // If there are no platform-specific entries, we output just an ordinary
-        // dict.
-        //
-        // If there are platform-specific ones, we use the following. Ideally it
-        // could be done as `dicts.add({...}, select({...}))` but bazel_skylib's
-        // dicts.add does not support selects.
-        //
-        //     select({
-        //         "configuration": {
-        //             "common-key": "common-value",
-        //             "plat-key": "plat-value",  # cfg(whatever)
-        //         },
-        //         "//conditions:default": {},
-        //     })
-        //
-        // If there are unmapped entries, we include them like this:
-        //
-        //     selects.with_unmapped({
-        //         "configuration": {
-        //             "common-key": "common-value",
-        //             "plat-key": "plat-value",  # cfg(whatever)
-        //         },
-        //         "//conditions:default": [],
-        //         selects.NO_MATCHING_PLATFORM_TRIPLES: {
-        //             "unmapped-key": "unmapped-value",  # cfg(obscure)
-        //         },
-        //     })
-
-        if self.selects.is_empty() && self.unmapped.is_empty() {
-            return self.common.serialize(serializer);
-        }
-
-        struct SelectInner<'a, T: Ord>(&'a SelectDict<T>);
-
-        impl<'a, T> Serialize for SelectInner<'a, T>
-        where
-            T: Ord + Serialize,
-        {
-            fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
-            where
-                S: Serializer,
-            {
-                let mut map = serializer.serialize_map(Some(MULTILINE))?;
-                for (cfg, value) in &self.0.selects {
-                    let mut combined = BTreeMap::new();
-                    combined.extend(&self.0.common);
-                    combined.extend(value);
-                    map.serialize_entry(cfg, &combined)?;
-                }
-                map.serialize_entry("//conditions:default", &self.0.common)?;
-                if !self.0.unmapped.is_empty() {
-                    map.serialize_entry(&NoMatchingPlatformTriples, &self.0.unmapped)?;
-                }
-                map.end()
-            }
-        }
-
-        let function = if self.unmapped.is_empty() {
-            "select"
-        } else {
-            "selects.with_unmapped"
-        };
-
-        FunctionCall::new(function, [SelectInner(self)]).serialize(serializer)
-    }
-}
-
-impl<T: Ord> Select<T> for SelectDict<T> {
-    fn configurations(&self) -> BTreeSet<Option<&String>> {
-        let configs = self.selects.keys().map(Some);
-        match self.common.is_empty() {
-            true => configs.collect(),
-            false => configs.chain(once(None)).collect(),
-        }
-    }
-}
-
-#[cfg(test)]
-mod test {
-    use super::*;
-
-    use indoc::indoc;
-
-    #[test]
-    fn empty_select_list() {
-        let select_list: SelectList<String> = SelectList::default();
-
-        let expected_starlark = indoc! {r#"
-            []
-        "#};
-
-        assert_eq!(
-            select_list
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn no_platform_specific_select_list() {
-        let mut select_list = SelectList::default();
-        select_list.insert("Hello".to_owned(), None);
-
-        let expected_starlark = indoc! {r#"
-            [
-                "Hello",
-            ]
-        "#};
-
-        assert_eq!(
-            select_list
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn only_platform_specific_select_list() {
-        let mut select_list = SelectList::default();
-        select_list.insert("Hello".to_owned(), Some("platform".to_owned()));
-
-        let expected_starlark = indoc! {r#"
-            select({
-                "platform": [
-                    "Hello",
-                ],
-                "//conditions:default": [],
-            })
-        "#};
-
-        assert_eq!(
-            select_list
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn mixed_select_list() {
-        let mut select_list = SelectList::default();
-        select_list.insert("Hello".to_owned(), Some("platform".to_owned()));
-        select_list.insert("Goodbye".to_owned(), None);
-
-        let expected_starlark = indoc! {r#"
-            [
-                "Goodbye",
-            ] + select({
-                "platform": [
-                    "Hello",
-                ],
-                "//conditions:default": [],
-            })
-        "#};
-
-        assert_eq!(
-            select_list
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn empty_select_dict() {
-        let select_dict: SelectDict<String> = SelectDict::default();
-
-        let expected_starlark = indoc! {r#"
-            {}
-        "#};
-
-        assert_eq!(
-            select_dict
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn no_platform_specific_select_dict() {
-        let mut select_dict = SelectDict::default();
-        select_dict.insert("Greeting".to_owned(), "Hello".to_owned(), None);
-
-        let expected_starlark = indoc! {r#"
-            {
-                "Greeting": "Hello",
-            }
-        "#};
-
-        assert_eq!(
-            select_dict
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn only_platform_specific_select_dict() {
-        let mut select_dict = SelectDict::default();
-        select_dict.insert(
-            "Greeting".to_owned(),
-            "Hello".to_owned(),
-            Some("platform".to_owned()),
-        );
-
-        let expected_starlark = indoc! {r#"
-            select({
-                "platform": {
-                    "Greeting": "Hello",
-                },
-                "//conditions:default": {},
-            })
-        "#};
-
-        assert_eq!(
-            select_dict
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn mixed_select_dict() {
-        let mut select_dict = SelectDict::default();
-        select_dict.insert(
-            "Greeting".to_owned(),
-            "Hello".to_owned(),
-            Some("platform".to_owned()),
-        );
-        select_dict.insert("Message".to_owned(), "Goodbye".to_owned(), None);
-
-        let expected_starlark = indoc! {r#"
-            select({
-                "platform": {
-                    "Greeting": "Hello",
-                    "Message": "Goodbye",
-                },
-                "//conditions:default": {
-                    "Message": "Goodbye",
-                },
-            })
-        "#};
-
-        assert_eq!(
-            select_dict
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
-
-    #[test]
-    fn remap_select_list_configurations() {
-        let mut select_list = SelectList::default();
-        select_list.insert("dep-a".to_owned(), Some("cfg(macos)".to_owned()));
-        select_list.insert("dep-b".to_owned(), Some("cfg(macos)".to_owned()));
-        select_list.insert("dep-d".to_owned(), Some("cfg(macos)".to_owned()));
-        select_list.insert("dep-a".to_owned(), Some("cfg(x86_64)".to_owned()));
-        select_list.insert("dep-c".to_owned(), Some("cfg(x86_64)".to_owned()));
-        select_list.insert("dep-e".to_owned(), Some("cfg(pdp11)".to_owned()));
-        select_list.insert("dep-d".to_owned(), None);
-
-        let mapping = BTreeMap::from([
-            (
-                "cfg(macos)".to_owned(),
-                BTreeSet::from(["x86_64-macos".to_owned(), "aarch64-macos".to_owned()]),
-            ),
-            (
-                "cfg(x86_64)".to_owned(),
-                BTreeSet::from(["x86_64-linux".to_owned(), "x86_64-macos".to_owned()]),
-            ),
-        ]);
-
-        let mut expected = SelectList::default();
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-a".to_owned(),
-                original_configurations: Some(BTreeSet::from([
-                    "cfg(macos)".to_owned(),
-                    "cfg(x86_64)".to_owned(),
-                ])),
-            },
-            Some("x86_64-macos".to_owned()),
-        );
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-b".to_owned(),
-                original_configurations: Some(BTreeSet::from(["cfg(macos)".to_owned()])),
-            },
-            Some("x86_64-macos".to_owned()),
-        );
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-c".to_owned(),
-                original_configurations: Some(BTreeSet::from(["cfg(x86_64)".to_owned()])),
-            },
-            Some("x86_64-macos".to_owned()),
-        );
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-a".to_owned(),
-                original_configurations: Some(BTreeSet::from(["cfg(macos)".to_owned()])),
-            },
-            Some("aarch64-macos".to_owned()),
-        );
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-b".to_owned(),
-                original_configurations: Some(BTreeSet::from(["cfg(macos)".to_owned()])),
-            },
-            Some("aarch64-macos".to_owned()),
-        );
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-a".to_owned(),
-                original_configurations: Some(BTreeSet::from(["cfg(x86_64)".to_owned()])),
-            },
-            Some("x86_64-linux".to_owned()),
-        );
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-c".to_owned(),
-                original_configurations: Some(BTreeSet::from(["cfg(x86_64)".to_owned()])),
-            },
-            Some("x86_64-linux".to_owned()),
-        );
-        expected.insert(
-            WithOriginalConfigurations {
-                value: "dep-d".to_owned(),
-                original_configurations: None,
-            },
-            None,
-        );
-
-        expected.unmapped.insert(WithOriginalConfigurations {
-            value: "dep-e".to_owned(),
-            original_configurations: Some(BTreeSet::from(["cfg(pdp11)".to_owned()])),
-        });
-
-        let select_list = select_list.remap_configurations(&mapping);
-        assert_eq!(select_list, expected);
-
-        let expected_starlark = indoc! {r#"
-            [
-                "dep-d",
-            ] + selects.with_unmapped({
-                "aarch64-macos": [
-                    "dep-a",  # cfg(macos)
-                    "dep-b",  # cfg(macos)
-                ],
-                "x86_64-linux": [
-                    "dep-a",  # cfg(x86_64)
-                    "dep-c",  # cfg(x86_64)
-                ],
-                "x86_64-macos": [
-                    "dep-a",  # cfg(macos), cfg(x86_64)
-                    "dep-b",  # cfg(macos)
-                    "dep-c",  # cfg(x86_64)
-                ],
-                "//conditions:default": [],
-                selects.NO_MATCHING_PLATFORM_TRIPLES: [
-                    "dep-e",  # cfg(pdp11)
-                ],
-            })
-        "#};
-
-        assert_eq!(
-            select_list
-                .serialize_starlark(serde_starlark::Serializer)
-                .unwrap(),
-            expected_starlark,
-        );
-    }
+// We allow users to specify labels as keys to selects, but we need to identify when this is happening
+// because we also allow things like "x86_64-unknown-linux-gnu" as keys, and these technically parse as labels
+// (that parses as "//x86_64-unknown-linux-gnu:x86_64-unknown-linux-gnu").
+//
+// We don't expect any cfg-expressions or target triples to contain //,
+// and all labels _can_ be written in a way that they contain //,
+// so we use the presence of // as an indication something is a label.
+pub fn looks_like_bazel_configuration_label(configuration: &str) -> bool {
+    configuration.contains("//")
 }
diff --git a/crate_universe/src/utils/starlark/select_dict.rs b/crate_universe/src/utils/starlark/select_dict.rs
new file mode 100644
index 0000000..fd260ac
--- /dev/null
+++ b/crate_universe/src/utils/starlark/select_dict.rs
@@ -0,0 +1,528 @@
+use std::collections::{BTreeMap, BTreeSet};
+use std::fmt::Debug;
+
+use serde::ser::{SerializeMap, Serializer};
+use serde::Serialize;
+use serde_starlark::{FunctionCall, MULTILINE};
+
+use crate::select::{Select, SelectableOrderedValue, SelectableValue};
+use crate::utils::starlark::{
+    looks_like_bazel_configuration_label, NoMatchingPlatformTriples, WithOriginalConfigurations,
+};
+
+#[derive(Debug, PartialEq, Eq)]
+pub struct SelectDict<U, T>
+where
+    U: SelectableOrderedValue,
+    T: SelectableValue,
+{
+    // Invariant: keys in this map are not in any of the inner maps of `selects`.
+    common: BTreeMap<U, T>,
+    // Invariant: none of the inner maps are empty.
+    selects: BTreeMap<String, BTreeMap<U, WithOriginalConfigurations<T>>>,
+    // Elements from the `Select` whose configuration did not get mapped to any
+    // new configuration. They could be ignored, but are preserved here to
+    // generate comments that help the user understand what happened.
+    unmapped: BTreeMap<String, BTreeMap<U, T>>,
+}
+
+impl<U, T> SelectDict<U, T>
+where
+    U: SelectableOrderedValue,
+    T: SelectableValue,
+{
+    /// Re-keys the provided Select by the given configuration mapping.
+    /// This mapping maps from configurations in the input Select to sets
+    /// of configurations in the output SelectDict.
+    pub fn new(
+        select: Select<BTreeMap<U, T>>,
+        platforms: &BTreeMap<String, BTreeSet<String>>,
+    ) -> Self {
+        let (common, selects) = select.into_parts();
+
+        // Map new configuration -> WithOriginalConfigurations(value, old configurations).
+        let mut remapped: BTreeMap<String, BTreeMap<U, WithOriginalConfigurations<T>>> =
+            BTreeMap::new();
+        // Map unknown configuration -> value.
+        let mut unmapped: BTreeMap<String, BTreeMap<U, T>> = BTreeMap::new();
+
+        for (original_configuration, entries) in selects {
+            match platforms.get(&original_configuration) {
+                Some(configurations) => {
+                    for configuration in configurations {
+                        for (key, value) in &entries {
+                            remapped
+                                .entry(configuration.clone())
+                                .or_default()
+                                .entry(key.clone())
+                                .or_insert_with(|| WithOriginalConfigurations {
+                                    value: value.clone(),
+                                    original_configurations: BTreeSet::new(),
+                                })
+                                .original_configurations
+                                .insert(original_configuration.clone());
+                        }
+                    }
+                }
+                None => {
+                    for (key, value) in entries {
+                        if looks_like_bazel_configuration_label(&original_configuration) {
+                            remapped
+                                .entry(original_configuration.clone())
+                                .or_default()
+                                .entry(key)
+                                .or_insert_with(|| WithOriginalConfigurations {
+                                    value: value.clone(),
+                                    original_configurations: BTreeSet::new(),
+                                })
+                                .original_configurations
+                                .insert(original_configuration.clone());
+                        } else {
+                            unmapped
+                                .entry(original_configuration.clone())
+                                .or_default()
+                                .insert(key, value);
+                        };
+                    }
+                }
+            }
+        }
+
+        Self {
+            common,
+            selects: remapped,
+            unmapped,
+        }
+    }
+
+    pub fn is_empty(&self) -> bool {
+        self.common.is_empty() && self.selects.is_empty() && self.unmapped.is_empty()
+    }
+}
+
+impl<U, T> Serialize for SelectDict<U, T>
+where
+    U: SelectableOrderedValue,
+    T: SelectableValue,
+{
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        // If there are no platform-specific entries, we output just an ordinary
+        // dict.
+        //
+        // If there are platform-specific ones, we use the following. Ideally it
+        // could be done as `dicts.add({...}, select({...}))` but bazel_skylib's
+        // dicts.add does not support selects.
+        //
+        //     select({
+        //         "configuration": {
+        //             "common-key": "common-value",
+        //             "plat-key": "plat-value",  # cfg(whatever)
+        //         },
+        //         "//conditions:default": {
+        //             "common-key": "common-value",
+        //         },
+        //     })
+        //
+        // If there are unmapped entries, we include them like this:
+        //
+        //     selects.with_unmapped({
+        //         "configuration": {
+        //             "common-key": "common-value",
+        //             "plat-key": "plat-value",  # cfg(whatever)
+        //         },
+        //         "//conditions:default": {
+        //             "common-key": "common-value",
+        //         },
+        //         selects.NO_MATCHING_PLATFORM_TRIPLES: {
+        //             "cfg(obscure): {
+        //                 "unmapped-key": "unmapped-value",
+        //             },
+        //         },
+        //     })
+
+        if self.selects.is_empty() && self.unmapped.is_empty() {
+            return self.common.serialize(serializer);
+        }
+
+        struct SelectInner<'a, U, T>(&'a SelectDict<U, T>)
+        where
+            U: SelectableOrderedValue,
+            T: SelectableValue;
+
+        impl<'a, U, T> Serialize for SelectInner<'a, U, T>
+        where
+            U: SelectableOrderedValue,
+            T: SelectableValue,
+        {
+            fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+            where
+                S: Serializer,
+            {
+                let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                for (configuration, dict) in &self.0.selects {
+                    #[derive(Serialize)]
+                    #[serde(untagged)]
+                    enum Either<'a, T> {
+                        Common(&'a T),
+                        Selects(&'a WithOriginalConfigurations<T>),
+                    }
+
+                    let mut combined = BTreeMap::new();
+                    combined.extend(
+                        self.0
+                            .common
+                            .iter()
+                            .map(|(key, value)| (key, Either::Common(value))),
+                    );
+                    combined.extend(
+                        dict.iter()
+                            .map(|(key, value)| (key, Either::Selects(value))),
+                    );
+                    map.serialize_entry(configuration, &combined)?;
+                }
+                map.serialize_entry("//conditions:default", &self.0.common)?;
+                if !self.0.unmapped.is_empty() {
+                    struct SelectUnmapped<'a, U, T>(&'a BTreeMap<String, BTreeMap<U, T>>)
+                    where
+                        U: SelectableOrderedValue,
+                        T: SelectableValue;
+
+                    impl<'a, U, T> Serialize for SelectUnmapped<'a, U, T>
+                    where
+                        U: SelectableOrderedValue,
+                        T: SelectableValue,
+                    {
+                        fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+                        where
+                            S: Serializer,
+                        {
+                            let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                            for (cfg, dict) in self.0.iter() {
+                                map.serialize_entry(cfg, dict)?;
+                            }
+                            map.end()
+                        }
+                    }
+
+                    map.serialize_entry(
+                        &NoMatchingPlatformTriples,
+                        &SelectUnmapped(&self.0.unmapped),
+                    )?;
+                }
+                map.end()
+            }
+        }
+
+        let function = if self.unmapped.is_empty() {
+            "select"
+        } else {
+            "selects.with_unmapped"
+        };
+
+        FunctionCall::new(function, [SelectInner(self)]).serialize(serializer)
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    use indoc::indoc;
+
+    #[test]
+    fn empty_select_dict() {
+        let select_dict: SelectDict<String, String> =
+            SelectDict::new(Default::default(), &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            {}
+        "#};
+
+        assert_eq!(
+            select_dict.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn no_platform_specific_select_dict() {
+        let mut select: Select<BTreeMap<String, String>> = Select::default();
+        select.insert(("Greeting".to_owned(), "Hello".to_owned()), None);
+
+        let select_dict = SelectDict::new(select, &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            {
+                "Greeting": "Hello",
+            }
+        "#};
+
+        assert_eq!(
+            select_dict.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn only_platform_specific_select_dict() {
+        let mut select: Select<BTreeMap<String, String>> = Select::default();
+        select.insert(
+            ("Greeting".to_owned(), "Hello".to_owned()),
+            Some("platform".to_owned()),
+        );
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_dict = SelectDict::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            select({
+                "platform": {
+                    "Greeting": "Hello",  # platform
+                },
+                "//conditions:default": {},
+            })
+        "#};
+
+        assert_eq!(
+            select_dict.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn mixed_select_dict() {
+        let mut select: Select<BTreeMap<String, String>> = Select::default();
+        select.insert(
+            ("Greeting".to_owned(), "Hello".to_owned()),
+            Some("platform".to_owned()),
+        );
+        select.insert(("Message".to_owned(), "Goodbye".to_owned()), None);
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_dict = SelectDict::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            select({
+                "platform": {
+                    "Greeting": "Hello",  # platform
+                    "Message": "Goodbye",
+                },
+                "//conditions:default": {
+                    "Message": "Goodbye",
+                },
+            })
+        "#};
+
+        assert_eq!(
+            select_dict.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn remap_select_dict_configurations() {
+        let mut select: Select<BTreeMap<String, String>> = Select::default();
+        select.insert(
+            ("dep-a".to_owned(), "a".to_owned()),
+            Some("cfg(macos)".to_owned()),
+        );
+        select.insert(
+            ("dep-b".to_owned(), "b".to_owned()),
+            Some("cfg(macos)".to_owned()),
+        );
+        select.insert(
+            ("dep-d".to_owned(), "d".to_owned()),
+            Some("cfg(macos)".to_owned()),
+        );
+        select.insert(
+            ("dep-a".to_owned(), "a".to_owned()),
+            Some("cfg(x86_64)".to_owned()),
+        );
+        select.insert(
+            ("dep-c".to_owned(), "c".to_owned()),
+            Some("cfg(x86_64)".to_owned()),
+        );
+        select.insert(
+            ("dep-e".to_owned(), "e".to_owned()),
+            Some("cfg(pdp11)".to_owned()),
+        );
+        select.insert(("dep-d".to_owned(), "d".to_owned()), None);
+        select.insert(
+            ("dep-f".to_owned(), "f".to_owned()),
+            Some("@platforms//os:magic".to_owned()),
+        );
+        select.insert(
+            ("dep-g".to_owned(), "g".to_owned()),
+            Some("//another:platform".to_owned()),
+        );
+
+        let platforms = BTreeMap::from([
+            (
+                "cfg(macos)".to_owned(),
+                BTreeSet::from(["x86_64-macos".to_owned(), "aarch64-macos".to_owned()]),
+            ),
+            (
+                "cfg(x86_64)".to_owned(),
+                BTreeSet::from(["x86_64-linux".to_owned(), "x86_64-macos".to_owned()]),
+            ),
+        ]);
+
+        let select_dict = SelectDict::new(select, &platforms);
+
+        let expected = SelectDict {
+            common: BTreeMap::from([("dep-d".to_string(), "d".to_owned())]),
+            selects: BTreeMap::from([
+                (
+                    "x86_64-macos".to_owned(),
+                    BTreeMap::from([
+                        (
+                            "dep-a".to_string(),
+                            WithOriginalConfigurations {
+                                value: "a".to_owned(),
+                                original_configurations: BTreeSet::from([
+                                    "cfg(macos)".to_owned(),
+                                    "cfg(x86_64)".to_owned(),
+                                ]),
+                            },
+                        ),
+                        (
+                            "dep-b".to_string(),
+                            WithOriginalConfigurations {
+                                value: "b".to_owned(),
+                                original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                            },
+                        ),
+                        (
+                            "dep-c".to_string(),
+                            WithOriginalConfigurations {
+                                value: "c".to_owned(),
+                                original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                            },
+                        ),
+                    ]),
+                ),
+                (
+                    "aarch64-macos".to_owned(),
+                    BTreeMap::from([
+                        (
+                            "dep-a".to_string(),
+                            WithOriginalConfigurations {
+                                value: "a".to_owned(),
+                                original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                            },
+                        ),
+                        (
+                            "dep-b".to_string(),
+                            WithOriginalConfigurations {
+                                value: "b".to_owned(),
+                                original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                            },
+                        ),
+                    ]),
+                ),
+                (
+                    "x86_64-linux".to_owned(),
+                    BTreeMap::from([
+                        (
+                            "dep-a".to_string(),
+                            WithOriginalConfigurations {
+                                value: "a".to_owned(),
+                                original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                            },
+                        ),
+                        (
+                            "dep-c".to_string(),
+                            WithOriginalConfigurations {
+                                value: "c".to_owned(),
+                                original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                            },
+                        ),
+                    ]),
+                ),
+                (
+                    "@platforms//os:magic".to_owned(),
+                    BTreeMap::from([(
+                        "dep-f".to_string(),
+                        WithOriginalConfigurations {
+                            value: "f".to_owned(),
+                            original_configurations: BTreeSet::from([
+                                "@platforms//os:magic".to_owned()
+                            ]),
+                        },
+                    )]),
+                ),
+                (
+                    "//another:platform".to_owned(),
+                    BTreeMap::from([(
+                        "dep-g".to_string(),
+                        WithOriginalConfigurations {
+                            value: "g".to_owned(),
+                            original_configurations: BTreeSet::from([
+                                "//another:platform".to_owned()
+                            ]),
+                        },
+                    )]),
+                ),
+            ]),
+            unmapped: BTreeMap::from([(
+                "cfg(pdp11)".to_owned(),
+                BTreeMap::from([("dep-e".to_string(), "e".to_owned())]),
+            )]),
+        };
+
+        assert_eq!(select_dict, expected);
+
+        let expected_starlark = indoc! {r#"
+            selects.with_unmapped({
+                "//another:platform": {
+                    "dep-d": "d",
+                    "dep-g": "g",  # //another:platform
+                },
+                "@platforms//os:magic": {
+                    "dep-d": "d",
+                    "dep-f": "f",  # @platforms//os:magic
+                },
+                "aarch64-macos": {
+                    "dep-a": "a",  # cfg(macos)
+                    "dep-b": "b",  # cfg(macos)
+                    "dep-d": "d",
+                },
+                "x86_64-linux": {
+                    "dep-a": "a",  # cfg(x86_64)
+                    "dep-c": "c",  # cfg(x86_64)
+                    "dep-d": "d",
+                },
+                "x86_64-macos": {
+                    "dep-a": "a",  # cfg(macos), cfg(x86_64)
+                    "dep-b": "b",  # cfg(macos)
+                    "dep-c": "c",  # cfg(x86_64)
+                    "dep-d": "d",
+                },
+                "//conditions:default": {
+                    "dep-d": "d",
+                },
+                selects.NO_MATCHING_PLATFORM_TRIPLES: {
+                    "cfg(pdp11)": {
+                        "dep-e": "e",
+                    },
+                },
+            })
+        "#};
+
+        assert_eq!(
+            select_dict.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+}
diff --git a/crate_universe/src/utils/starlark/select_list.rs b/crate_universe/src/utils/starlark/select_list.rs
new file mode 100644
index 0000000..46604c7
--- /dev/null
+++ b/crate_universe/src/utils/starlark/select_list.rs
@@ -0,0 +1,441 @@
+use std::collections::{BTreeMap, BTreeSet};
+use std::fmt::Debug;
+
+use serde::ser::{SerializeMap, SerializeTupleStruct, Serializer};
+use serde::Serialize;
+use serde_starlark::{FunctionCall, MULTILINE};
+
+use crate::select::{Select, SelectableValue};
+use crate::utils::starlark::serialize::MultilineArray;
+use crate::utils::starlark::{
+    looks_like_bazel_configuration_label, NoMatchingPlatformTriples, WithOriginalConfigurations,
+};
+
+#[derive(Debug, PartialEq, Eq)]
+pub struct SelectList<T>
+where
+    T: SelectableValue,
+{
+    common: Vec<T>,
+    selects: BTreeMap<String, Vec<WithOriginalConfigurations<T>>>,
+    // Elements from the `Select` whose configuration did not get mapped to any
+    // new configuration. They could be ignored, but are preserved here to
+    // generate comments that help the user understand what happened.
+    unmapped: BTreeMap<String, Vec<T>>,
+}
+
+impl<T> SelectList<T>
+where
+    T: SelectableValue,
+{
+    /// Re-keys the provided Select by the given configuration mapping.
+    /// This mapping maps from configurations in the input Select to sets of
+    /// configurations in the output SelectList.
+    pub fn new(select: Select<Vec<T>>, platforms: &BTreeMap<String, BTreeSet<String>>) -> Self {
+        let (common, selects) = select.into_parts();
+
+        // Map new configuration -> WithOriginalConfigurations(value, old configuration).
+        let mut remapped: BTreeMap<String, Vec<WithOriginalConfigurations<T>>> = BTreeMap::new();
+        // Map unknown configuration -> value.
+        let mut unmapped: BTreeMap<String, Vec<T>> = BTreeMap::new();
+
+        for (original_configuration, values) in selects {
+            match platforms.get(&original_configuration) {
+                Some(configurations) => {
+                    for configuration in configurations {
+                        for value in &values {
+                            remapped.entry(configuration.clone()).or_default().push(
+                                WithOriginalConfigurations {
+                                    value: value.clone(),
+                                    original_configurations: BTreeSet::from([
+                                        original_configuration.clone(),
+                                    ]),
+                                },
+                            );
+                        }
+                    }
+                }
+                None => {
+                    if looks_like_bazel_configuration_label(&original_configuration) {
+                        remapped
+                            .entry(original_configuration.clone())
+                            .or_default()
+                            .extend(values.into_iter().map(|value| WithOriginalConfigurations {
+                                value,
+                                original_configurations: BTreeSet::from([
+                                    original_configuration.clone(),
+                                ]),
+                            }));
+                    } else {
+                        unmapped
+                            .entry(original_configuration.clone())
+                            .or_default()
+                            .extend(values.into_iter());
+                    }
+                }
+            }
+        }
+
+        Self {
+            common,
+            selects: remapped,
+            unmapped,
+        }
+    }
+
+    /// Determine whether or not the select should be serialized
+    pub fn is_empty(&self) -> bool {
+        self.common.is_empty() && self.selects.is_empty() && self.unmapped.is_empty()
+    }
+}
+
+impl<T> Serialize for SelectList<T>
+where
+    T: SelectableValue,
+{
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        // Output looks like:
+        //
+        //     [
+        //         "common...",
+        //     ] + select({
+        //         "configuration": [
+        //             "value...",  # cfg(whatever)
+        //         ],
+        //         "//conditions:default": [],
+        //     })
+        //
+        // The common part and select are each omitted if they are empty (except
+        // if the entire thing is empty, in which case we serialize the common
+        // part to get an empty array).
+        //
+        // If there are unmapped entries, we include them like this:
+        //
+        //     [
+        //         "common...",
+        //     ] + selects.with_unmapped({
+        //         "configuration": [
+        //             "value...",  # cfg(whatever)
+        //         ],
+        //         "//conditions:default": [],
+        //         selects.NO_MATCHING_PLATFORM_TRIPLES: {
+        //             "cfg(obscure)": [
+        //                 "value...",
+        //             ],
+        //         },
+        //     })
+
+        let mut plus = serializer.serialize_tuple_struct("+", MULTILINE)?;
+
+        if !self.common.is_empty() || self.selects.is_empty() && self.unmapped.is_empty() {
+            plus.serialize_field(&MultilineArray(&self.common))?;
+        }
+
+        if !self.selects.is_empty() || !self.unmapped.is_empty() {
+            struct SelectInner<'a, T>(&'a SelectList<T>)
+            where
+                T: SelectableValue;
+
+            impl<'a, T> Serialize for SelectInner<'a, T>
+            where
+                T: SelectableValue,
+            {
+                fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+                where
+                    S: Serializer,
+                {
+                    let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                    for (cfg, values) in self.0.selects.iter() {
+                        map.serialize_entry(cfg, &MultilineArray(values))?;
+                    }
+                    map.serialize_entry("//conditions:default", &[] as &[T])?;
+                    if !self.0.unmapped.is_empty() {
+                        struct SelectUnmapped<'a, T>(&'a BTreeMap<String, Vec<T>>)
+                        where
+                            T: SelectableValue;
+
+                        impl<'a, T> Serialize for SelectUnmapped<'a, T>
+                        where
+                            T: SelectableValue,
+                        {
+                            fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+                            where
+                                S: Serializer,
+                            {
+                                let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                                for (cfg, values) in self.0.iter() {
+                                    map.serialize_entry(cfg, &MultilineArray(values))?;
+                                }
+                                map.end()
+                            }
+                        }
+
+                        map.serialize_entry(
+                            &NoMatchingPlatformTriples,
+                            &SelectUnmapped(&self.0.unmapped),
+                        )?;
+                    }
+                    map.end()
+                }
+            }
+
+            let function = if self.unmapped.is_empty() {
+                "select"
+            } else {
+                "selects.with_unmapped"
+            };
+
+            plus.serialize_field(&FunctionCall::new(function, [SelectInner(self)]))?;
+        }
+
+        plus.end()
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    use indoc::indoc;
+
+    #[test]
+    fn empty_select_list() {
+        let select_list: SelectList<String> =
+            SelectList::new(Default::default(), &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            []
+        "#};
+
+        assert_eq!(
+            select_list.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn no_platform_specific_empty_select_list() {
+        let mut select: Select<Vec<String>> = Select::default();
+        select.insert("Hello".to_owned(), None);
+
+        let select_list = SelectList::new(select, &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            [
+                "Hello",
+            ]
+        "#};
+
+        assert_eq!(
+            select_list.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn only_platform_specific_empty_select_list() {
+        let mut select: Select<Vec<String>> = Select::default();
+        select.insert("Hello".to_owned(), Some("platform".to_owned()));
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_list = SelectList::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            select({
+                "platform": [
+                    "Hello",  # platform
+                ],
+                "//conditions:default": [],
+            })
+        "#};
+
+        assert_eq!(
+            select_list.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn mixed_empty_select_list() {
+        let mut select: Select<Vec<String>> = Select::default();
+        select.insert("Hello".to_owned(), Some("platform".to_owned()));
+        select.insert("Goodbye".to_owned(), None);
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_list = SelectList::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            [
+                "Goodbye",
+            ] + select({
+                "platform": [
+                    "Hello",  # platform
+                ],
+                "//conditions:default": [],
+            })
+        "#};
+
+        assert_eq!(
+            select_list.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn remap_empty_select_list_configurations() {
+        let mut select: Select<Vec<String>> = Select::default();
+        select.insert("dep-a".to_owned(), Some("cfg(macos)".to_owned()));
+        select.insert("dep-b".to_owned(), Some("cfg(macos)".to_owned()));
+        select.insert("dep-d".to_owned(), Some("cfg(macos)".to_owned()));
+        select.insert("dep-a".to_owned(), Some("cfg(x86_64)".to_owned()));
+        select.insert("dep-c".to_owned(), Some("cfg(x86_64)".to_owned()));
+        select.insert("dep-e".to_owned(), Some("cfg(pdp11)".to_owned()));
+        select.insert("dep-d".to_owned(), None);
+        select.insert("dep-f".to_owned(), Some("@platforms//os:magic".to_owned()));
+        select.insert("dep-g".to_owned(), Some("//another:platform".to_owned()));
+
+        let platforms = BTreeMap::from([
+            (
+                "cfg(macos)".to_owned(),
+                BTreeSet::from(["x86_64-macos".to_owned(), "aarch64-macos".to_owned()]),
+            ),
+            (
+                "cfg(x86_64)".to_owned(),
+                BTreeSet::from(["x86_64-linux".to_owned(), "x86_64-macos".to_owned()]),
+            ),
+        ]);
+
+        let select_list = SelectList::new(select, &platforms);
+
+        let expected = SelectList {
+            common: Vec::from(["dep-d".to_owned()]),
+            selects: BTreeMap::from([
+                (
+                    "x86_64-macos".to_owned(),
+                    Vec::from([
+                        WithOriginalConfigurations {
+                            value: "dep-a".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-b".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-d".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-a".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-c".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                        },
+                    ]),
+                ),
+                (
+                    "aarch64-macos".to_owned(),
+                    Vec::from([
+                        WithOriginalConfigurations {
+                            value: "dep-a".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-b".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-d".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                    ]),
+                ),
+                (
+                    "x86_64-linux".to_owned(),
+                    Vec::from([
+                        WithOriginalConfigurations {
+                            value: "dep-a".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-c".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                        },
+                    ]),
+                ),
+                (
+                    "@platforms//os:magic".to_owned(),
+                    Vec::from([WithOriginalConfigurations {
+                        value: "dep-f".to_owned(),
+                        original_configurations: BTreeSet::from(
+                            ["@platforms//os:magic".to_owned()],
+                        ),
+                    }]),
+                ),
+                (
+                    "//another:platform".to_owned(),
+                    Vec::from([WithOriginalConfigurations {
+                        value: "dep-g".to_owned(),
+                        original_configurations: BTreeSet::from(["//another:platform".to_owned()]),
+                    }]),
+                ),
+            ]),
+            unmapped: BTreeMap::from([("cfg(pdp11)".to_owned(), Vec::from(["dep-e".to_owned()]))]),
+        };
+
+        assert_eq!(select_list, expected);
+
+        let expected_starlark = indoc! {r#"
+            [
+                "dep-d",
+            ] + selects.with_unmapped({
+                "//another:platform": [
+                    "dep-g",  # //another:platform
+                ],
+                "@platforms//os:magic": [
+                    "dep-f",  # @platforms//os:magic
+                ],
+                "aarch64-macos": [
+                    "dep-a",  # cfg(macos)
+                    "dep-b",  # cfg(macos)
+                    "dep-d",  # cfg(macos)
+                ],
+                "x86_64-linux": [
+                    "dep-a",  # cfg(x86_64)
+                    "dep-c",  # cfg(x86_64)
+                ],
+                "x86_64-macos": [
+                    "dep-a",  # cfg(macos)
+                    "dep-b",  # cfg(macos)
+                    "dep-d",  # cfg(macos)
+                    "dep-a",  # cfg(x86_64)
+                    "dep-c",  # cfg(x86_64)
+                ],
+                "//conditions:default": [],
+                selects.NO_MATCHING_PLATFORM_TRIPLES: {
+                    "cfg(pdp11)": [
+                        "dep-e",
+                    ],
+                },
+            })
+        "#};
+
+        assert_eq!(
+            select_list.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+}
diff --git a/crate_universe/src/utils/starlark/select_scalar.rs b/crate_universe/src/utils/starlark/select_scalar.rs
new file mode 100644
index 0000000..d51f785
--- /dev/null
+++ b/crate_universe/src/utils/starlark/select_scalar.rs
@@ -0,0 +1,355 @@
+use std::collections::{BTreeMap, BTreeSet};
+use std::fmt::Debug;
+
+use serde::ser::{SerializeMap, Serializer};
+use serde::Serialize;
+use serde_starlark::{FunctionCall, MULTILINE};
+
+use crate::select::{Select, SelectableScalar};
+use crate::utils::starlark::{
+    looks_like_bazel_configuration_label, NoMatchingPlatformTriples, WithOriginalConfigurations,
+};
+
+#[derive(Debug, PartialEq, Eq)]
+pub struct SelectScalar<T>
+where
+    T: SelectableScalar,
+{
+    common: Option<T>,
+    selects: BTreeMap<String, WithOriginalConfigurations<T>>,
+    // Elements from the `Select` whose configuration did not get mapped to any
+    // new configuration. They could be ignored, but are preserved here to
+    // generate comments that help the user understand what happened.
+    unmapped: BTreeMap<String, T>,
+}
+
+impl<T> SelectScalar<T>
+where
+    T: SelectableScalar,
+{
+    /// Re-keys the provided Select by the given configuration mapping.
+    /// This mapping maps from configurations in the input Select to sets of
+    /// configurations in the output SelectScalar.
+    pub fn new(select: Select<T>, platforms: &BTreeMap<String, BTreeSet<String>>) -> Self {
+        let (common, selects) = select.into_parts();
+
+        // Map new configuration -> WithOriginalConfigurations(value, old configurations).
+        let mut remapped: BTreeMap<String, WithOriginalConfigurations<T>> = BTreeMap::new();
+        // Map unknown configuration -> value.
+        let mut unmapped: BTreeMap<String, T> = BTreeMap::new();
+
+        for (original_configuration, value) in selects {
+            match platforms.get(&original_configuration) {
+                Some(configurations) => {
+                    for configuration in configurations {
+                        remapped
+                            .entry(configuration.clone())
+                            .or_insert_with(|| WithOriginalConfigurations {
+                                value: value.clone(),
+                                original_configurations: BTreeSet::new(),
+                            })
+                            .original_configurations
+                            .insert(original_configuration.clone());
+                    }
+                }
+                None => {
+                    if looks_like_bazel_configuration_label(&original_configuration) {
+                        remapped
+                            .entry(original_configuration.clone())
+                            .or_insert_with(|| WithOriginalConfigurations {
+                                value: value.clone(),
+                                original_configurations: BTreeSet::new(),
+                            })
+                            .original_configurations
+                            .insert(original_configuration.clone());
+                    } else {
+                        unmapped.insert(original_configuration.clone(), value);
+                    }
+                }
+            }
+        }
+
+        Self {
+            common,
+            selects: remapped,
+            unmapped,
+        }
+    }
+
+    /// Determine whether or not the select should be serialized
+    pub fn is_empty(&self) -> bool {
+        self.common.is_none() && self.selects.is_empty() && self.unmapped.is_empty()
+    }
+}
+
+impl<T> Serialize for SelectScalar<T>
+where
+    T: SelectableScalar,
+{
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        // If there are no platform-specific entries, we output just an ordinary
+        // value.
+        //
+        // If there are platform-specific ones, we use the following.
+        //
+        //     select({
+        //         "configuration": "plat-value",  # cfg(whatever),
+        //         "//conditions:default": "common-value",
+        //     })
+        //
+        // If there are unmapped entries, we include them like this:
+        //
+        //     selects.with_unmapped({
+        //         "configuration": "plat-value",  # cfg(whatever),
+        //         "//conditions:default": "common-value",
+        //         selects.NO_MATCHING_PLATFORM_TRIPLES: {
+        //             "cfg(obscure)": [
+        //                 "unmapped-value",
+        //             ],
+        //         },
+        //     })
+
+        if self.common.is_some() && self.selects.is_empty() && self.unmapped.is_empty() {
+            return self.common.as_ref().unwrap().serialize(serializer);
+        }
+
+        struct SelectInner<'a, T>(&'a SelectScalar<T>)
+        where
+            T: SelectableScalar;
+
+        impl<'a, T> Serialize for SelectInner<'a, T>
+        where
+            T: SelectableScalar,
+        {
+            fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+            where
+                S: Serializer,
+            {
+                let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                for (configuration, value) in self.0.selects.iter() {
+                    map.serialize_entry(configuration, value)?;
+                }
+                if let Some(common) = self.0.common.as_ref() {
+                    map.serialize_entry("//conditions:default", common)?;
+                }
+                if !self.0.unmapped.is_empty() {
+                    struct SelectUnmapped<'a, T>(&'a BTreeMap<String, T>)
+                    where
+                        T: SelectableScalar;
+
+                    impl<'a, T> Serialize for SelectUnmapped<'a, T>
+                    where
+                        T: SelectableScalar,
+                    {
+                        fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+                        where
+                            S: Serializer,
+                        {
+                            let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                            for (cfg, value) in self.0.iter() {
+                                map.serialize_entry(cfg, value)?;
+                            }
+                            map.end()
+                        }
+                    }
+
+                    map.serialize_entry(
+                        &NoMatchingPlatformTriples,
+                        &SelectUnmapped(&self.0.unmapped),
+                    )?;
+                }
+                map.end()
+            }
+        }
+
+        let function = if self.unmapped.is_empty() {
+            "select"
+        } else {
+            "selects.with_unmapped"
+        };
+
+        FunctionCall::new(function, [SelectInner(self)]).serialize(serializer)
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    use indoc::indoc;
+
+    #[test]
+    fn empty_select_value() {
+        let select_value: SelectScalar<String> =
+            SelectScalar::new(Default::default(), &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            select({})
+        "#};
+
+        assert_eq!(
+            select_value.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn no_platform_specific_select_value() {
+        let mut select: Select<String> = Select::default();
+        select.insert("Hello".to_owned(), None);
+
+        let select_value = SelectScalar::new(select, &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            "Hello"
+        "#};
+
+        assert_eq!(
+            select_value.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn only_platform_specific_select_value() {
+        let mut select: Select<String> = Select::default();
+        select.insert("Hello".to_owned(), Some("platform".to_owned()));
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_value = SelectScalar::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            select({
+                "platform": "Hello",  # platform
+            })
+        "#};
+
+        assert_eq!(
+            select_value.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn mixed_select_value() {
+        let mut select: Select<String> = Select::default();
+        select.insert("Hello".to_owned(), Some("platform".to_owned()));
+        select.insert("Goodbye".to_owned(), None);
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_value = SelectScalar::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            select({
+                "platform": "Hello",  # platform
+                "//conditions:default": "Goodbye",
+            })
+        "#};
+
+        assert_eq!(
+            select_value.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn remap_select_value_configurations() {
+        let mut select: Select<String> = Select::default();
+        select.insert("a".to_owned(), Some("cfg(macos)".to_owned()));
+        select.insert("a".to_owned(), Some("cfg(x86_64)".to_owned()));
+        select.insert("e".to_owned(), Some("cfg(pdp11)".to_owned()));
+        select.insert("f".to_owned(), Some("@platforms//os:magic".to_owned()));
+        select.insert("g".to_owned(), Some("//another:platform".to_owned()));
+
+        let platforms = BTreeMap::from([
+            (
+                "cfg(macos)".to_owned(),
+                BTreeSet::from(["x86_64-macos".to_owned(), "aarch64-macos".to_owned()]),
+            ),
+            (
+                "cfg(x86_64)".to_owned(),
+                BTreeSet::from(["x86_64-linux".to_owned(), "x86_64-macos".to_owned()]),
+            ),
+        ]);
+
+        let select_value = SelectScalar::new(select, &platforms);
+
+        let expected = SelectScalar {
+            common: None,
+            selects: BTreeMap::from([
+                (
+                    "x86_64-macos".to_owned(),
+                    WithOriginalConfigurations {
+                        value: "a".to_owned(),
+                        original_configurations: BTreeSet::from([
+                            "cfg(macos)".to_owned(),
+                            "cfg(x86_64)".to_owned(),
+                        ]),
+                    },
+                ),
+                (
+                    "aarch64-macos".to_owned(),
+                    WithOriginalConfigurations {
+                        value: "a".to_owned(),
+                        original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                    },
+                ),
+                (
+                    "x86_64-linux".to_owned(),
+                    WithOriginalConfigurations {
+                        value: "a".to_owned(),
+                        original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                    },
+                ),
+                (
+                    "@platforms//os:magic".to_owned(),
+                    WithOriginalConfigurations {
+                        value: "f".to_owned(),
+                        original_configurations: BTreeSet::from(
+                            ["@platforms//os:magic".to_owned()],
+                        ),
+                    },
+                ),
+                (
+                    "//another:platform".to_owned(),
+                    WithOriginalConfigurations {
+                        value: "g".to_owned(),
+                        original_configurations: BTreeSet::from(["//another:platform".to_owned()]),
+                    },
+                ),
+            ]),
+            unmapped: BTreeMap::from([("cfg(pdp11)".to_owned(), "e".to_owned())]),
+        };
+
+        assert_eq!(select_value, expected);
+
+        let expected_starlark = indoc! {r#"
+            selects.with_unmapped({
+                "//another:platform": "g",  # //another:platform
+                "@platforms//os:magic": "f",  # @platforms//os:magic
+                "aarch64-macos": "a",  # cfg(macos)
+                "x86_64-linux": "a",  # cfg(x86_64)
+                "x86_64-macos": "a",  # cfg(macos), cfg(x86_64)
+                selects.NO_MATCHING_PLATFORM_TRIPLES: {
+                    "cfg(pdp11)": "e",
+                },
+            })
+        "#};
+
+        assert_eq!(
+            select_value.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+}
diff --git a/crate_universe/src/utils/starlark/select_set.rs b/crate_universe/src/utils/starlark/select_set.rs
new file mode 100644
index 0000000..65ca1f4
--- /dev/null
+++ b/crate_universe/src/utils/starlark/select_set.rs
@@ -0,0 +1,449 @@
+use std::collections::{BTreeMap, BTreeSet};
+use std::fmt::Debug;
+
+use serde::ser::{SerializeMap, SerializeTupleStruct, Serializer};
+use serde::Serialize;
+use serde_starlark::{FunctionCall, MULTILINE};
+
+use crate::select::{Select, SelectableOrderedValue};
+use crate::utils::starlark::serialize::MultilineArray;
+use crate::utils::starlark::{
+    looks_like_bazel_configuration_label, NoMatchingPlatformTriples, WithOriginalConfigurations,
+};
+
+#[derive(Debug, PartialEq, Eq)]
+pub struct SelectSet<T>
+where
+    T: SelectableOrderedValue,
+{
+    // Invariant: any T in `common` is not anywhere in `selects`.
+    common: BTreeSet<T>,
+    // Invariant: none of the sets are empty.
+    selects: BTreeMap<String, BTreeSet<WithOriginalConfigurations<T>>>,
+    // Elements from the `Select` whose configuration did not get mapped to any
+    // new configuration. They could be ignored, but are preserved here to
+    // generate comments that help the user understand what happened.
+    unmapped: BTreeMap<String, BTreeSet<T>>,
+}
+
+impl<T> SelectSet<T>
+where
+    T: SelectableOrderedValue,
+{
+    /// Re-keys the provided Select by the given configuration mapping.
+    /// This mapping maps from configurations in the input Select to sets of
+    /// configurations in the output SelectSet.
+    pub fn new(
+        select: Select<BTreeSet<T>>,
+        platforms: &BTreeMap<String, BTreeSet<String>>,
+    ) -> Self {
+        let (common, selects) = select.into_parts();
+
+        // Map new configuration -> value -> old configurations.
+        let mut remapped: BTreeMap<String, BTreeMap<T, BTreeSet<String>>> = BTreeMap::new();
+        // Map unknown configuration -> value.
+        let mut unmapped: BTreeMap<String, BTreeSet<T>> = BTreeMap::new();
+
+        for (original_configuration, values) in selects {
+            match platforms.get(&original_configuration) {
+                Some(configurations) => {
+                    for configuration in configurations {
+                        for value in &values {
+                            remapped
+                                .entry(configuration.clone())
+                                .or_default()
+                                .entry(value.clone())
+                                .or_default()
+                                .insert(original_configuration.clone());
+                        }
+                    }
+                }
+                None => {
+                    if looks_like_bazel_configuration_label(&original_configuration) {
+                        let destination =
+                            remapped.entry(original_configuration.clone()).or_default();
+                        for value in values {
+                            destination
+                                .entry(value)
+                                .or_default()
+                                .insert(original_configuration.clone());
+                        }
+                    } else {
+                        unmapped
+                            .entry(original_configuration.clone())
+                            .or_default()
+                            .extend(values.into_iter());
+                    };
+                }
+            }
+        }
+
+        Self {
+            common,
+            selects: remapped
+                .into_iter()
+                .map(|(new_configuration, value_to_original_configuration)| {
+                    (
+                        new_configuration,
+                        value_to_original_configuration
+                            .into_iter()
+                            .map(
+                                |(value, original_configurations)| WithOriginalConfigurations {
+                                    value,
+                                    original_configurations,
+                                },
+                            )
+                            .collect(),
+                    )
+                })
+                .collect(),
+            unmapped,
+        }
+    }
+
+    /// Determine whether or not the select should be serialized
+    pub fn is_empty(&self) -> bool {
+        self.common.is_empty() && self.selects.is_empty() && self.unmapped.is_empty()
+    }
+}
+
+impl<T> Serialize for SelectSet<T>
+where
+    T: SelectableOrderedValue,
+{
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        // Output looks like:
+        //
+        //     [
+        //         "common...",
+        //     ] + select({
+        //         "configuration": [
+        //             "value...",  # cfg(whatever)
+        //         ],
+        //         "//conditions:default": [],
+        //     })
+        //
+        // The common part and select are each omitted if they are empty (except
+        // if the entire thing is empty, in which case we serialize the common
+        // part to get an empty array).
+        //
+        // If there are unmapped entries, we include them like this:
+        //
+        //     [
+        //         "common...",
+        //     ] + selects.with_unmapped({
+        //         "configuration": [
+        //             "value...",  # cfg(whatever)
+        //         ],
+        //         "//conditions:default": [],
+        //         selects.NO_MATCHING_PLATFORM_TRIPLES: {
+        //             "cfg(obscure)": [
+        //                 "value...",
+        //             ],
+        //         },
+        //     })
+
+        let mut plus = serializer.serialize_tuple_struct("+", MULTILINE)?;
+
+        if !self.common.is_empty() || self.selects.is_empty() && self.unmapped.is_empty() {
+            plus.serialize_field(&MultilineArray(&self.common))?;
+        }
+
+        if !self.selects.is_empty() || !self.unmapped.is_empty() {
+            struct SelectInner<'a, T: Ord>(&'a SelectSet<T>)
+            where
+                T: SelectableOrderedValue;
+
+            impl<'a, T> Serialize for SelectInner<'a, T>
+            where
+                T: SelectableOrderedValue,
+            {
+                fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+                where
+                    S: Serializer,
+                {
+                    let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                    for (cfg, value) in &self.0.selects {
+                        map.serialize_entry(cfg, &MultilineArray(value))?;
+                    }
+                    map.serialize_entry("//conditions:default", &[] as &[T])?;
+                    if !self.0.unmapped.is_empty() {
+                        struct SelectUnmapped<'a, T>(&'a BTreeMap<String, BTreeSet<T>>)
+                        where
+                            T: SelectableOrderedValue;
+
+                        impl<'a, T> Serialize for SelectUnmapped<'a, T>
+                        where
+                            T: SelectableOrderedValue,
+                        {
+                            fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+                            where
+                                S: Serializer,
+                            {
+                                let mut map = serializer.serialize_map(Some(MULTILINE))?;
+                                for (cfg, values) in self.0.iter() {
+                                    map.serialize_entry(cfg, &MultilineArray(values))?;
+                                }
+                                map.end()
+                            }
+                        }
+
+                        map.serialize_entry(
+                            &NoMatchingPlatformTriples,
+                            &SelectUnmapped(&self.0.unmapped),
+                        )?;
+                    }
+                    map.end()
+                }
+            }
+
+            let function = if self.unmapped.is_empty() {
+                "select"
+            } else {
+                "selects.with_unmapped"
+            };
+
+            plus.serialize_field(&FunctionCall::new(function, [SelectInner(self)]))?;
+        }
+
+        plus.end()
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    use indoc::indoc;
+
+    #[test]
+    fn empty_select_set() {
+        let select_set: SelectSet<String> = SelectSet::new(Default::default(), &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            []
+        "#};
+
+        assert_eq!(
+            select_set.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn no_platform_specific_select_set() {
+        let mut select: Select<BTreeSet<String>> = Select::default();
+        select.insert("Hello".to_owned(), None);
+
+        let select_set = SelectSet::new(select, &Default::default());
+
+        let expected_starlark = indoc! {r#"
+            [
+                "Hello",
+            ]
+        "#};
+
+        assert_eq!(
+            select_set.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn only_platform_specific_select_set() {
+        let mut select: Select<BTreeSet<String>> = Select::default();
+        select.insert("Hello".to_owned(), Some("platform".to_owned()));
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_set = SelectSet::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            select({
+                "platform": [
+                    "Hello",  # platform
+                ],
+                "//conditions:default": [],
+            })
+        "#};
+
+        assert_eq!(
+            select_set.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn mixed_select_set() {
+        let mut select: Select<BTreeSet<String>> = Select::default();
+        select.insert("Hello".to_owned(), Some("platform".to_owned()));
+        select.insert("Goodbye".to_owned(), None);
+
+        let platforms = BTreeMap::from([(
+            "platform".to_owned(),
+            BTreeSet::from(["platform".to_owned()]),
+        )]);
+
+        let select_set = SelectSet::new(select, &platforms);
+
+        let expected_starlark = indoc! {r#"
+            [
+                "Goodbye",
+            ] + select({
+                "platform": [
+                    "Hello",  # platform
+                ],
+                "//conditions:default": [],
+            })
+        "#};
+
+        assert_eq!(
+            select_set.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+
+    #[test]
+    fn remap_select_set_configurations() {
+        let mut select: Select<BTreeSet<String>> = Select::default();
+        select.insert("dep-a".to_owned(), Some("cfg(macos)".to_owned()));
+        select.insert("dep-b".to_owned(), Some("cfg(macos)".to_owned()));
+        select.insert("dep-d".to_owned(), Some("cfg(macos)".to_owned()));
+        select.insert("dep-a".to_owned(), Some("cfg(x86_64)".to_owned()));
+        select.insert("dep-c".to_owned(), Some("cfg(x86_64)".to_owned()));
+        select.insert("dep-e".to_owned(), Some("cfg(pdp11)".to_owned()));
+        select.insert("dep-d".to_owned(), None);
+        select.insert("dep-f".to_owned(), Some("@platforms//os:magic".to_owned()));
+        select.insert("dep-g".to_owned(), Some("//another:platform".to_owned()));
+
+        let platforms = BTreeMap::from([
+            (
+                "cfg(macos)".to_owned(),
+                BTreeSet::from(["x86_64-macos".to_owned(), "aarch64-macos".to_owned()]),
+            ),
+            (
+                "cfg(x86_64)".to_owned(),
+                BTreeSet::from(["x86_64-linux".to_owned(), "x86_64-macos".to_owned()]),
+            ),
+        ]);
+
+        let select_set = SelectSet::new(select, &platforms);
+
+        let expected = SelectSet {
+            common: BTreeSet::from(["dep-d".to_owned()]),
+            selects: BTreeMap::from([
+                (
+                    "x86_64-macos".to_owned(),
+                    BTreeSet::from([
+                        WithOriginalConfigurations {
+                            value: "dep-a".to_owned(),
+                            original_configurations: BTreeSet::from([
+                                "cfg(macos)".to_owned(),
+                                "cfg(x86_64)".to_owned(),
+                            ]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-b".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-c".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                        },
+                    ]),
+                ),
+                (
+                    "aarch64-macos".to_owned(),
+                    BTreeSet::from([
+                        WithOriginalConfigurations {
+                            value: "dep-a".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-b".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(macos)".to_owned()]),
+                        },
+                    ]),
+                ),
+                (
+                    "x86_64-linux".to_owned(),
+                    BTreeSet::from([
+                        WithOriginalConfigurations {
+                            value: "dep-a".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                        },
+                        WithOriginalConfigurations {
+                            value: "dep-c".to_owned(),
+                            original_configurations: BTreeSet::from(["cfg(x86_64)".to_owned()]),
+                        },
+                    ]),
+                ),
+                (
+                    "@platforms//os:magic".to_owned(),
+                    BTreeSet::from([WithOriginalConfigurations {
+                        value: "dep-f".to_owned(),
+                        original_configurations: BTreeSet::from(
+                            ["@platforms//os:magic".to_owned()],
+                        ),
+                    }]),
+                ),
+                (
+                    "//another:platform".to_owned(),
+                    BTreeSet::from([WithOriginalConfigurations {
+                        value: "dep-g".to_owned(),
+                        original_configurations: BTreeSet::from(["//another:platform".to_owned()]),
+                    }]),
+                ),
+            ]),
+            unmapped: BTreeMap::from([(
+                "cfg(pdp11)".to_owned(),
+                BTreeSet::from(["dep-e".to_owned()]),
+            )]),
+        };
+
+        assert_eq!(select_set, expected);
+
+        let expected_starlark = indoc! {r#"
+            [
+                "dep-d",
+            ] + selects.with_unmapped({
+                "//another:platform": [
+                    "dep-g",  # //another:platform
+                ],
+                "@platforms//os:magic": [
+                    "dep-f",  # @platforms//os:magic
+                ],
+                "aarch64-macos": [
+                    "dep-a",  # cfg(macos)
+                    "dep-b",  # cfg(macos)
+                ],
+                "x86_64-linux": [
+                    "dep-a",  # cfg(x86_64)
+                    "dep-c",  # cfg(x86_64)
+                ],
+                "x86_64-macos": [
+                    "dep-a",  # cfg(macos), cfg(x86_64)
+                    "dep-b",  # cfg(macos)
+                    "dep-c",  # cfg(x86_64)
+                ],
+                "//conditions:default": [],
+                selects.NO_MATCHING_PLATFORM_TRIPLES: {
+                    "cfg(pdp11)": [
+                        "dep-e",
+                    ],
+                },
+            })
+        "#};
+
+        assert_eq!(
+            select_set.serialize(serde_starlark::Serializer).unwrap(),
+            expected_starlark,
+        );
+    }
+}
diff --git a/crate_universe/src/utils/starlark/serialize.rs b/crate_universe/src/utils/starlark/serialize.rs
index 4d362c7..1368f7b 100644
--- a/crate_universe/src/utils/starlark/serialize.rs
+++ b/crate_universe/src/utils/starlark/serialize.rs
@@ -3,7 +3,7 @@
 use serde_starlark::{FunctionCall, MULTILINE, ONELINE};
 
 use super::{
-    Data, ExportsFiles, Load, Package, RustBinary, RustLibrary, RustProcMacro, SelectList,
+    Data, ExportsFiles, License, Load, Package, PackageInfo, RustBinary, RustLibrary, RustProcMacro,
 };
 
 // For structs that contain #[serde(flatten)], a quirk of how Serde processes
@@ -53,14 +53,6 @@
     }
 }
 
-// TODO: This can go away after SelectList's derived Serialize impl (used by
-// tera) goes away and `serialize_starlark` becomes its real Serialize impl.
-#[derive(Serialize)]
-#[serde(transparent)]
-pub struct SelectListWrapper<'a, T: Ord + Serialize>(
-    #[serde(serialize_with = "SelectList::serialize_starlark")] &'a SelectList<T>,
-);
-
 impl Serialize for Load {
     fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
     where
@@ -85,12 +77,46 @@
     where
         S: Serializer,
     {
-        let mut call = serializer.serialize_struct("package", ONELINE)?;
+        let has_metadata = !self.default_package_metadata.is_empty();
+        let mut call = serializer
+            .serialize_struct("package", if has_metadata { MULTILINE } else { ONELINE })?;
+        if has_metadata {
+            call.serialize_field("default_package_metadata", &self.default_package_metadata)?;
+        }
         call.serialize_field("default_visibility", &self.default_visibility)?;
         call.end()
     }
 }
 
+impl Serialize for PackageInfo {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        let mut call = serializer.serialize_struct("package_info", MULTILINE)?;
+        call.serialize_field("name", &self.name)?;
+        call.serialize_field("package_name", &self.package_name)?;
+        call.serialize_field("package_version", &self.package_version)?;
+        call.serialize_field("package_url", &self.package_url)?;
+        call.end()
+    }
+}
+
+impl Serialize for License {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        let mut call = serializer.serialize_struct("license", MULTILINE)?;
+        call.serialize_field("name", &self.name)?;
+        call.serialize_field("license_kinds", &self.license_kinds)?;
+        if !self.license_text.is_empty() {
+            call.serialize_field("license_text", &self.license_text)?;
+        }
+        call.end()
+    }
+}
+
 impl Serialize for ExportsFiles {
     fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
     where
@@ -118,7 +144,7 @@
             plus.serialize_field(&self.glob)?;
         }
         if !self.select.is_empty() || self.glob.is_empty() {
-            plus.serialize_field(&SelectListWrapper(&self.select))?;
+            plus.serialize_field(&self.select)?;
         }
         plus.end()
     }
diff --git a/crate_universe/src/utils/starlark/target_compatible_with.rs b/crate_universe/src/utils/starlark/target_compatible_with.rs
index 1c58392..9ee52b5 100644
--- a/crate_universe/src/utils/starlark/target_compatible_with.rs
+++ b/crate_universe/src/utils/starlark/target_compatible_with.rs
@@ -1,10 +1,10 @@
 use std::collections::BTreeSet;
 
 use serde::ser::{SerializeMap, SerializeTupleStruct, Serializer};
-use serde::{Deserialize, Serialize};
+use serde::Serialize;
 use serde_starlark::{FunctionCall, MULTILINE};
 
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Deserialize, Serialize, Clone)]
+#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone)]
 pub struct TargetCompatibleWith {
     target_triples: BTreeSet<String>,
 }
@@ -13,8 +13,10 @@
     pub fn new(target_triples: BTreeSet<String>) -> Self {
         TargetCompatibleWith { target_triples }
     }
+}
 
-    pub fn serialize_starlark<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+impl Serialize for TargetCompatibleWith {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
     where
         S: Serializer,
     {
@@ -84,7 +86,7 @@
 
         assert_eq!(
             target_compatible_with
-                .serialize_starlark(serde_starlark::Serializer)
+                .serialize(serde_starlark::Serializer)
                 .unwrap(),
             expected_starlark,
         );
diff --git a/crate_universe/src/utils/target_triple.rs b/crate_universe/src/utils/target_triple.rs
new file mode 100644
index 0000000..1f76adc
--- /dev/null
+++ b/crate_universe/src/utils/target_triple.rs
@@ -0,0 +1,37 @@
+use std::fmt::{Display, Formatter, Result};
+
+use serde::{Deserialize, Serialize};
+
+#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
+#[serde(transparent)]
+pub struct TargetTriple(String);
+
+impl TargetTriple {
+    #[cfg(test)]
+    pub fn from_bazel(bazel: String) -> Self {
+        Self(bazel)
+    }
+
+    pub fn to_bazel(&self) -> String {
+        self.0.clone()
+    }
+
+    pub fn to_cargo(&self) -> String {
+        // While Bazel is NixOS aware (via `@platforms//os:nixos`), `rustc`
+        // is not, so any target triples for `nixos` get remapped to `linux`
+        // for the purposes of determining `cargo metadata`, resolving `cfg`
+        // targets, etc.
+        self.0.replace("nixos", "linux")
+    }
+}
+
+impl Display for TargetTriple {
+    fn fmt(&self, f: &mut Formatter<'_>) -> Result {
+        let bazel = self.to_bazel();
+        let cargo = self.to_cargo();
+        match bazel == cargo {
+            true => write!(f, "{}", bazel),
+            false => write!(f, "{} (cargo: {})", bazel, cargo),
+        }
+    }
+}
diff --git a/crate_universe/test_data/metadata/aliases/metadata.json b/crate_universe/test_data/metadata/aliases/metadata.json
index 134d1c9..d1a001f 100644
--- a/crate_universe/test_data/metadata/aliases/metadata.json
+++ b/crate_universe/test_data/metadata/aliases/metadata.json
@@ -1,148 +1,140 @@
 {
+    "metadata": null,
     "packages": [
         {
-            "name": "aliases",
-            "version": "0.1.0",
-            "id": "aliases 0.1.0 (path+file://{TEMP_DIR}/aliases)",
-            "license": null,
-            "license_file": null,
-            "description": null,
-            "source": null,
+            "authors": [],
+            "categories": [],
+            "default_run": null,
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "log",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "=0.4.14",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "names",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "=0.13.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "log",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "=0.3.9",
-                    "kind": null,
+                    "optional": false,
+                    "registry": null,
                     "rename": "pinned_log",
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "names",
-                    "source": "git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f",
-                    "req": "*",
-                    "kind": null,
-                    "rename": "pinned_names",
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "value-bag",
+                    "req": "=0.3.9",
                     "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "=1.0.0-alpha.7",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "names",
+                    "optional": false,
+                    "registry": null,
+                    "rename": "pinned_names",
+                    "req": "*",
+                    "source": "git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "value-bag",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "=1.0.0-alpha.7",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 }
             ],
+            "description": null,
+            "documentation": null,
+            "edition": "2018",
+            "features": {},
+            "homepage": null,
+            "id": "aliases 0.1.0 (path+file://{TEMP_DIR}/aliases)",
+            "keywords": [],
+            "license": null,
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{TEMP_DIR}/aliases/Cargo.toml",
+            "metadata": null,
+            "name": "aliases",
+            "publish": null,
+            "readme": null,
+            "repository": null,
+            "rust_version": null,
+            "source": null,
             "targets": [
                 {
-                    "kind": [
+                    "crate_types": [
                         "lib"
                     ],
-                    "crate_types": [
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
                         "lib"
                     ],
                     "name": "aliases",
                     "src_path": "{TEMP_DIR}/aliases/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
                     "test": true
                 }
             ],
-            "features": {},
-            "manifest_path": "{TEMP_DIR}/aliases/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [],
-            "categories": [],
-            "keywords": [],
-            "readme": null,
-            "repository": null,
-            "homepage": null,
-            "documentation": null,
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "version": "0.1.0"
         },
         {
-            "name": "atty",
-            "version": "0.2.14",
-            "id": "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT",
-            "license_file": null,
-            "description": "A simple interface for querying atty",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "softprops <d.tangren@gmail.com>"
+            ],
+            "categories": [],
+            "default_run": null,
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "hermit-abi",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.1.6",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(target_os = \"hermit\")",
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "libc",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
                     "features": [],
+                    "kind": null,
+                    "name": "libc",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(unix)",
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
-                    "name": "winapi",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "consoleapi",
                         "processenv",
@@ -150,331 +142,299 @@
                         "minwindef",
                         "winbase"
                     ],
+                    "kind": null,
+                    "name": "winapi",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(windows)",
-                    "registry": null
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "atty",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/atty-0.2.14/src/lib.rs",
-                    "edition": "2015",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "atty",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/atty-0.2.14/examples/atty.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "A simple interface for querying atty",
+            "documentation": "http://softprops.github.io/atty",
+            "edition": "2015",
             "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/atty-0.2.14/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "softprops <d.tangren@gmail.com>"
-            ],
-            "categories": [],
+            "homepage": "https://github.com/softprops/atty",
+            "id": "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "terminal",
                 "tty",
                 "isatty"
             ],
+            "license": "MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/atty-0.2.14/Cargo.toml",
+            "metadata": null,
+            "name": "atty",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/softprops/atty",
-            "homepage": "https://github.com/softprops/atty",
-            "documentation": "http://softprops.github.io/atty",
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "autocfg",
-            "version": "1.1.0",
-            "id": "autocfg 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Apache-2.0 OR MIT",
-            "license_file": null,
-            "description": "Automatic cfg for Rust compiler features",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "autocfg",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "atty",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/atty-0.2.14/src/lib.rs",
                     "test": true
                 },
                 {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
                     "kind": [
                         "example"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "integers",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0/examples/integers.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "atty",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/atty-0.2.14/examples/atty.rs",
                     "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "paths",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0/examples/paths.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "versions",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0/examples/versions.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "traits",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0/examples/traits.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "rustflags",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0/tests/rustflags.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
                 }
             ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "0.2.14"
+        },
+        {
             "authors": [
                 "Josh Stone <cuviper@gmail.com>"
             ],
             "categories": [
                 "development-tools::build-utils"
             ],
+            "default_run": null,
+            "dependencies": [],
+            "description": "Automatic cfg for Rust compiler features",
+            "documentation": null,
+            "edition": "2015",
+            "features": {},
+            "homepage": null,
+            "id": "autocfg 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "rustc",
                 "build",
                 "autoconf"
             ],
+            "license": "Apache-2.0 OR MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.1.0/Cargo.toml",
+            "metadata": null,
+            "name": "autocfg",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/cuviper/autocfg",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "bitflags",
-            "version": "1.3.2",
-            "id": "bitflags 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "A macro to generate structures which behave like bitflags.\n",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "compiler_builtins",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0",
-                    "kind": null,
-                    "rename": "core",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustversion",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde_derive",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde_json",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "trybuild",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "walkdir",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^2.3",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "bitflags",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/bitflags-1.3.2/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "autocfg",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.1.0/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "compile",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/bitflags-1.3.2/tests/compile.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
-                    "test": true
+                    "edition": "2015",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "integers",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.1.0/examples/integers.rs",
+                    "test": false
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "basic",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/bitflags-1.3.2/tests/basic.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "paths",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.1.0/examples/paths.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "versions",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.1.0/examples/versions.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "traits",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.1.0/examples/traits.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "rustflags",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.1.0/tests/rustflags.rs",
                     "test": true
                 }
             ],
+            "version": "1.1.0"
+        },
+        {
+            "authors": [
+                "The Rust Project Developers"
+            ],
+            "categories": [
+                "no-std"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "compiler_builtins",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-core",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "core",
+                    "req": "^1.0.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "rustversion",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "serde",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "serde_derive",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "serde_json",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "trybuild",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "walkdir",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^2.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "A macro to generate structures which behave like bitflags.\n",
+            "documentation": "https://docs.rs/bitflags",
+            "edition": "2018",
             "features": {
                 "compiler_builtins": [
                     "dep:compiler_builtins"
@@ -489,7 +449,18 @@
                     "compiler_builtins"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/bitflags-1.3.2/Cargo.toml",
+            "homepage": "https://github.com/bitflags/bitflags",
+            "id": "bitflags 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "bit",
+                "bitmask",
+                "bitflags",
+                "flags"
+            ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/bitflags-1.3.2/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -499,92 +470,93 @@
                     }
                 }
             },
+            "name": "bitflags",
             "publish": null,
-            "authors": [
-                "The Rust Project Developers"
-            ],
-            "categories": [
-                "no-std"
-            ],
-            "keywords": [
-                "bit",
-                "bitmask",
-                "bitflags",
-                "flags"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/bitflags/bitflags",
-            "homepage": "https://github.com/bitflags/bitflags",
-            "documentation": "https://docs.rs/bitflags",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "cfg-if",
-            "version": "1.0.0",
-            "id": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "compiler_builtins",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0",
-                    "kind": null,
-                    "rename": "core",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "cfg-if",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/cfg-if-1.0.0/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "bitflags",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/bitflags-1.3.2/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "xcrate",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/cfg-if-1.0.0/tests/xcrate.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "compile",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/bitflags-1.3.2/tests/compile.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "basic",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/bitflags-1.3.2/tests/basic.rs",
                     "test": true
                 }
             ],
+            "version": "1.3.2"
+        },
+        {
+            "authors": [
+                "Alex Crichton <alex@alexcrichton.com>"
+            ],
+            "categories": [],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "compiler_builtins",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-core",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "core",
+                    "req": "^1.0.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n",
+            "documentation": "https://docs.rs/cfg-if",
+            "edition": "2018",
             "features": {
                 "compiler_builtins": [
                     "dep:compiler_builtins"
@@ -597,1154 +569,307 @@
                     "compiler_builtins"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/cfg-if-1.0.0/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "Alex Crichton <alex@alexcrichton.com>"
-            ],
-            "categories": [],
+            "homepage": "https://github.com/alexcrichton/cfg-if",
+            "id": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/Cargo.toml",
+            "metadata": null,
+            "name": "cfg-if",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/alexcrichton/cfg-if",
-            "homepage": "https://github.com/alexcrichton/cfg-if",
-            "documentation": "https://docs.rs/cfg-if",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "cfg-if",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "xcrate",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/tests/xcrate.rs",
+                    "test": true
+                }
+            ],
+            "version": "1.0.0"
         },
         {
-            "name": "clap",
-            "version": "3.1.5",
-            "id": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "A simple to use, efficient, and full-featured Command Line Argument Parser",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [],
+            "categories": [
+                "command-line-interface"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "atty",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "backtrace",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.3",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "bitflags",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "clap_derive",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^3.1.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "indexmap",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "lazy_static",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
+                    "registry": null,
                     "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
+                    "name": "lazy_static",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
                     "name": "os_str_bytes",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^6.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "regex",
                     "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
+                    "name": "regex",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
                     "name": "strsim",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.10",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "termcolor",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.1.1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "terminal_size",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.1.12",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "textwrap",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.15.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "unicase",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^2.6",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "yaml-rust",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.4.1",
-                    "kind": null,
-                    "rename": null,
                     "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.4.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "criterion",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.3.2",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "lazy_static",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "regex",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "rustversion",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "trybuild",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.18",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.18",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "trycmd",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.12",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
                     "features": [
                         "color-auto",
                         "diff",
                         "examples"
                     ],
+                    "kind": "dev",
+                    "name": "trycmd",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.12",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "clap",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "demo",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/demo.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "cargo-example",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/cargo-example.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "cargo-example-derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/cargo-example-derive.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "escaped-positional",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/escaped-positional.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "escaped-positional-derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/escaped-positional-derive.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "git-derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/git-derive.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "keyvalue-derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/keyvalue-derive.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "busybox",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/multicall-busybox.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "unstable-multicall"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "hostname",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/multicall-hostname.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "unstable-multicall"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "01_quick",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/01_quick.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "02_apps",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/02_apps.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "02_crate",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/02_crate.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "02_app_settings",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/02_app_settings.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_01_flag_bool",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/03_01_flag_bool.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_01_flag_count",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/03_01_flag_count.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_02_option",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/03_02_option.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_03_positional",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/03_03_positional.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_04_subcommands",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/03_04_subcommands.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_05_default_values",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/03_05_default_values.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_01_possible",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/04_01_possible.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_01_enum",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/04_01_enum.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo",
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_02_parse",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/04_02_parse.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_02_validate",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/04_02_validate.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_03_relations",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/04_03_relations.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_04_custom",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/04_04_custom.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "05_01_assert",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_builder/05_01_assert.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "cargo"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "01_quick_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/01_quick.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "02_apps_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/02_apps.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "02_crate_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/02_crate.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "02_app_settings_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/02_app_settings.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_01_flag_bool_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/03_01_flag_bool.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_01_flag_count_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/03_01_flag_count.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_02_option_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/03_02_option.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_03_positional_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/03_03_positional.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_04_subcommands_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/03_04_subcommands.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_04_subcommands_alt_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/03_04_subcommands_alt.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_05_default_values_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/03_05_default_values.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_01_enum_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/04_01_enum.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_02_parse_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/04_02_parse.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_02_validate_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/04_02_validate.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_03_relations_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/04_03_relations.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_04_custom_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/04_04_custom.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "05_01_assert_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/tutorial_derive/05_01_assert.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "custom-bool",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/derive_ref/custom-bool.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "derive"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "pacman",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/pacman.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "git",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/examples/git.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "01_default",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/benches/01_default.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "02_simple",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/benches/02_simple.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "03_complex",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/benches/03_complex.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "04_new_help",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/benches/04_new_help.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "05_ripgrep",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/benches/05_ripgrep.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "06_rustup",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/benches/06_rustup.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "A simple to use, efficient, and full-featured Command Line Argument Parser",
+            "documentation": "https://docs.rs/clap/",
+            "edition": "2018",
             "features": {
                 "atty": [
                     "dep:atty"
@@ -1831,7 +956,19 @@
                     "dep:yaml-rust"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap-3.1.5/Cargo.toml",
+            "homepage": null,
+            "id": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "argument",
+                "cli",
+                "arg",
+                "parser",
+                "parse"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -1854,8 +991,6 @@
                     ]
                 },
                 "release": {
-                    "shared-version": true,
-                    "tag-name": "v{{version}}",
                     "pre-release-replacements": [
                         {
                             "file": "CHANGELOG.md",
@@ -1908,123 +1043,987 @@
                             "replace": "github.com/clap-rs/clap/blob/{{tag_name}}/",
                             "search": "github.com/clap-rs/clap/blob/[^/]+/"
                         }
-                    ]
+                    ],
+                    "shared-version": true,
+                    "tag-name": "v{{version}}"
                 }
             },
+            "name": "clap",
             "publish": null,
-            "authors": [],
-            "categories": [
-                "command-line-interface"
-            ],
-            "keywords": [
-                "argument",
-                "cli",
-                "arg",
-                "parser",
-                "parse"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/clap-rs/clap",
-            "homepage": null,
-            "documentation": "https://docs.rs/clap/",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "clap",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "demo",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/demo.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "cargo-example",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/cargo-example.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "cargo-example-derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/cargo-example-derive.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "escaped-positional",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/escaped-positional.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "escaped-positional-derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/escaped-positional-derive.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "git-derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/git-derive.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "keyvalue-derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/keyvalue-derive.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "busybox",
+                    "required-features": [
+                        "unstable-multicall"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/multicall-busybox.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "hostname",
+                    "required-features": [
+                        "unstable-multicall"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/multicall-hostname.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "01_quick",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/01_quick.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "02_apps",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/02_apps.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "02_crate",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/02_crate.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "02_app_settings",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/02_app_settings.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_01_flag_bool",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/03_01_flag_bool.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_01_flag_count",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/03_01_flag_count.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_02_option",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/03_02_option.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_03_positional",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/03_03_positional.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_04_subcommands",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/03_04_subcommands.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_05_default_values",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/03_05_default_values.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_01_possible",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/04_01_possible.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_01_enum",
+                    "required-features": [
+                        "cargo",
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/04_01_enum.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_02_parse",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/04_02_parse.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_02_validate",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/04_02_validate.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_03_relations",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/04_03_relations.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_04_custom",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/04_04_custom.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "05_01_assert",
+                    "required-features": [
+                        "cargo"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_builder/05_01_assert.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "01_quick_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/01_quick.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "02_apps_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/02_apps.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "02_crate_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/02_crate.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "02_app_settings_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/02_app_settings.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_01_flag_bool_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/03_01_flag_bool.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_01_flag_count_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/03_01_flag_count.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_02_option_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/03_02_option.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_03_positional_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/03_03_positional.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_04_subcommands_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/03_04_subcommands.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_04_subcommands_alt_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/03_04_subcommands_alt.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "03_05_default_values_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/03_05_default_values.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_01_enum_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/04_01_enum.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_02_parse_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/04_02_parse.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_02_validate_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/04_02_validate.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_03_relations_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/04_03_relations.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "04_04_custom_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/04_04_custom.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "05_01_assert_derive",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/tutorial_derive/05_01_assert.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "custom-bool",
+                    "required-features": [
+                        "derive"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/derive_ref/custom-bool.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "pacman",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/pacman.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "git",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/examples/git.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "01_default",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/benches/01_default.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "02_simple",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/benches/02_simple.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "03_complex",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/benches/03_complex.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "04_new_help",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/benches/04_new_help.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "05_ripgrep",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/benches/05_ripgrep.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "06_rustup",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap-3.1.5/benches/06_rustup.rs",
+                    "test": false
+                }
+            ],
+            "version": "3.1.5"
         },
         {
-            "name": "clap_derive",
-            "version": "3.1.4",
-            "id": "clap_derive 3.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Parse command line argument by defining a struct, derive crate.",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [],
+            "categories": [
+                "command-line-interface",
+                "development-tools::procedural-macro-helpers"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "heck",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.4.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "proc-macro-error",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "proc-macro2",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.0.28",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "quote",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.9",
-                    "kind": null,
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "syn",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.74",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "full"
                     ],
+                    "kind": null,
+                    "name": "syn",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.74",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "proc-macro"
-                    ],
-                    "crate_types": [
-                        "proc-macro"
-                    ],
-                    "name": "clap_derive",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap_derive-3.1.4/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                }
-            ],
+            "description": "Parse command line argument by defining a struct, derive crate.",
+            "documentation": "https://docs.rs/clap_derive",
+            "edition": "2018",
             "features": {
                 "debug": [],
                 "default": []
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/clap_derive-3.1.4/Cargo.toml",
+            "homepage": null,
+            "id": "clap_derive 3.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "clap",
+                "cli",
+                "parse",
+                "derive",
+                "proc_macro"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap_derive-3.1.4/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -2035,8 +2034,6 @@
                 },
                 "release": {
                     "dependent-version": "upgrade",
-                    "shared-version": true,
-                    "tag-name": "v{{version}}",
                     "pre-release-replacements": [
                         {
                             "exactly": 2,
@@ -2045,308 +2042,244 @@
                             "replace": "github.com/clap-rs/clap/blob/{{tag_name}}/",
                             "search": "github.com/clap-rs/clap/blob/[^/]+/"
                         }
-                    ]
+                    ],
+                    "shared-version": true,
+                    "tag-name": "v{{version}}"
                 }
             },
+            "name": "clap_derive",
             "publish": null,
-            "authors": [],
-            "categories": [
-                "command-line-interface",
-                "development-tools::procedural-macro-helpers"
-            ],
-            "keywords": [
-                "clap",
-                "cli",
-                "parse",
-                "derive",
-                "proc_macro"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/clap-rs/clap/tree/master/clap_derive",
-            "homepage": null,
-            "documentation": "https://docs.rs/clap_derive",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "proc-macro"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "proc-macro"
+                    ],
+                    "name": "clap_derive",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/clap_derive-3.1.4/src/lib.rs",
+                    "test": true
+                }
+            ],
+            "version": "3.1.4"
         },
         {
-            "name": "ctor",
-            "version": "0.1.21",
-            "id": "ctor 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Apache-2.0 OR MIT",
-            "license_file": null,
-            "description": "__attribute__((constructor)) for Rust",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "Matt Mastracci <matthew@mastracci.com>"
+            ],
+            "categories": [],
+            "default_run": null,
             "dependencies": [
                 {
-                    "name": "quote",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.9",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [],
+                    "kind": null,
+                    "name": "quote",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "syn",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.73",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
                     "features": [
                         "full",
                         "parsing",
                         "printing",
                         "proc-macro"
                     ],
+                    "kind": null,
+                    "name": "syn",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.73",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
-                    "name": "libc-print",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.15",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [],
+                    "kind": "dev",
+                    "name": "libc-print",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.15",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 }
             ],
+            "description": "__attribute__((constructor)) for Rust",
+            "documentation": null,
+            "edition": "2018",
+            "features": {},
+            "homepage": null,
+            "id": "ctor 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [],
+            "license": "Apache-2.0 OR MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/ctor-0.1.21/Cargo.toml",
+            "metadata": null,
+            "name": "ctor",
+            "publish": null,
+            "readme": "../README.md",
+            "repository": "https://github.com/mmastrac/rust-ctor",
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "targets": [
                 {
-                    "kind": [
+                    "crate_types": [
                         "proc-macro"
                     ],
-                    "crate_types": [
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
                         "proc-macro"
                     ],
                     "name": "ctor",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/ctor-0.1.21/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/ctor-0.1.21/src/lib.rs",
                     "test": true
                 },
                 {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
                     "kind": [
                         "example"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
                     "name": "example",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/ctor-0.1.21/src/example.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/ctor-0.1.21/src/example.rs",
                     "test": false
                 }
             ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/ctor-0.1.21/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "Matt Mastracci <matthew@mastracci.com>"
-            ],
-            "categories": [],
-            "keywords": [],
-            "readme": "../README.md",
-            "repository": "https://github.com/mmastrac/rust-ctor",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "version": "0.1.21"
         },
         {
-            "name": "getrandom",
-            "version": "0.2.5",
-            "id": "getrandom 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "A small cross-platform library for retrieving random data from system source",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "The Rand Project Developers"
+            ],
+            "categories": [
+                "os",
+                "no-std"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "cfg-if",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "compiler_builtins",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
+                    "optional": true,
+                    "registry": null,
                     "rename": "core",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "js-sys",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.3",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))",
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "wasm-bindgen",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2.62",
-                    "kind": null,
-                    "rename": null,
                     "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2.62",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))",
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
-                    "name": "wasm-bindgen-test",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.18",
+                    "features": [],
                     "kind": "dev",
-                    "rename": null,
+                    "name": "wasm-bindgen-test",
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3.18",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))",
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "wasi",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.10",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": "cfg(target_os = \"wasi\")",
-                    "registry": null
-                },
-                {
-                    "name": "libc",
                     "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2.64",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
+                    "target": "cfg(target_os = \"wasi\")",
+                    "uses_default_features": true
+                },
+                {
                     "features": [],
+                    "kind": null,
+                    "name": "libc",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2.64",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(unix)",
-                    "registry": null
+                    "uses_default_features": false
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "getrandom",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.5/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "normal",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.5/tests/normal.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "custom",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.5/tests/custom.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "rdrand",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.5/tests/rdrand.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "mod",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.5/benches/mod.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "A small cross-platform library for retrieving random data from system source",
+            "documentation": "https://docs.rs/getrandom",
+            "edition": "2018",
             "features": {
                 "compiler_builtins": [
                     "dep:compiler_builtins"
@@ -2375,7 +2308,13 @@
                     "dep:wasm-bindgen"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.5/Cargo.toml",
+            "homepage": null,
+            "id": "getrandom 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/getrandom-0.2.5/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -2390,278 +2329,258 @@
                     }
                 }
             },
+            "name": "getrandom",
             "publish": null,
-            "authors": [
-                "The Rand Project Developers"
-            ],
-            "categories": [
-                "os",
-                "no-std"
-            ],
-            "keywords": [],
             "readme": "README.md",
             "repository": "https://github.com/rust-random/getrandom",
-            "homepage": null,
-            "documentation": "https://docs.rs/getrandom",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "hashbrown",
-            "version": "0.11.2",
-            "id": "hashbrown 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Apache-2.0/MIT",
-            "license_file": null,
-            "description": "A Rust port of Google's SwissTable hash map",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "ahash",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.7.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-alloc",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0",
-                    "kind": null,
-                    "rename": "alloc",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "bumpalo",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^3.5.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "compiler_builtins",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0",
-                    "kind": null,
-                    "rename": "core",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rayon",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.25",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "doc-comment",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "fnv",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.7",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "lazy_static",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.4",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rand",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.7.3",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [
-                        "small_rng"
-                    ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rayon",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde_test",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "hashbrown",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.2/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "getrandom",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/getrandom-0.2.5/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "serde",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.2/tests/serde.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
-                    "test": true
-                },
-                {
+                    "edition": "2018",
                     "kind": [
                         "test"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "rayon",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.2/tests/rayon.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "normal",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/getrandom-0.2.5/tests/normal.rs",
                     "test": true
                 },
                 {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
                     "kind": [
                         "test"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "set",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.2/tests/set.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "custom",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/getrandom-0.2.5/tests/custom.rs",
                     "test": true
                 },
                 {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
                     "kind": [
                         "test"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "hasher",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.2/tests/hasher.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "rdrand",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/getrandom-0.2.5/tests/rdrand.rs",
                     "test": true
                 },
                 {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
                     "kind": [
                         "bench"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "bench",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.2/benches/bench.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "mod",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/getrandom-0.2.5/benches/mod.rs",
                     "test": false
                 }
             ],
+            "version": "0.2.5"
+        },
+        {
+            "authors": [
+                "Amanieu d'Antras <amanieu@gmail.com>"
+            ],
+            "categories": [
+                "data-structures",
+                "no-std"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "ahash",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.7.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-alloc",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "alloc",
+                    "req": "^1.0.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "bumpalo",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^3.5.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "compiler_builtins",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-core",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "core",
+                    "req": "^1.0.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rayon",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "serde",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.25",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "doc-comment",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "fnv",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.7",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "lazy_static",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [
+                        "small_rng"
+                    ],
+                    "kind": "dev",
+                    "name": "rand",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.7.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "rayon",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "serde_test",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "A Rust port of Google's SwissTable hash map",
+            "documentation": null,
+            "edition": "2018",
             "features": {
                 "ahash": [
                     "dep:ahash"
@@ -2703,7 +2622,18 @@
                     "dep:serde"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.2/Cargo.toml",
+            "homepage": null,
+            "id": "hashbrown 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "hash",
+                "no_std",
+                "hashmap",
+                "swisstable"
+            ],
+            "license": "Apache-2.0/MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.11.2/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -2716,67 +2646,123 @@
                     }
                 }
             },
+            "name": "hashbrown",
             "publish": null,
-            "authors": [
-                "Amanieu d'Antras <amanieu@gmail.com>"
-            ],
-            "categories": [
-                "data-structures",
-                "no-std"
-            ],
-            "keywords": [
-                "hash",
-                "no_std",
-                "hashmap",
-                "swisstable"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/rust-lang/hashbrown",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "heck",
-            "version": "0.4.0",
-            "id": "heck 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "heck is a case conversion library.",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "unicode-segmentation",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.2.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "heck",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/heck-0.4.0/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "hashbrown",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.11.2/src/lib.rs",
                     "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "serde",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.11.2/tests/serde.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "rayon",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.11.2/tests/rayon.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "set",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.11.2/tests/set.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "hasher",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.11.2/tests/hasher.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "bench",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.11.2/benches/bench.rs",
+                    "test": false
                 }
             ],
+            "version": "0.11.2"
+        },
+        {
+            "authors": [
+                "Without Boats <woboats@gmail.com>"
+            ],
+            "categories": [],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "unicode-segmentation",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.2.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "heck is a case conversion library.",
+            "documentation": "https://docs.rs/heck",
+            "edition": "2018",
             "features": {
                 "default": [],
                 "unicode": [
@@ -2786,13 +2772,8 @@
                     "dep:unicode-segmentation"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/heck-0.4.0/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "Without Boats <woboats@gmail.com>"
-            ],
-            "categories": [],
+            "homepage": "https://github.com/withoutboats/heck",
+            "id": "heck 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "string",
                 "case",
@@ -2800,77 +2781,84 @@
                 "snake",
                 "unicode"
             ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/heck-0.4.0/Cargo.toml",
+            "metadata": null,
+            "name": "heck",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/withoutboats/heck",
-            "homepage": "https://github.com/withoutboats/heck",
-            "documentation": "https://docs.rs/heck",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "hermit-abi",
-            "version": "0.1.19",
-            "id": "hermit-abi 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "hermit-abi is small interface to call functions from the unikernel RustyHermit.\nIt is used to build the target `x86_64-unknown-hermit`.\n",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "compiler_builtins",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0",
-                    "kind": null,
-                    "rename": "core",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "libc",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2.51",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "hermit-abi",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hermit-abi-0.1.19/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "heck",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/heck-0.4.0/src/lib.rs",
                     "test": true
                 }
             ],
+            "version": "0.4.0"
+        },
+        {
+            "authors": [
+                "Stefan Lankes"
+            ],
+            "categories": [
+                "os"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "compiler_builtins",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-core",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "core",
+                    "req": "^1.0.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "libc",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2.51",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                }
+            ],
+            "description": "hermit-abi is small interface to call functions from the unikernel RustyHermit.\nIt is used to build the target `x86_64-unknown-hermit`.\n",
+            "documentation": "https://hermitcore.github.io/rusty-hermit/hermit_abi",
+            "edition": "2018",
             "features": {
                 "compiler_builtins": [
                     "dep:compiler_builtins"
@@ -2886,7 +2874,16 @@
                     "libc/rustc-dep-of-std"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/hermit-abi-0.1.19/Cargo.toml",
+            "homepage": null,
+            "id": "hermit-abi 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "unikernel",
+                "libos"
+            ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hermit-abi-0.1.19/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -2897,298 +2894,193 @@
                     }
                 }
             },
+            "name": "hermit-abi",
             "publish": null,
-            "authors": [
-                "Stefan Lankes"
-            ],
-            "categories": [
-                "os"
-            ],
-            "keywords": [
-                "unikernel",
-                "libos"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/hermitcore/libhermit-rs",
-            "homepage": null,
-            "documentation": "https://hermitcore.github.io/rusty-hermit/hermit_abi",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "hermit-abi",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/hermit-abi-0.1.19/src/lib.rs",
+                    "test": true
+                }
+            ],
+            "version": "0.1.19"
         },
         {
-            "name": "indexmap",
-            "version": "1.8.0",
-            "id": "indexmap 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Apache-2.0/MIT",
-            "license_file": null,
-            "description": "A hash table with consistent order and fast iteration.\n\nThe indexmap is a hash table where the iteration order of the key-value\npairs is independent of the hash values of the keys. It has the usual\nhash table functionality, it preserves insertion order except after\nremovals, and it allows lookup of its elements by either hash table key\nor numerical index. A corresponding hash set type is also provided.\n\nThis crate was initially published under the name ordermap, but it was renamed to\nindexmap.\n",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "bluss",
+                "Josh Stone <cuviper@gmail.com>"
+            ],
+            "categories": [
+                "data-structures",
+                "no-std"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
-                    "name": "hashbrown",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.11",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
                     "features": [
                         "raw"
                     ],
+                    "kind": null,
+                    "name": "hashbrown",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.11",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "rayon",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.4.1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "rustc-rayon",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.3",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": null,
                     "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "fnv",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "fnv",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
                     "name": "fxhash",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.2.1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "itertools",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "lazy_static",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.3",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "quickcheck",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": false,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
-                    "name": "rand",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.7",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "small_rng"
                     ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde_derive",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
                     "kind": "dev",
-                    "rename": null,
+                    "name": "rand",
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "autocfg",
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.7",
                     "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": "build",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "serde_derive",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "build",
+                    "name": "autocfg",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "indexmap",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "quick",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/tests/quick.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "macros_full_path",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/tests/macros_full_path.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "equivalent_trait",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/tests/equivalent_trait.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "tests",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/tests/tests.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "faststring",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/benches/faststring.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "bench",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/benches/bench.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "custom-build"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/build.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "A hash table with consistent order and fast iteration.\n\nThe indexmap is a hash table where the iteration order of the key-value\npairs is independent of the hash values of the keys. It has the usual\nhash table functionality, it preserves insertion order except after\nremovals, and it allows lookup of its elements by either hash table key\nor numerical index. A corresponding hash set type is also provided.\n\nThis crate was initially published under the name ordermap, but it was renamed to\nindexmap.\n",
+            "documentation": "https://docs.rs/indexmap/",
+            "edition": "2018",
             "features": {
                 "rayon": [
                     "dep:rayon"
@@ -3206,7 +3098,16 @@
                 "test_debug": [],
                 "test_low_transition_point": []
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/indexmap-1.8.0/Cargo.toml",
+            "homepage": null,
+            "id": "indexmap 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "hashmap",
+                "no_std"
+            ],
+            "license": "Apache-2.0/MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -3221,117 +3122,129 @@
                     "tag-name": "{{version}}"
                 }
             },
+            "name": "indexmap",
             "publish": null,
-            "authors": [
-                "bluss",
-                "Josh Stone <cuviper@gmail.com>"
-            ],
-            "categories": [
-                "data-structures",
-                "no-std"
-            ],
-            "keywords": [
-                "hashmap",
-                "no_std"
-            ],
             "readme": null,
             "repository": "https://github.com/bluss/indexmap",
-            "homepage": null,
-            "documentation": "https://docs.rs/indexmap/",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "lazy_static",
-            "version": "1.4.0",
-            "id": "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "A macro for declaring lazily evaluated statics in Rust.",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "spin",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.5.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "doc-comment",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "lazy_static",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "indexmap",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "test",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/tests/test.rs",
-                    "edition": "2015",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "quick",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/tests/quick.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "no_std",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/tests/no_std.rs",
-                    "edition": "2015",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "macros_full_path",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/tests/macros_full_path.rs",
                     "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "equivalent_trait",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/tests/equivalent_trait.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "tests",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/tests/tests.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "faststring",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/benches/faststring.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "bench",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/benches/bench.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.8.0/build.rs",
+                    "test": false
                 }
             ],
-            "features": {
-                "spin": [
-                    "dep:spin"
-                ],
-                "spin_no_std": [
-                    "spin"
-                ]
-            },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "1.8.0"
+        },
+        {
             "authors": [
                 "Marvin L\u00f6bel <loebel.marvin@gmail.com>"
             ],
@@ -3340,86 +3253,135 @@
                 "rust-patterns",
                 "memory-management"
             ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "spin",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.5.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "doc-comment",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "A macro for declaring lazily evaluated statics in Rust.",
+            "documentation": "https://docs.rs/lazy_static",
+            "edition": "2015",
+            "features": {
+                "spin": [
+                    "dep:spin"
+                ],
+                "spin_no_std": [
+                    "spin"
+                ]
+            },
+            "homepage": null,
+            "id": "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "macro",
                 "lazy",
                 "static"
             ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/Cargo.toml",
+            "metadata": null,
+            "name": "lazy_static",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/rust-lang-nursery/lazy-static.rs",
-            "homepage": null,
-            "documentation": "https://docs.rs/lazy_static",
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "libc",
-            "version": "0.2.119",
-            "id": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Raw FFI bindings to platform libraries like libc.\n",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "libc",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/libc-0.2.119/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "lazy_static",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/src/lib.rs",
                     "test": true
                 },
                 {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
                     "kind": [
                         "test"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "const_fn",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/libc-0.2.119/tests/const_fn.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "test",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/tests/test.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "custom-build"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/libc-0.2.119/build.rs",
-                    "edition": "2015",
                     "doc": false,
                     "doctest": false,
-                    "test": false
+                    "edition": "2015",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "no_std",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/tests/no_std.rs",
+                    "test": true
                 }
             ],
+            "version": "1.4.0"
+        },
+        {
+            "authors": [
+                "The Rust Project Developers"
+            ],
+            "categories": [
+                "external-ffi-bindings",
+                "no-std",
+                "os"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-core",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "Raw FFI bindings to platform libraries like libc.\n",
+            "documentation": "https://docs.rs/libc/",
+            "edition": "2015",
             "features": {
                 "align": [],
                 "const-extern-fn": [],
@@ -3439,7 +3401,19 @@
                     "std"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/libc-0.2.119/Cargo.toml",
+            "homepage": "https://github.com/rust-lang/libc",
+            "id": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "libc",
+                "ffi",
+                "bindings",
+                "operating",
+                "system"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.119/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -3450,69 +3424,83 @@
                     }
                 }
             },
+            "name": "libc",
             "publish": null,
+            "readme": "README.md",
+            "repository": "https://github.com/rust-lang/libc",
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "libc",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.119/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "const_fn",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.119/tests/const_fn.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.119/build.rs",
+                    "test": false
+                }
+            ],
+            "version": "0.2.119"
+        },
+        {
             "authors": [
                 "The Rust Project Developers"
             ],
             "categories": [
-                "external-ffi-bindings",
-                "no-std",
-                "os"
+                "development-tools::debugging"
             ],
-            "keywords": [
-                "libc",
-                "ffi",
-                "bindings",
-                "operating",
-                "system"
-            ],
-            "readme": "README.md",
-            "repository": "https://github.com/rust-lang/libc",
-            "homepage": "https://github.com/rust-lang/libc",
-            "documentation": "https://docs.rs/libc/",
-            "edition": "2015",
-            "links": null,
             "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "log",
-            "version": "0.3.9",
-            "id": "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "A lightweight logging facade for Rust\n",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "dependencies": [
                 {
-                    "name": "log",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
+                    "kind": null,
                     "name": "log",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.3.9/src/lib.rs",
-                    "edition": "2015",
-                    "doc": true,
-                    "doctest": false,
-                    "test": true
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 }
             ],
+            "description": "A lightweight logging facade for Rust\n",
+            "documentation": "https://doc.rust-lang.org/log",
+            "edition": "2015",
             "features": {
                 "default": [
                     "use_std"
@@ -3558,209 +3546,153 @@
                     "log/std"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.3.9/Cargo.toml",
+            "homepage": "https://github.com/rust-lang/log",
+            "id": "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.3.9/Cargo.toml",
             "metadata": null,
+            "name": "log",
             "publish": null,
+            "readme": "README.md",
+            "repository": "https://github.com/rust-lang/log",
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "log",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.3.9/src/lib.rs",
+                    "test": true
+                }
+            ],
+            "version": "0.3.9"
+        },
+        {
             "authors": [
                 "The Rust Project Developers"
             ],
             "categories": [
                 "development-tools::debugging"
             ],
-            "keywords": [],
-            "readme": "README.md",
-            "repository": "https://github.com/rust-lang/log",
-            "homepage": "https://github.com/rust-lang/log",
-            "documentation": "https://doc.rust-lang.org/log",
-            "edition": "2015",
-            "links": null,
             "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "log",
-            "version": "0.4.14",
-            "id": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "A lightweight logging facade for Rust\n",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "cfg-if",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
+                    "registry": null,
                     "rename": null,
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
+                    "name": "serde",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [],
+                    "kind": null,
                     "name": "sval",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.0.0-alpha.5",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "value-bag",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0-alpha.6",
-                    "kind": null,
-                    "rename": null,
                     "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.0-alpha.6",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "derive"
                     ],
+                    "kind": "dev",
+                    "name": "serde",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "serde_test",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "sval",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0-alpha.5",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "derive"
                     ],
+                    "kind": "dev",
+                    "name": "sval",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.0-alpha.5",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "value-bag",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0-alpha.6",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "test"
                     ],
+                    "kind": "dev",
+                    "name": "value-bag",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.0-alpha.6",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "log",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.4.14/src/lib.rs",
-                    "edition": "2015",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "filters",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.4.14/tests/filters.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "macros",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.4.14/tests/macros.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "value",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.4.14/benches/value.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "custom-build"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.4.14/build.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "A lightweight logging facade for Rust\n",
+            "documentation": "https://docs.rs/log",
+            "edition": "2015",
             "features": {
                 "kv_unstable": [
                     "value-bag"
@@ -3803,7 +3735,15 @@
                     "dep:value-bag"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/log-0.4.14/Cargo.toml",
+            "homepage": null,
+            "id": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "logging"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.14/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -3817,113 +3757,146 @@
                     }
                 }
             },
+            "name": "log",
             "publish": null,
-            "authors": [
-                "The Rust Project Developers"
-            ],
-            "categories": [
-                "development-tools::debugging"
-            ],
-            "keywords": [
-                "logging"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/rust-lang/log",
-            "homepage": null,
-            "documentation": "https://docs.rs/log",
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "memchr",
-            "version": "2.4.1",
-            "id": "memchr 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Unlicense/MIT",
-            "license_file": null,
-            "description": "Safe interface to memchr.",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "compiler_builtins",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0",
-                    "kind": null,
-                    "rename": "core",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "libc",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2.18",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "quickcheck",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.3",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "memchr",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/memchr-2.4.1/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "log",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.14/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "custom-build"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/memchr-2.4.1/build.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "filters",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.14/tests/filters.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "macros",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.14/tests/macros.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "value",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.14/benches/value.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.14/build.rs",
                     "test": false
                 }
             ],
+            "version": "0.4.14"
+        },
+        {
+            "authors": [
+                "Andrew Gallant <jamslam@gmail.com>",
+                "bluss"
+            ],
+            "categories": [],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "compiler_builtins",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-core",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "core",
+                    "req": "^1.0.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "libc",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2.18",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "quickcheck",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                }
+            ],
+            "description": "Safe interface to memchr.",
+            "documentation": "https://docs.rs/memchr/",
+            "edition": "2018",
             "features": {
                 "compiler_builtins": [
                     "dep:compiler_builtins"
@@ -3946,14 +3919,8 @@
                     "std"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/memchr-2.4.1/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "Andrew Gallant <jamslam@gmail.com>",
-                "bluss"
-            ],
-            "categories": [],
+            "homepage": "https://github.com/BurntSushi/memchr",
+            "id": "memchr 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "memchr",
                 "char",
@@ -3961,121 +3928,100 @@
                 "strchr",
                 "string"
             ],
+            "license": "Unlicense/MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/memchr-2.4.1/Cargo.toml",
+            "metadata": null,
+            "name": "memchr",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/BurntSushi/memchr",
-            "homepage": "https://github.com/BurntSushi/memchr",
-            "documentation": "https://docs.rs/memchr/",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "names",
-            "version": "0.12.1-dev",
-            "id": "names 0.12.1-dev (git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f)",
-            "license": "MIT",
-            "license_file": null,
-            "description": "A random name generator with names suitable for use in container\ninstances, project names, application instances, etc.\n",
-            "source": "git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f",
-            "dependencies": [
-                {
-                    "name": "clap",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^3.1.5",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [
-                        "derive"
-                    ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rand",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.8.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "version-sync",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9.1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "names",
-                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "memchr",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/memchr-2.4.1/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "bin"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "names",
-                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/src/bin/names.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "version-numbers",
-                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/tests/version-numbers.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
-                    "test": true
-                },
-                {
+                    "edition": "2018",
                     "kind": [
                         "custom-build"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
                     "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/build.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/memchr-2.4.1/build.rs",
                     "test": false
                 }
             ],
+            "version": "2.4.1"
+        },
+        {
+            "authors": [
+                "Fletcher Nichol <fnichol@nichol.ca>"
+            ],
+            "categories": [
+                "command-line-utilities"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [
+                        "derive"
+                    ],
+                    "kind": null,
+                    "name": "clap",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^3.1.5",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rand",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.8.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "version-sync",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "A random name generator with names suitable for use in container\ninstances, project names, application instances, etc.\n",
+            "documentation": "https://docs.rs/names",
+            "edition": "2018",
             "features": {
                 "application": [
                     "clap"
@@ -4087,6 +4033,15 @@
                     "application"
                 ]
             },
+            "homepage": "https://github.com/fnichol/names",
+            "id": "names 0.12.1-dev (git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f)",
+            "keywords": [
+                "name",
+                "random"
+            ],
+            "license": "MIT",
+            "license_file": null,
+            "links": null,
             "manifest_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/Cargo.toml",
             "metadata": {
                 "docs": {
@@ -4095,132 +4050,123 @@
                     }
                 }
             },
+            "name": "names",
             "publish": null,
+            "readme": "README.md",
+            "repository": "https://github.com/fnichol/names",
+            "rust_version": null,
+            "source": "git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "names",
+                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": true,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bin"
+                    ],
+                    "name": "names",
+                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/src/bin/names.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "version-numbers",
+                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/tests/version-numbers.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/git/checkouts/names-1a8772e9ce82304c/7605165/build.rs",
+                    "test": false
+                }
+            ],
+            "version": "0.12.1-dev"
+        },
+        {
             "authors": [
                 "Fletcher Nichol <fnichol@nichol.ca>"
             ],
             "categories": [
                 "command-line-utilities"
             ],
-            "keywords": [
-                "name",
-                "random"
-            ],
-            "readme": "README.md",
-            "repository": "https://github.com/fnichol/names",
-            "homepage": "https://github.com/fnichol/names",
-            "documentation": "https://docs.rs/names",
-            "edition": "2018",
-            "links": null,
             "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "names",
-            "version": "0.13.0",
-            "id": "names 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT",
-            "license_file": null,
-            "description": "A random name generator with names suitable for use in container\ninstances, project names, application instances, etc.\n",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "dependencies": [
                 {
-                    "name": "clap",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^3.1.5",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
                     "features": [
                         "derive"
                     ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rand",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.8.4",
                     "kind": null,
+                    "name": "clap",
+                    "optional": true,
+                    "registry": null,
                     "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "version-sync",
+                    "req": "^3.1.5",
                     "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9.1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rand",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.8.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "version-sync",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "names",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/names-0.13.0/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "bin"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "names",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/names-0.13.0/src/bin/names.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "version-numbers",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/names-0.13.0/tests/version-numbers.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "custom-build"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/names-0.13.0/build.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "A random name generator with names suitable for use in container\ninstances, project names, application instances, etc.\n",
+            "documentation": "https://docs.rs/names",
+            "edition": "2018",
             "features": {
                 "application": [
                     "clap"
@@ -4232,7 +4178,16 @@
                     "application"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/names-0.13.0/Cargo.toml",
+            "homepage": "https://github.com/fnichol/names",
+            "id": "names 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "name",
+                "random"
+            ],
+            "license": "MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/names-0.13.0/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -4240,100 +4195,137 @@
                     }
                 }
             },
+            "name": "names",
             "publish": null,
-            "authors": [
-                "Fletcher Nichol <fnichol@nichol.ca>"
-            ],
-            "categories": [
-                "command-line-utilities"
-            ],
-            "keywords": [
-                "name",
-                "random"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/fnichol/names",
-            "homepage": "https://github.com/fnichol/names",
-            "documentation": "https://docs.rs/names",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "os_str_bytes",
-            "version": "6.0.0",
-            "id": "os_str_bytes 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Utilities for converting between byte sequences and platform-native strings\n",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "memchr",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^2.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "print_bytes",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.5",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "uniquote",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^3.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "getrandom",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "os_str_bytes",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/os_str_bytes-6.0.0/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "names",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/names-0.13.0/src/lib.rs",
                     "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": true,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bin"
+                    ],
+                    "name": "names",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/names-0.13.0/src/bin/names.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "version-numbers",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/names-0.13.0/tests/version-numbers.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/names-0.13.0/build.rs",
+                    "test": false
                 }
             ],
+            "version": "0.13.0"
+        },
+        {
+            "authors": [
+                "dylni"
+            ],
+            "categories": [
+                "command-line-interface",
+                "development-tools::ffi",
+                "encoding",
+                "os",
+                "rust-patterns"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "memchr",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^2.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "print_bytes",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.5",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "uniquote",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^3.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "getrandom",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "Utilities for converting between byte sequences and platform-native strings\n",
+            "documentation": null,
+            "edition": "2018",
             "features": {
                 "default": [
                     "memchr",
@@ -4350,7 +4342,19 @@
                     "dep:uniquote"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/os_str_bytes-6.0.0/Cargo.toml",
+            "homepage": null,
+            "id": "os_str_bytes 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "bytes",
+                "osstr",
+                "osstring",
+                "path",
+                "windows"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/os_str_bytes-6.0.0/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -4366,58 +4370,43 @@
                     }
                 }
             },
+            "name": "os_str_bytes",
             "publish": null,
-            "authors": [
-                "dylni"
-            ],
-            "categories": [
-                "command-line-interface",
-                "development-tools::ffi",
-                "encoding",
-                "os",
-                "rust-patterns"
-            ],
-            "keywords": [
-                "bytes",
-                "osstr",
-                "osstring",
-                "path",
-                "windows"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/dylni/os_str_bytes",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": "1.52.0"
-        },
-        {
-            "name": "ppv-lite86",
-            "version": "0.2.16",
-            "id": "ppv-lite86 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "Implementation of the crypto-simd API for x86",
+            "rust_version": "1.52.0",
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "ppv-lite86",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/ppv-lite86-0.2.16/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "os_str_bytes",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/os_str_bytes-6.0.0/src/lib.rs",
                     "test": true
                 }
             ],
+            "version": "6.0.0"
+        },
+        {
+            "authors": [
+                "The CryptoCorrosion Contributors"
+            ],
+            "categories": [
+                "cryptography",
+                "no-std"
+            ],
+            "default_run": null,
+            "dependencies": [],
+            "description": "Implementation of the crypto-simd API for x86",
+            "documentation": null,
+            "edition": "2018",
             "features": {
                 "default": [
                     "std"
@@ -4426,210 +4415,153 @@
                 "simd": [],
                 "std": []
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/ppv-lite86-0.2.16/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "The CryptoCorrosion Contributors"
-            ],
-            "categories": [
-                "cryptography",
-                "no-std"
-            ],
+            "homepage": null,
+            "id": "ppv-lite86 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "crypto",
                 "simd",
                 "x86"
             ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/ppv-lite86-0.2.16/Cargo.toml",
+            "metadata": null,
+            "name": "ppv-lite86",
+            "publish": null,
             "readme": null,
             "repository": "https://github.com/cryptocorrosion/cryptocorrosion",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "ppv-lite86",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/ppv-lite86-0.2.16/src/lib.rs",
+                    "test": true
+                }
+            ],
+            "version": "0.2.16"
         },
         {
-            "name": "proc-macro-error",
-            "version": "1.0.4",
-            "id": "proc-macro-error 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Almost drop-in replacement to panics in proc-macros",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "CreepySkeleton <creepy-skeleton@yandex.ru>"
+            ],
+            "categories": [
+                "development-tools::procedural-macro-helpers"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "proc-macro-error-attr",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "=1.0.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "proc-macro2",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "quote",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "syn",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": null,
                     "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "serde_derive",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "=1.0.107",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "toml",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "=0.5.2",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "=0.5.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "trybuild",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.19",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "diff"
                     ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "version_check",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9",
-                    "kind": "build",
-                    "rename": null,
+                    "kind": "dev",
+                    "name": "trybuild",
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.19",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "build",
+                    "name": "version_check",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "proc-macro-error",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "ok",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/tests/ok.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "macro-errors",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/tests/macro-errors.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "runtime-errors",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/tests/runtime-errors.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "custom-build"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/build.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "Almost drop-in replacement to panics in proc-macros",
+            "documentation": null,
+            "edition": "2018",
             "features": {
                 "default": [
                     "syn-error"
@@ -4641,115 +4573,17 @@
                     "syn"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/Cargo.toml",
-            "metadata": {
-                "docs": {
-                    "rs": {
-                        "targets": [
-                            "x86_64-unknown-linux-gnu"
-                        ]
-                    }
-                }
-            },
-            "publish": null,
-            "authors": [
-                "CreepySkeleton <creepy-skeleton@yandex.ru>"
-            ],
-            "categories": [
-                "development-tools::procedural-macro-helpers"
-            ],
+            "homepage": null,
+            "id": "proc-macro-error 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "proc-macro",
                 "error",
                 "errors"
             ],
-            "readme": "README.md",
-            "repository": "https://gitlab.com/CreepySkeleton/proc-macro-error",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "proc-macro-error-attr",
-            "version": "1.0.4",
-            "id": "proc-macro-error-attr 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
             "license": "MIT OR Apache-2.0",
             "license_file": null,
-            "description": "Attribute macro for proc-macro-error crate",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "proc-macro2",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "quote",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "version_check",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9",
-                    "kind": "build",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
-            "targets": [
-                {
-                    "kind": [
-                        "proc-macro"
-                    ],
-                    "crate_types": [
-                        "proc-macro"
-                    ],
-                    "name": "proc-macro-error-attr",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-1.0.4/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "custom-build"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-1.0.4/build.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-1.0.4/Cargo.toml",
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-1.0.4/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -4759,155 +4593,226 @@
                     }
                 }
             },
+            "name": "proc-macro-error",
             "publish": null,
+            "readme": "README.md",
+            "repository": "https://gitlab.com/CreepySkeleton/proc-macro-error",
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "proc-macro-error",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-1.0.4/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "ok",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-1.0.4/tests/ok.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "macro-errors",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-1.0.4/tests/macro-errors.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "runtime-errors",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-1.0.4/tests/runtime-errors.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-1.0.4/build.rs",
+                    "test": false
+                }
+            ],
+            "version": "1.0.4"
+        },
+        {
             "authors": [
                 "CreepySkeleton <creepy-skeleton@yandex.ru>"
             ],
             "categories": [],
-            "keywords": [],
-            "readme": null,
-            "repository": "https://gitlab.com/CreepySkeleton/proc-macro-error",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2018",
-            "links": null,
             "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "proc-macro2",
-            "version": "1.0.36",
-            "id": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "A substitute implementation of the compiler's `proc_macro` API to decouple\ntoken-based libraries from the procedural macro use case.\n",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "dependencies": [
                 {
-                    "name": "unicode-xid",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [],
+                    "kind": null,
+                    "name": "proc-macro2",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "quote",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
                     "features": [],
+                    "kind": null,
+                    "name": "quote",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "build",
+                    "name": "version_check",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 }
             ],
+            "description": "Attribute macro for proc-macro-error crate",
+            "documentation": null,
+            "edition": "2018",
+            "features": {},
+            "homepage": null,
+            "id": "proc-macro-error-attr 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-attr-1.0.4/Cargo.toml",
+            "metadata": {
+                "docs": {
+                    "rs": {
+                        "targets": [
+                            "x86_64-unknown-linux-gnu"
+                        ]
+                    }
+                }
+            },
+            "name": "proc-macro-error-attr",
+            "publish": null,
+            "readme": null,
+            "repository": "https://gitlab.com/CreepySkeleton/proc-macro-error",
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
-                        "lib"
+                        "proc-macro"
                     ],
-                    "name": "proc-macro2",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "proc-macro"
+                    ],
+                    "name": "proc-macro-error-attr",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-attr-1.0.4/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "features",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/tests/features.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/tests/test.rs",
                     "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_fmt",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/tests/test_fmt.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "comments",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/tests/comments.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "marker",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/tests/marker.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
                     "kind": [
                         "custom-build"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
                     "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/build.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro-error-attr-1.0.4/build.rs",
                     "test": false
                 }
             ],
+            "version": "1.0.4"
+        },
+        {
+            "authors": [
+                "David Tolnay <dtolnay@gmail.com>",
+                "Alex Crichton <alex@alexcrichton.com>"
+            ],
+            "categories": [
+                "development-tools::procedural-macro-helpers"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "unicode-xid",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "quote",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                }
+            ],
+            "description": "A substitute implementation of the compiler's `proc_macro` API to decouple\ntoken-based libraries from the procedural macro use case.\n",
+            "documentation": "https://docs.rs/proc-macro2",
+            "edition": "2018",
             "features": {
                 "default": [
                     "proc-macro"
@@ -4916,7 +4821,15 @@
                 "proc-macro": [],
                 "span-locations": []
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.36/Cargo.toml",
+            "homepage": null,
+            "id": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "macros"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -4941,118 +4854,165 @@
                     ]
                 }
             },
+            "name": "proc-macro2",
             "publish": null,
+            "readme": "README.md",
+            "repository": "https://github.com/dtolnay/proc-macro2",
+            "rust_version": "1.31",
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "proc-macro2",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "features",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/tests/features.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/tests/test.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_fmt",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/tests/test_fmt.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "comments",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/tests/comments.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "marker",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/tests/marker.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.36/build.rs",
+                    "test": false
+                }
+            ],
+            "version": "1.0.36"
+        },
+        {
             "authors": [
-                "David Tolnay <dtolnay@gmail.com>",
-                "Alex Crichton <alex@alexcrichton.com>"
+                "David Tolnay <dtolnay@gmail.com>"
             ],
             "categories": [
                 "development-tools::procedural-macro-helpers"
             ],
-            "keywords": [
-                "macros"
-            ],
-            "readme": "README.md",
-            "repository": "https://github.com/dtolnay/proc-macro2",
-            "homepage": null,
-            "documentation": "https://docs.rs/proc-macro2",
-            "edition": "2018",
-            "links": null,
             "default_run": null,
-            "rust_version": "1.31"
-        },
-        {
-            "name": "quote",
-            "version": "1.0.15",
-            "id": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Quasi-quoting macro quote!(...)",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "dependencies": [
                 {
-                    "name": "proc-macro2",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.36",
+                    "features": [],
                     "kind": null,
-                    "rename": null,
+                    "name": "proc-macro2",
                     "optional": false,
-                    "uses_default_features": false,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.36",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "rustversion",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "trybuild",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.52",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "diff"
                     ],
+                    "kind": "dev",
+                    "name": "trybuild",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.52",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "quote",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/quote-1.0.15/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/quote-1.0.15/tests/test.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "compiletest",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/quote-1.0.15/tests/compiletest.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                }
-            ],
+            "description": "Quasi-quoting macro quote!(...)",
+            "documentation": "https://docs.rs/quote/",
+            "edition": "2018",
             "features": {
                 "default": [
                     "proc-macro"
@@ -5061,7 +5021,15 @@
                     "proc-macro2/proc-macro"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/quote-1.0.15/Cargo.toml",
+            "homepage": null,
+            "id": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "syn"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.15/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -5071,151 +5039,173 @@
                     }
                 }
             },
+            "name": "quote",
             "publish": null,
-            "authors": [
-                "David Tolnay <dtolnay@gmail.com>"
-            ],
-            "categories": [
-                "development-tools::procedural-macro-helpers"
-            ],
-            "keywords": [
-                "syn"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/dtolnay/quote",
-            "homepage": null,
-            "documentation": "https://docs.rs/quote/",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": "1.31"
-        },
-        {
-            "name": "rand",
-            "version": "0.8.5",
-            "id": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Random number generators and other randomness functionality.\n",
+            "rust_version": "1.31",
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "log",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.4.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "packed_simd_2",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.7",
-                    "kind": null,
-                    "rename": "packed_simd",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [
-                        "into_bits"
-                    ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rand_chacha",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rand_core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.6.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.103",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [
-                        "derive"
-                    ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "bincode",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.2.1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rand_pcg",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "libc",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2.22",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": "cfg(unix)",
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "rand",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/rand-0.8.5/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "quote",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.15/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.15/tests/test.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "compiletest",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.15/tests/compiletest.rs",
                     "test": true
                 }
             ],
+            "version": "1.0.15"
+        },
+        {
+            "authors": [
+                "The Rand Project Developers",
+                "The Rust Project Developers"
+            ],
+            "categories": [
+                "algorithms",
+                "no-std"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "log",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.4.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [
+                        "into_bits"
+                    ],
+                    "kind": null,
+                    "name": "packed_simd_2",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "packed_simd",
+                    "req": "^0.3.7",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rand_chacha",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rand_core",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.6.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [
+                        "derive"
+                    ],
+                    "kind": null,
+                    "name": "serde",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0.103",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "bincode",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.2.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "rand_pcg",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "libc",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2.22",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": "cfg(unix)",
+                    "uses_default_features": false
+                }
+            ],
+            "description": "Random number generators and other randomness functionality.\n",
+            "documentation": "https://docs.rs/rand",
+            "edition": "2018",
             "features": {
                 "alloc": [
                     "rand_core/alloc"
@@ -5263,7 +5253,16 @@
                     "rand_chacha"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/rand-0.8.5/Cargo.toml",
+            "homepage": "https://rust-random.github.io/book",
+            "id": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "random",
+                "rng"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/rand-0.8.5/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -5281,106 +5280,98 @@
                     ]
                 }
             },
+            "name": "rand",
             "publish": null,
+            "readme": "README.md",
+            "repository": "https://github.com/rust-random/rand",
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "rand",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/rand-0.8.5/src/lib.rs",
+                    "test": true
+                }
+            ],
+            "version": "0.8.5"
+        },
+        {
             "authors": [
                 "The Rand Project Developers",
-                "The Rust Project Developers"
+                "The Rust Project Developers",
+                "The CryptoCorrosion Contributors"
             ],
             "categories": [
                 "algorithms",
                 "no-std"
             ],
-            "keywords": [
-                "random",
-                "rng"
-            ],
-            "readme": "README.md",
-            "repository": "https://github.com/rust-random/rand",
-            "homepage": "https://rust-random.github.io/book",
-            "documentation": "https://docs.rs/rand",
-            "edition": "2018",
-            "links": null,
             "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "rand_chacha",
-            "version": "0.3.1",
-            "id": "rand_chacha 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "ChaCha random number generator\n",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
             "dependencies": [
                 {
-                    "name": "ppv-lite86",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2.8",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
                     "features": [
                         "simd"
                     ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rand_core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.6.0",
                     "kind": null,
-                    "rename": null,
+                    "name": "ppv-lite86",
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2.8",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
+                    "features": [],
                     "kind": null,
+                    "name": "rand_core",
+                    "optional": false,
+                    "registry": null,
                     "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
+                    "req": "^0.6.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
                     "features": [
                         "derive"
                     ],
+                    "kind": null,
+                    "name": "serde",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "serde_json",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [],
+                    "kind": "dev",
+                    "name": "serde_json",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "rand_chacha",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/rand_chacha-0.3.1/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                }
-            ],
+            "description": "ChaCha random number generator\n",
+            "documentation": "https://docs.rs/rand_chacha",
+            "edition": "2018",
             "features": {
                 "default": [
                     "std"
@@ -5396,84 +5387,83 @@
                     "ppv-lite86/std"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/rand_chacha-0.3.1/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "The Rand Project Developers",
-                "The Rust Project Developers",
-                "The CryptoCorrosion Contributors"
-            ],
-            "categories": [
-                "algorithms",
-                "no-std"
-            ],
+            "homepage": "https://rust-random.github.io/book",
+            "id": "rand_chacha 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "random",
                 "rng",
                 "chacha"
             ],
-            "readme": "README.md",
-            "repository": "https://github.com/rust-random/rand",
-            "homepage": "https://rust-random.github.io/book",
-            "documentation": "https://docs.rs/rand_chacha",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "rand_core",
-            "version": "0.6.3",
-            "id": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
             "license": "MIT OR Apache-2.0",
             "license_file": null,
-            "description": "Core random number generator traits and tools for implementation.\n",
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/rand_chacha-0.3.1/Cargo.toml",
+            "metadata": null,
+            "name": "rand_chacha",
+            "publish": null,
+            "readme": "README.md",
+            "repository": "https://github.com/rust-random/rand",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "getrandom",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [
-                        "derive"
-                    ],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "rand_core",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/rand_core-0.6.3/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "rand_chacha",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/rand_chacha-0.3.1/src/lib.rs",
                     "test": true
                 }
             ],
+            "version": "0.3.1"
+        },
+        {
+            "authors": [
+                "The Rand Project Developers",
+                "The Rust Project Developers"
+            ],
+            "categories": [
+                "algorithms",
+                "no-std"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "getrandom",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [
+                        "derive"
+                    ],
+                    "kind": null,
+                    "name": "serde",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "Core random number generator traits and tools for implementation.\n",
+            "documentation": "https://docs.rs/rand_core",
+            "edition": "2018",
             "features": {
                 "alloc": [],
                 "getrandom": [
@@ -5491,7 +5481,16 @@
                     "getrandom/std"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/rand_core-0.6.3/Cargo.toml",
+            "homepage": "https://rust-random.github.io/book",
+            "id": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "random",
+                "rng"
+            ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/rand_core-0.6.3/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -5506,89 +5505,43 @@
                     "all-features": true
                 }
             },
+            "name": "rand_core",
             "publish": null,
-            "authors": [
-                "The Rand Project Developers",
-                "The Rust Project Developers"
-            ],
-            "categories": [
-                "algorithms",
-                "no-std"
-            ],
-            "keywords": [
-                "random",
-                "rng"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/rust-random/rand",
-            "homepage": "https://rust-random.github.io/book",
-            "documentation": "https://docs.rs/rand_core",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "strsim",
-            "version": "0.10.0",
-            "id": "strsim 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT",
-            "license_file": null,
-            "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein,\nOSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and S\u00f8rensen-Dice.\n",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "strsim",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/strsim-0.10.0/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
-                    "test": true
-                },
-                {
+                    "edition": "2018",
                     "kind": [
-                        "test"
+                        "lib"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "lib",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/strsim-0.10.0/tests/lib.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "rand_core",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/rand_core-0.6.3/src/lib.rs",
                     "test": true
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "benches",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/strsim-0.10.0/benches/benches.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
                 }
             ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/strsim-0.10.0/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "0.6.3"
+        },
+        {
             "authors": [
                 "Danny Guo <danny@dannyguo.com>"
             ],
             "categories": [],
+            "default_run": null,
+            "dependencies": [],
+            "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein,\nOSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and S\u00f8rensen-Dice.\n",
+            "documentation": "https://docs.rs/strsim/",
+            "edition": "2015",
+            "features": {},
+            "homepage": "https://github.com/dguo/strsim-rs",
+            "id": "strsim 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "string",
                 "similarity",
@@ -5596,651 +5549,258 @@
                 "Levenshtein",
                 "Jaro"
             ],
+            "license": "MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/strsim-0.10.0/Cargo.toml",
+            "metadata": null,
+            "name": "strsim",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/dguo/strsim-rs",
-            "homepage": "https://github.com/dguo/strsim-rs",
-            "documentation": "https://docs.rs/strsim/",
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "strsim",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/strsim-0.10.0/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "lib",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/strsim-0.10.0/tests/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "benches",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/strsim-0.10.0/benches/benches.rs",
+                    "test": false
+                }
+            ],
+            "version": "0.10.0"
         },
         {
-            "name": "syn",
-            "version": "1.0.86",
-            "id": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Parser for Rust source code",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "David Tolnay <dtolnay@gmail.com>"
+            ],
+            "categories": [
+                "development-tools::procedural-macro-helpers"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "proc-macro2",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.0.32",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": false,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
+                    "features": [],
+                    "kind": null,
                     "name": "quote",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": null,
                     "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": false
                 },
                 {
-                    "name": "unicode-xid",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2",
+                    "features": [],
                     "kind": null,
-                    "rename": null,
+                    "name": "unicode-xid",
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "anyhow",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "automod",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "flate2",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "insta",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "rayon",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "ref-cast",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "regex",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
                     "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
-                    "name": "reqwest",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.11",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "blocking"
                     ],
+                    "kind": "dev",
+                    "name": "reqwest",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.11",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "syn-test-suite",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "tar",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^0.4.16",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
                 },
                 {
+                    "features": [],
+                    "kind": "dev",
                     "name": "termcolor",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
                     "req": "^1.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "walkdir",
                     "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^2.1",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
                     "target": null,
-                    "registry": null
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "walkdir",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^2.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "syn",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_should_parse",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_should_parse.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_visibility",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_visibility.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_stmt",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_stmt.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_round_trip",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_round_trip.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_size",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_size.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_shebang",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_shebang.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_pat",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_pat.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_receiver",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_receiver.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_precedence",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_precedence.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_lit",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_lit.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "regression",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/regression.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_parse_stream",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_parse_stream.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_grouping",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_grouping.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_ident",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_ident.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_iterators",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_iterators.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_parse_buffer",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_parse_buffer.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_asyncness",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_asyncness.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_token_trees",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_token_trees.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_ty",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_ty.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "zzz_stable",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/zzz_stable.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_meta",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_meta.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_expr",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_expr.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_item",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_item.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_path",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_path.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_derive_input",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_derive_input.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_generics",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_generics.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "test_attribute",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/tests/test_attribute.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "rust",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/benches/rust.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "full",
-                        "parsing"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "file",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/benches/file.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "full",
-                        "parsing"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                },
-                {
-                    "kind": [
-                        "custom-build"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/build.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
-                }
-            ],
+            "description": "Parser for Rust source code",
+            "documentation": "https://docs.rs/syn",
+            "edition": "2018",
             "features": {
                 "clone-impls": [],
                 "default": [
@@ -6271,7 +5831,13 @@
                 "visit": [],
                 "visit-mut": []
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/syn-1.0.86/Cargo.toml",
+            "homepage": null,
+            "id": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -6295,69 +5861,484 @@
                     ]
                 }
             },
+            "name": "syn",
             "publish": null,
-            "authors": [
-                "David Tolnay <dtolnay@gmail.com>"
-            ],
-            "categories": [
-                "development-tools::procedural-macro-helpers"
-            ],
-            "keywords": [],
             "readme": "README.md",
             "repository": "https://github.com/dtolnay/syn",
-            "homepage": null,
-            "documentation": "https://docs.rs/syn",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": "1.31"
-        },
-        {
-            "name": "termcolor",
-            "version": "1.1.3",
-            "id": "termcolor 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Unlicense OR MIT",
-            "license_file": null,
-            "description": "A simple cross platform library for writing colored text to a terminal.\n",
+            "rust_version": "1.31",
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "winapi-util",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.3",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": "cfg(windows)",
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "termcolor",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/termcolor-1.1.3/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "syn",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/src/lib.rs",
                     "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_should_parse",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_should_parse.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_visibility",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_visibility.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_stmt",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_stmt.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_round_trip",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_round_trip.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_size",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_size.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_shebang",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_shebang.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_pat",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_pat.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_receiver",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_receiver.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_precedence",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_precedence.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_lit",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_lit.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "regression",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/regression.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_parse_stream",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_parse_stream.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_grouping",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_grouping.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_ident",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_ident.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_iterators",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_iterators.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_parse_buffer",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_parse_buffer.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_asyncness",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_asyncness.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_token_trees",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_token_trees.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_ty",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_ty.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "zzz_stable",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/zzz_stable.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_meta",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_meta.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_expr",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_expr.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_item",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_item.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_path",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_path.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_derive_input",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_derive_input.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_generics",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_generics.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "test_attribute",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/tests/test_attribute.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "rust",
+                    "required-features": [
+                        "full",
+                        "parsing"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/benches/rust.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "file",
+                    "required-features": [
+                        "full",
+                        "parsing"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/benches/file.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.86/build.rs",
+                    "test": false
                 }
             ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/termcolor-1.1.3/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "1.0.86"
+        },
+        {
             "authors": [
                 "Andrew Gallant <jamslam@gmail.com>"
             ],
             "categories": [],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "winapi-util",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": "cfg(windows)",
+                    "uses_default_features": true
+                }
+            ],
+            "description": "A simple cross platform library for writing colored text to a terminal.\n",
+            "documentation": "https://docs.rs/termcolor",
+            "edition": "2018",
+            "features": {},
+            "homepage": "https://github.com/BurntSushi/termcolor",
+            "id": "termcolor 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "windows",
                 "win",
@@ -6365,253 +6346,171 @@
                 "ansi",
                 "console"
             ],
+            "license": "Unlicense OR MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/termcolor-1.1.3/Cargo.toml",
+            "metadata": null,
+            "name": "termcolor",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/BurntSushi/termcolor",
-            "homepage": "https://github.com/BurntSushi/termcolor",
-            "documentation": "https://docs.rs/termcolor",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "termcolor",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/termcolor-1.1.3/src/lib.rs",
+                    "test": true
+                }
+            ],
+            "version": "1.1.3"
         },
         {
-            "name": "textwrap",
-            "version": "0.15.0",
-            "id": "textwrap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT",
-            "license_file": null,
-            "description": "Powerful library for word wrapping, indenting, and dedenting strings",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "Martin Geisler <martin@geisler.net>"
+            ],
+            "categories": [
+                "text-processing",
+                "command-line-interface"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
-                    "name": "hyphenation",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.8.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
                     "features": [
                         "embed_en-us"
                     ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "smawk",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.1",
                     "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "terminal_size",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.17",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "unicode-linebreak",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.2",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "unicode-width",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1.9",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "criterion",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3.5",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "lipsum",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.8.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "unic-emoji-char",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9.0",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "version-sync",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9.4",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "termion",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.5.6",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": "cfg(unix)",
-                    "registry": null
-                }
-            ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "textwrap",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                },
-                {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
                     "name": "hyphenation",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/examples/hyphenation.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "hyphenation"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.8.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 },
                 {
-                    "kind": [
-                        "example"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "termwidth",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/examples/termwidth.rs",
-                    "edition": "2018",
-                    "required-features": [
-                        "terminal_size"
-                    ],
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
+                    "features": [],
+                    "kind": null,
+                    "name": "smawk",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "version-numbers",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/tests/version-numbers.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
+                    "features": [],
+                    "kind": null,
+                    "name": "terminal_size",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.17",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 },
                 {
-                    "kind": [
-                        "test"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "indent",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/tests/indent.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": true
+                    "features": [],
+                    "kind": null,
+                    "name": "unicode-linebreak",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 },
                 {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "linear",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/benches/linear.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
+                    "features": [],
+                    "kind": null,
+                    "name": "unicode-width",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
                 },
                 {
-                    "kind": [
-                        "bench"
-                    ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "indent",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/benches/indent.rs",
-                    "edition": "2018",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
+                    "features": [],
+                    "kind": "dev",
+                    "name": "criterion",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3.5",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "lipsum",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.8.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "unic-emoji-char",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "version-sync",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.9.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "termion",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.5.6",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": "cfg(unix)",
+                    "uses_default_features": true
                 }
             ],
+            "description": "Powerful library for word wrapping, indenting, and dedenting strings",
+            "documentation": "https://docs.rs/textwrap/",
+            "edition": "2018",
             "features": {
                 "default": [
                     "unicode-linebreak",
@@ -6634,22 +6533,8 @@
                     "dep:unicode-width"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/textwrap-0.15.0/Cargo.toml",
-            "metadata": {
-                "docs": {
-                    "rs": {
-                        "all-features": true
-                    }
-                }
-            },
-            "publish": null,
-            "authors": [
-                "Martin Geisler <martin@geisler.net>"
-            ],
-            "categories": [
-                "text-processing",
-                "command-line-interface"
-            ],
+            "homepage": null,
+            "id": "textwrap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "text",
                 "formatting",
@@ -6657,299 +6542,389 @@
                 "typesetting",
                 "hyphenation"
             ],
+            "license": "MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/Cargo.toml",
+            "metadata": {
+                "docs": {
+                    "rs": {
+                        "all-features": true
+                    }
+                }
+            },
+            "name": "textwrap",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/mgeisler/textwrap",
-            "homepage": null,
-            "documentation": "https://docs.rs/textwrap/",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "unicode-xid",
-            "version": "0.2.2",
-            "id": "unicode-xid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT OR Apache-2.0",
-            "license_file": null,
-            "description": "Determine whether characters have the XID_Start\nor XID_Continue properties according to\nUnicode Standard Annex #31.\n",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "criterion",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "unicode-xid",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.2.2/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "textwrap",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/src/lib.rs",
                     "test": true
                 },
                 {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "hyphenation",
+                    "required-features": [
+                        "hyphenation"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/examples/hyphenation.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "example"
+                    ],
+                    "name": "termwidth",
+                    "required-features": [
+                        "terminal_size"
+                    ],
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/examples/termwidth.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
                     "kind": [
                         "test"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "exhaustive_tests",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.2.2/tests/exhaustive_tests.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
+                    "name": "version-numbers",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/tests/version-numbers.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "bench"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "xid",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.2.2/benches/xid.rs",
-                    "edition": "2015",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "indent",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/tests/indent.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "linear",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/benches/linear.rs",
+                    "test": false
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "indent",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/textwrap-0.15.0/benches/indent.rs",
                     "test": false
                 }
             ],
-            "features": {
-                "bench": [],
-                "default": [],
-                "no_std": []
-            },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.2.2/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "0.15.0"
+        },
+        {
             "authors": [
                 "erick.tryzelaar <erick.tryzelaar@gmail.com>",
                 "kwantam <kwantam@gmail.com>",
                 "Manish Goregaokar <manishsmail@gmail.com>"
             ],
             "categories": [],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "criterion",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "Determine whether characters have the XID_Start\nor XID_Continue properties according to\nUnicode Standard Annex #31.\n",
+            "documentation": "https://unicode-rs.github.io/unicode-xid",
+            "edition": "2015",
+            "features": {
+                "bench": [],
+                "default": [],
+                "no_std": []
+            },
+            "homepage": "https://github.com/unicode-rs/unicode-xid",
+            "id": "unicode-xid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "text",
                 "unicode",
                 "xid"
             ],
+            "license": "MIT OR Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/unicode-xid-0.2.2/Cargo.toml",
+            "metadata": null,
+            "name": "unicode-xid",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/unicode-rs/unicode-xid",
-            "homepage": "https://github.com/unicode-rs/unicode-xid",
-            "documentation": "https://unicode-rs.github.io/unicode-xid",
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "value-bag",
-            "version": "1.0.0-alpha.7",
-            "id": "value-bag 1.0.0-alpha.7 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Apache-2.0 OR MIT",
-            "license_file": null,
-            "description": "Anonymous structured values",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "ctor",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "erased-serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3",
-                    "kind": null,
-                    "rename": "erased-serde1",
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde_fmt",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": "serde1_fmt",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": null,
-                    "rename": "serde1_lib",
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "sval",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0-alpha.5",
-                    "kind": null,
-                    "rename": "sval1_lib",
-                    "optional": true,
-                    "uses_default_features": false,
-                    "features": [
-                        "fmt"
-                    ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde_json",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": "dev",
-                    "rename": "serde1_json",
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "serde_test",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1",
-                    "kind": "dev",
-                    "rename": "serde1_test",
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "sval_json",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0-alpha.5",
-                    "kind": "dev",
-                    "rename": "sval1_json",
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [
-                        "std"
-                    ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "sval",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0.0-alpha.5",
-                    "kind": "dev",
-                    "rename": "sval1_lib",
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [
-                        "test"
-                    ],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "wasm-bindgen",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.2",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "wasm-bindgen-test",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3",
-                    "kind": "dev",
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "version_check",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.9",
-                    "kind": "build",
-                    "rename": "rustc",
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "value-bag",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/value-bag-1.0.0-alpha.7/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "unicode-xid",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/unicode-xid-0.2.2/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "custom-build"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/value-bag-1.0.0-alpha.7/build.rs",
-                    "edition": "2018",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "test"
+                    ],
+                    "name": "exhaustive_tests",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/unicode-xid-0.2.2/tests/exhaustive_tests.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "bench"
+                    ],
+                    "name": "xid",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/unicode-xid-0.2.2/benches/xid.rs",
                     "test": false
                 }
             ],
+            "version": "0.2.2"
+        },
+        {
+            "authors": [
+                "Ashley Mannix <ashleymannix@live.com.au>"
+            ],
+            "categories": [
+                "encoding",
+                "no-std"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "ctor",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "erased-serde",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "erased-serde1",
+                    "req": "^0.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "serde_fmt",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "serde1_fmt",
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "serde",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "serde1_lib",
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [
+                        "fmt"
+                    ],
+                    "kind": null,
+                    "name": "sval",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "sval1_lib",
+                    "req": "^1.0.0-alpha.5",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": false
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "serde_json",
+                    "optional": false,
+                    "registry": null,
+                    "rename": "serde1_json",
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "serde_test",
+                    "optional": false,
+                    "registry": null,
+                    "rename": "serde1_test",
+                    "req": "^1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [
+                        "std"
+                    ],
+                    "kind": "dev",
+                    "name": "sval_json",
+                    "optional": false,
+                    "registry": null,
+                    "rename": "sval1_json",
+                    "req": "^1.0.0-alpha.5",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [
+                        "test"
+                    ],
+                    "kind": "dev",
+                    "name": "sval",
+                    "optional": false,
+                    "registry": null,
+                    "rename": "sval1_lib",
+                    "req": "^1.0.0-alpha.5",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "wasm-bindgen",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.2",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "dev",
+                    "name": "wasm-bindgen-test",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": "build",
+                    "name": "version_check",
+                    "optional": false,
+                    "registry": null,
+                    "rename": "rustc",
+                    "req": "^0.9",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "Anonymous structured values",
+            "documentation": "https://docs.rs/value-bag",
+            "edition": "2018",
             "features": {
                 "erased-serde1": [
                     "dep:erased-serde1"
@@ -6988,7 +6963,16 @@
                     "std"
                 ]
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/value-bag-1.0.0-alpha.7/Cargo.toml",
+            "homepage": null,
+            "id": "value-bag 1.0.0-alpha.7 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "serialization",
+                "no_std"
+            ],
+            "license": "Apache-2.0 OR MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/value-bag-1.0.0-alpha.7/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -7002,137 +6986,142 @@
                     }
                 }
             },
+            "name": "value-bag",
             "publish": null,
-            "authors": [
-                "Ashley Mannix <ashleymannix@live.com.au>"
-            ],
-            "categories": [
-                "encoding",
-                "no-std"
-            ],
-            "keywords": [
-                "serialization",
-                "no_std"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/sval-rs/value-bag",
-            "homepage": null,
-            "documentation": "https://docs.rs/value-bag",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "version_check",
-            "version": "0.9.4",
-            "id": "version_check 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "Tiny crate to check the version of the installed/running rustc.",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "version_check",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/version_check-0.9.4/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2018",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "value-bag",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/value-bag-1.0.0-alpha.7/src/lib.rs",
                     "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2018",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/value-bag-1.0.0-alpha.7/build.rs",
+                    "test": false
                 }
             ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/version_check-0.9.4/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "1.0.0-alpha.7"
+        },
+        {
             "authors": [
                 "Sergio Benitez <sb@sergio.bz>"
             ],
             "categories": [],
+            "default_run": null,
+            "dependencies": [],
+            "description": "Tiny crate to check the version of the installed/running rustc.",
+            "documentation": "https://docs.rs/version_check/",
+            "edition": "2015",
+            "features": {},
+            "homepage": null,
+            "id": "version_check 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "version",
                 "rustc",
                 "minimum",
                 "check"
             ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/version_check-0.9.4/Cargo.toml",
+            "metadata": null,
+            "name": "version_check",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/SergioBenitez/version_check",
-            "homepage": null,
-            "documentation": "https://docs.rs/version_check/",
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "wasi",
-            "version": "0.10.2+wasi-snapshot-preview1",
-            "id": "wasi 0.10.2+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT",
-            "license_file": null,
-            "description": "Experimental WASI API bindings for Rust",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "compiler_builtins",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.1",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-core",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": "core",
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                },
-                {
-                    "name": "rustc-std-workspace-alloc",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^1.0",
-                    "kind": null,
-                    "rename": null,
-                    "optional": true,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": null,
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "wasi",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/wasi-0.10.2+wasi-snapshot-preview1/src/lib.rs",
-                    "edition": "2018",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "version_check",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/version_check-0.9.4/src/lib.rs",
                     "test": true
                 }
             ],
+            "version": "0.9.4"
+        },
+        {
+            "authors": [
+                "The Cranelift Project Developers"
+            ],
+            "categories": [
+                "no-std",
+                "wasm"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "compiler_builtins",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.1",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-core",
+                    "optional": true,
+                    "registry": null,
+                    "rename": "core",
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "rustc-std-workspace-alloc",
+                    "optional": true,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^1.0",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": null,
+                    "uses_default_features": true
+                }
+            ],
+            "description": "Experimental WASI API bindings for Rust",
+            "documentation": "https://docs.rs/wasi",
+            "edition": "2018",
             "features": {
                 "compiler_builtins": [
                     "dep:compiler_builtins"
@@ -7153,93 +7142,80 @@
                 ],
                 "std": []
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/wasi-0.10.2+wasi-snapshot-preview1/Cargo.toml",
-            "metadata": null,
-            "publish": null,
-            "authors": [
-                "The Cranelift Project Developers"
-            ],
-            "categories": [
-                "no-std",
-                "wasm"
-            ],
+            "homepage": null,
+            "id": "wasi 0.10.2+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "webassembly",
                 "wasm"
             ],
+            "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/wasi-0.10.2+wasi-snapshot-preview1/Cargo.toml",
+            "metadata": null,
+            "name": "wasi",
+            "publish": null,
             "readme": "README.md",
             "repository": "https://github.com/bytecodealliance/wasi",
-            "homepage": null,
-            "documentation": "https://docs.rs/wasi",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "winapi",
-            "version": "0.3.9",
-            "id": "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "Raw FFI bindings for all of Windows API.",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [
-                {
-                    "name": "winapi-i686-pc-windows-gnu",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": "i686-pc-windows-gnu",
-                    "registry": null
-                },
-                {
-                    "name": "winapi-x86_64-pc-windows-gnu",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.4",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
-                    "features": [],
-                    "target": "x86_64-pc-windows-gnu",
-                    "registry": null
-                }
-            ],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "winapi",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-0.3.9/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
-                    "test": true
-                },
-                {
+                    "edition": "2018",
                     "kind": [
-                        "custom-build"
+                        "lib"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-0.3.9/build.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
+                    "name": "wasi",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/wasi-0.10.2+wasi-snapshot-preview1/src/lib.rs",
+                    "test": true
                 }
             ],
+            "version": "0.10.2+wasi-snapshot-preview1"
+        },
+        {
+            "authors": [
+                "Peter Atashian <retep998@gmail.com>"
+            ],
+            "categories": [
+                "external-ffi-bindings",
+                "no-std",
+                "os::windows-apis"
+            ],
+            "default_run": null,
+            "dependencies": [
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "winapi-i686-pc-windows-gnu",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": "i686-pc-windows-gnu",
+                    "uses_default_features": true
+                },
+                {
+                    "features": [],
+                    "kind": null,
+                    "name": "winapi-x86_64-pc-windows-gnu",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.4",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
+                    "target": "x86_64-pc-windows-gnu",
+                    "uses_default_features": true
+                }
+            ],
+            "description": "Raw FFI bindings for all of Windows API.",
+            "documentation": "https://docs.rs/winapi/",
+            "edition": "2015",
             "features": {
                 "accctrl": [],
                 "aclapi": [],
@@ -7643,7 +7619,19 @@
                 "wtypesbase": [],
                 "xinput": []
             },
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-0.3.9/Cargo.toml",
+            "homepage": null,
+            "id": "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "windows",
+                "ffi",
+                "win32",
+                "com",
+                "directx"
+            ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-0.3.9/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -7661,107 +7649,114 @@
                     }
                 }
             },
+            "name": "winapi",
             "publish": null,
-            "authors": [
-                "Peter Atashian <retep998@gmail.com>"
-            ],
-            "categories": [
-                "external-ffi-bindings",
-                "no-std",
-                "os::windows-apis"
-            ],
-            "keywords": [
-                "windows",
-                "ffi",
-                "win32",
-                "com",
-                "directx"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/retep998/winapi-rs",
-            "homepage": null,
-            "documentation": "https://docs.rs/winapi/",
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "winapi-i686-pc-windows-gnu",
-            "version": "0.4.0",
-            "id": "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "winapi-i686-pc-windows-gnu",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-i686-pc-windows-gnu-0.4.0/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "winapi",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-0.3.9/src/lib.rs",
                     "test": true
                 },
                 {
-                    "kind": [
-                        "custom-build"
-                    ],
                     "crate_types": [
                         "bin"
                     ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-i686-pc-windows-gnu-0.4.0/build.rs",
-                    "edition": "2015",
                     "doc": false,
                     "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-0.3.9/build.rs",
                     "test": false
                 }
             ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-i686-pc-windows-gnu-0.4.0/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "0.3.9"
+        },
+        {
             "authors": [
                 "Peter Atashian <retep998@gmail.com>"
             ],
             "categories": [],
+            "default_run": null,
+            "dependencies": [],
+            "description": "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.",
+            "documentation": null,
+            "edition": "2015",
+            "features": {},
+            "homepage": null,
+            "id": "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "windows"
             ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-i686-pc-windows-gnu-0.4.0/Cargo.toml",
+            "metadata": null,
+            "name": "winapi-i686-pc-windows-gnu",
+            "publish": null,
             "readme": null,
             "repository": "https://github.com/retep998/winapi-rs",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "winapi-i686-pc-windows-gnu",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-i686-pc-windows-gnu-0.4.0/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-i686-pc-windows-gnu-0.4.0/build.rs",
+                    "test": false
+                }
+            ],
+            "version": "0.4.0"
         },
         {
-            "name": "winapi-util",
-            "version": "0.1.5",
-            "id": "winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "Unlicense/MIT",
-            "license_file": null,
-            "description": "A dumping ground for high level safe wrappers over winapi.",
-            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "authors": [
+                "Andrew Gallant <jamslam@gmail.com>"
+            ],
+            "categories": [
+                "os::windows-apis",
+                "external-ffi-bindings"
+            ],
+            "default_run": null,
             "dependencies": [
                 {
-                    "name": "winapi",
-                    "source": "registry+https://github.com/rust-lang/crates.io-index",
-                    "req": "^0.3",
-                    "kind": null,
-                    "rename": null,
-                    "optional": false,
-                    "uses_default_features": true,
                     "features": [
                         "std",
                         "consoleapi",
@@ -7774,28 +7769,33 @@
                         "winerror",
                         "winnt"
                     ],
+                    "kind": null,
+                    "name": "winapi",
+                    "optional": false,
+                    "registry": null,
+                    "rename": null,
+                    "req": "^0.3",
+                    "source": "registry+https://github.com/rust-lang/crates.io-index",
                     "target": "cfg(windows)",
-                    "registry": null
+                    "uses_default_features": true
                 }
             ],
-            "targets": [
-                {
-                    "kind": [
-                        "lib"
-                    ],
-                    "crate_types": [
-                        "lib"
-                    ],
-                    "name": "winapi-util",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-util-0.1.5/src/lib.rs",
-                    "edition": "2018",
-                    "doc": true,
-                    "doctest": true,
-                    "test": true
-                }
-            ],
+            "description": "A dumping ground for high level safe wrappers over winapi.",
+            "documentation": "https://docs.rs/winapi-util",
+            "edition": "2018",
             "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-util-0.1.5/Cargo.toml",
+            "homepage": "https://github.com/BurntSushi/winapi-util",
+            "id": "winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+            "keywords": [
+                "windows",
+                "winapi",
+                "util",
+                "win"
+            ],
+            "license": "Unlicense/MIT",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-util-0.1.5/Cargo.toml",
             "metadata": {
                 "docs": {
                     "rs": {
@@ -7805,96 +7805,93 @@
                     }
                 }
             },
+            "name": "winapi-util",
             "publish": null,
-            "authors": [
-                "Andrew Gallant <jamslam@gmail.com>"
-            ],
-            "categories": [
-                "os::windows-apis",
-                "external-ffi-bindings"
-            ],
-            "keywords": [
-                "windows",
-                "winapi",
-                "util",
-                "win"
-            ],
             "readme": "README.md",
             "repository": "https://github.com/BurntSushi/winapi-util",
-            "homepage": "https://github.com/BurntSushi/winapi-util",
-            "documentation": "https://docs.rs/winapi-util",
-            "edition": "2018",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
-        },
-        {
-            "name": "winapi-x86_64-pc-windows-gnu",
-            "version": "0.4.0",
-            "id": "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-            "license": "MIT/Apache-2.0",
-            "license_file": null,
-            "description": "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.",
+            "rust_version": null,
             "source": "registry+https://github.com/rust-lang/crates.io-index",
-            "dependencies": [],
             "targets": [
                 {
-                    "kind": [
-                        "lib"
-                    ],
                     "crate_types": [
                         "lib"
                     ],
-                    "name": "winapi-x86_64-pc-windows-gnu",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-x86_64-pc-windows-gnu-0.4.0/src/lib.rs",
-                    "edition": "2015",
                     "doc": true,
                     "doctest": true,
-                    "test": true
-                },
-                {
+                    "edition": "2018",
                     "kind": [
-                        "custom-build"
+                        "lib"
                     ],
-                    "crate_types": [
-                        "bin"
-                    ],
-                    "name": "build-script-build",
-                    "src_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-x86_64-pc-windows-gnu-0.4.0/build.rs",
-                    "edition": "2015",
-                    "doc": false,
-                    "doctest": false,
-                    "test": false
+                    "name": "winapi-util",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-util-0.1.5/src/lib.rs",
+                    "test": true
                 }
             ],
-            "features": {},
-            "manifest_path": "{CARGO_HOME}/registry/src/github.com-1ecc6299db9ec823/winapi-x86_64-pc-windows-gnu-0.4.0/Cargo.toml",
-            "metadata": null,
-            "publish": null,
+            "version": "0.1.5"
+        },
+        {
             "authors": [
                 "Peter Atashian <retep998@gmail.com>"
             ],
             "categories": [],
+            "default_run": null,
+            "dependencies": [],
+            "description": "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.",
+            "documentation": null,
+            "edition": "2015",
+            "features": {},
+            "homepage": null,
+            "id": "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
             "keywords": [
                 "windows"
             ],
+            "license": "MIT/Apache-2.0",
+            "license_file": null,
+            "links": null,
+            "manifest_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-x86_64-pc-windows-gnu-0.4.0/Cargo.toml",
+            "metadata": null,
+            "name": "winapi-x86_64-pc-windows-gnu",
+            "publish": null,
             "readme": null,
             "repository": "https://github.com/retep998/winapi-rs",
-            "homepage": null,
-            "documentation": null,
-            "edition": "2015",
-            "links": null,
-            "default_run": null,
-            "rust_version": null
+            "rust_version": null,
+            "source": "registry+https://github.com/rust-lang/crates.io-index",
+            "targets": [
+                {
+                    "crate_types": [
+                        "lib"
+                    ],
+                    "doc": true,
+                    "doctest": true,
+                    "edition": "2015",
+                    "kind": [
+                        "lib"
+                    ],
+                    "name": "winapi-x86_64-pc-windows-gnu",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-x86_64-pc-windows-gnu-0.4.0/src/lib.rs",
+                    "test": true
+                },
+                {
+                    "crate_types": [
+                        "bin"
+                    ],
+                    "doc": false,
+                    "doctest": false,
+                    "edition": "2015",
+                    "kind": [
+                        "custom-build"
+                    ],
+                    "name": "build-script-build",
+                    "src_path": "{CARGO_HOME}/registry/src/index.crates.io-6f17d22bba15001f/winapi-x86_64-pc-windows-gnu-0.4.0/build.rs",
+                    "test": false
+                }
+            ],
+            "version": "0.4.0"
         }
     ],
-    "workspace_members": [
-        "aliases 0.1.0 (path+file://{TEMP_DIR}/aliases)"
-    ],
     "resolve": {
         "nodes": [
             {
-                "id": "aliases 0.1.0 (path+file://{TEMP_DIR}/aliases)",
                 "dependencies": [
                     "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
                     "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -7904,60 +7901,60 @@
                 ],
                 "deps": [
                     {
+                        "dep_kinds": [
+                            {
+                                "kind": null,
+                                "target": null
+                            }
+                        ],
                         "name": "pinned_log",
-                        "pkg": "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "log",
-                        "pkg": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "pinned_names",
-                        "pkg": "names 0.12.1-dev (git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f)",
+                        "pkg": "names 0.12.1-dev (git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "names",
-                        "pkg": "names 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-                        "dep_kinds": [
-                            {
-                                "kind": null,
-                                "target": null
-                            }
-                        ]
+                        "pkg": "names 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "value_bag",
-                        "pkg": "value-bag 1.0.0-alpha.7 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "value_bag",
+                        "pkg": "value-bag 1.0.0-alpha.7 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
-                "features": []
+                "features": [],
+                "id": "aliases 0.1.0 (path+file://{TEMP_DIR}/aliases)"
             },
             {
-                "id": "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "hermit-abi 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)",
                     "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -7965,60 +7962,60 @@
                 ],
                 "deps": [
                     {
-                        "name": "hermit_abi",
-                        "pkg": "hermit-abi 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": "cfg(target_os = \"hermit\")"
                             }
-                        ]
+                        ],
+                        "name": "hermit_abi",
+                        "pkg": "hermit-abi 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "libc",
-                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": "cfg(unix)"
                             }
-                        ]
+                        ],
+                        "name": "libc",
+                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "winapi",
-                        "pkg": "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": "cfg(windows)"
                             }
-                        ]
+                        ],
+                        "name": "winapi",
+                        "pkg": "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
-                "features": []
+                "features": [],
+                "id": "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "autocfg 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
-                "features": []
+                "features": [],
+                "id": "autocfg 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "bitflags 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
                 "features": [
                     "default"
-                ]
+                ],
+                "id": "bitflags 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
-                "features": []
+                "features": [],
+                "id": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
                     "bitflags 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -8032,94 +8029,94 @@
                 ],
                 "deps": [
                     {
+                        "dep_kinds": [
+                            {
+                                "kind": null,
+                                "target": null
+                            }
+                        ],
                         "name": "atty",
-                        "pkg": "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "bitflags",
-                        "pkg": "bitflags 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "bitflags 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "clap_derive",
-                        "pkg": "clap_derive 3.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "clap_derive 3.1.4 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "indexmap",
-                        "pkg": "indexmap 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "indexmap 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "lazy_static",
-                        "pkg": "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "os_str_bytes",
-                        "pkg": "os_str_bytes 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "os_str_bytes 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "strsim",
-                        "pkg": "strsim 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "strsim 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "termcolor",
-                        "pkg": "termcolor 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-                        "dep_kinds": [
-                            {
-                                "kind": null,
-                                "target": null
-                            }
-                        ]
+                        "pkg": "termcolor 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "textwrap",
-                        "pkg": "textwrap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "textwrap",
+                        "pkg": "textwrap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
@@ -8133,10 +8130,10 @@
                     "strsim",
                     "suggestions",
                     "termcolor"
-                ]
+                ],
+                "id": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "clap_derive 3.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "heck 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
                     "proc-macro-error 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -8146,92 +8143,92 @@
                 ],
                 "deps": [
                     {
+                        "dep_kinds": [
+                            {
+                                "kind": null,
+                                "target": null
+                            }
+                        ],
                         "name": "heck",
-                        "pkg": "heck 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "heck 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "proc_macro_error",
-                        "pkg": "proc-macro-error 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "proc-macro-error 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "proc_macro2",
-                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "quote",
-                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
-                        "dep_kinds": [
-                            {
-                                "kind": null,
-                                "target": null
-                            }
-                        ]
+                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "syn",
-                        "pkg": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "syn",
+                        "pkg": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "default"
-                ]
+                ],
+                "id": "clap_derive 3.1.4 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "ctor 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
                     "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "quote",
-                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "quote",
+                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "syn",
-                        "pkg": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "syn",
+                        "pkg": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
-                "features": []
+                "features": [],
+                "id": "ctor 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "getrandom 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
                     "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -8239,275 +8236,275 @@
                 ],
                 "deps": [
                     {
-                        "name": "cfg_if",
-                        "pkg": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "cfg_if",
+                        "pkg": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "libc",
-                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": "cfg(unix)"
                             }
-                        ]
+                        ],
+                        "name": "libc",
+                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "wasi",
-                        "pkg": "wasi 0.10.2+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": "cfg(target_os = \"wasi\")"
                             }
-                        ]
+                        ],
+                        "name": "wasi",
+                        "pkg": "wasi 0.10.2+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "std"
-                ]
+                ],
+                "id": "getrandom 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "hashbrown 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
                 "features": [
                     "raw"
-                ]
+                ],
+                "id": "hashbrown 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "heck 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
                 "features": [
                     "default"
-                ]
+                ],
+                "id": "heck 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "hermit-abi 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "libc",
-                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "libc",
+                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "default"
-                ]
+                ],
+                "id": "hermit-abi 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "indexmap 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "autocfg 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
                     "hashbrown 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "autocfg",
-                        "pkg": "autocfg 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": "build",
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "autocfg",
+                        "pkg": "autocfg 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "hashbrown",
-                        "pkg": "hashbrown 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "hashbrown",
+                        "pkg": "hashbrown 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "std"
-                ]
+                ],
+                "id": "indexmap 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
-                "features": []
+                "features": [],
+                "id": "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
-                "features": []
+                "features": [],
+                "id": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "log",
-                        "pkg": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "log",
+                        "pkg": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "default",
                     "use_std"
-                ]
+                ],
+                "id": "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "cfg_if",
-                        "pkg": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "cfg_if",
+                        "pkg": "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "std"
-                ]
+                ],
+                "id": "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "memchr 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
                 "features": [
                     "default",
                     "std"
-                ]
+                ],
+                "id": "memchr 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "names 0.12.1-dev (git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f)",
                 "dependencies": [
                     "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
                     "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "clap",
-                        "pkg": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "clap",
+                        "pkg": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "rand",
-                        "pkg": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "rand",
+                        "pkg": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "application",
                     "clap",
                     "default"
-                ]
+                ],
+                "id": "names 0.12.1-dev (git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f)"
             },
             {
-                "id": "names 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
                     "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "clap",
-                        "pkg": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "clap",
+                        "pkg": "clap 3.1.5 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "rand",
-                        "pkg": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "rand",
+                        "pkg": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "application",
                     "clap",
                     "default"
-                ]
+                ],
+                "id": "names 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "os_str_bytes 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "memchr 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "memchr",
-                        "pkg": "memchr 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "memchr",
+                        "pkg": "memchr 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "default",
                     "memchr",
                     "raw_os_str"
-                ]
+                ],
+                "id": "os_str_bytes 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "ppv-lite86 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
                 "features": [
                     "simd",
                     "std"
-                ]
+                ],
+                "id": "ppv-lite86 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "proc-macro-error 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "proc-macro-error-attr 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
                     "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -8517,64 +8514,64 @@
                 ],
                 "deps": [
                     {
+                        "dep_kinds": [
+                            {
+                                "kind": null,
+                                "target": null
+                            }
+                        ],
                         "name": "proc_macro_error_attr",
-                        "pkg": "proc-macro-error-attr 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "proc-macro-error-attr 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "proc_macro2",
-                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "quote",
-                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "syn",
-                        "pkg": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)",
-                        "dep_kinds": [
-                            {
-                                "kind": null,
-                                "target": null
-                            }
-                        ]
+                        "pkg": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "version_check",
-                        "pkg": "version_check 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": "build",
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "version_check",
+                        "pkg": "version_check 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "default",
                     "syn",
                     "syn-error"
-                ]
+                ],
+                "id": "proc-macro-error 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "proc-macro-error-attr 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
                     "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -8582,84 +8579,84 @@
                 ],
                 "deps": [
                     {
+                        "dep_kinds": [
+                            {
+                                "kind": null,
+                                "target": null
+                            }
+                        ],
                         "name": "proc_macro2",
-                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-                    },
-                    {
+                        ],
                         "name": "quote",
-                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
-                        "dep_kinds": [
-                            {
-                                "kind": null,
-                                "target": null
-                            }
-                        ]
+                        "pkg": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "version_check",
-                        "pkg": "version_check 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": "build",
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "version_check",
+                        "pkg": "version_check 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
-                "features": []
+                "features": [],
+                "id": "proc-macro-error-attr 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "unicode-xid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "unicode_xid",
-                        "pkg": "unicode-xid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "unicode_xid",
+                        "pkg": "unicode-xid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "default",
                     "proc-macro"
-                ]
+                ],
+                "id": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "proc_macro2",
-                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "proc_macro2",
+                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "default",
                     "proc-macro"
-                ]
+                ],
+                "id": "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
                     "rand_chacha 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -8667,34 +8664,34 @@
                 ],
                 "deps": [
                     {
-                        "name": "libc",
-                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": "cfg(unix)"
                             }
-                        ]
+                        ],
+                        "name": "libc",
+                        "pkg": "libc 0.2.119 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
+                        "dep_kinds": [
+                            {
+                                "kind": null,
+                                "target": null
+                            }
+                        ],
                         "name": "rand_chacha",
-                        "pkg": "rand_chacha 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-                        "dep_kinds": [
-                            {
-                                "kind": null,
-                                "target": null
-                            }
-                        ]
+                        "pkg": "rand_chacha 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "rand_core",
-                        "pkg": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "rand_core",
+                        "pkg": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
@@ -8705,71 +8702,71 @@
                     "rand_chacha",
                     "std",
                     "std_rng"
-                ]
+                ],
+                "id": "rand 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "rand_chacha 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "ppv-lite86 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
                     "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "ppv_lite86",
-                        "pkg": "ppv-lite86 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "ppv_lite86",
+                        "pkg": "ppv-lite86 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)"
                     },
                     {
-                        "name": "rand_core",
-                        "pkg": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "rand_core",
+                        "pkg": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "std"
-                ]
+                ],
+                "id": "rand_chacha 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "getrandom 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)"
                 ],
                 "deps": [
                     {
-                        "name": "getrandom",
-                        "pkg": "getrandom 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
+                        ],
+                        "name": "getrandom",
+                        "pkg": "getrandom 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)"
                     }
                 ],
                 "features": [
                     "alloc",
                     "getrandom",
                     "std"
-                ]
+                ],
+                "id": "rand_core 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "strsim 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [],
                 "deps": [],
-                "features": []
+                "features": [],
+                "id": "strsim 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)"
             },
             {
-                "id": "syn 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)",
                 "dependencies": [
                     "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
                     "quote 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -8777,34 +8774,34 @@
                 ],
                 "deps": [
                     {
+                        "dep_kinds": [
+                            {
+                                "kind": null,
+                                "target": null
+                            }
+                        ],
                         "name": "proc_macro2",
-                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
+                        "pkg": "proc-macro2 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)"
+                    },
+                    {
                         "dep_kinds": [
                             {
                                 "kind": null,
                                 "target": null
                             }
-                        ]
-