about summary refs log tree commit diff
path: root/tvix/tools/turbofetch/Cargo.nix
# This file was @generated by crate2nix 0.13.0 with the command:
#   "generate" "--all-features"
# See https://github.com/kolloch/crate2nix for more info.

{ nixpkgs ? <nixpkgs>
, pkgs ? import nixpkgs { config = { }; }
, lib ? pkgs.lib
, stdenv ? pkgs.stdenv
, buildRustCrateForPkgs ? pkgs: pkgs.buildRustCrate
  # This is used as the `crateOverrides` argument for `buildRustCrate`.
, defaultCrateOverrides ? pkgs.defaultCrateOverrides
  # The features to enable for the root_crate or the workspace_members.
, rootFeatures ? [ "default" ]
  # If true, throw errors instead of issueing deprecation warnings.
, strictDeprecation ? false
  # Used for conditional compilation based on CPU feature detection.
, targetFeatures ? [ ]
  # Whether to perform release builds: longer compile times, faster binaries.
, release ? true
  # Additional crate2nix configuration if it exists.
, crateConfig ? if builtins.pathExists ./crate-config.nix
  then pkgs.callPackage ./crate-config.nix { }
  else { }
}:

rec {
  #
  # "public" attributes that we attempt to keep stable with new versions of crate2nix.
  #

  rootCrate = rec {
    packageId = "turbofetch";

    # Use this attribute to refer to the derivation building your root crate package.
    # You can override the features with rootCrate.build.override { features = [ "default" "feature1" ... ]; }.
    build = internal.buildRustCrateWithFeatures {
      inherit packageId;
    };

    # Debug support which might change between releases.
    # File a bug if you depend on any for non-debug work!
    debug = internal.debugCrate { inherit packageId; };
  };
  # Refer your crate build derivation by name here.
  # You can override the features with
  # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }.
  workspaceMembers = {
    "turbofetch" = rec {
      packageId = "turbofetch";
      build = internal.buildRustCrateWithFeatures {
        packageId = "turbofetch";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
  };

  # A derivation that joins the outputs of all workspace members together.
  allWorkspaceMembers = pkgs.symlinkJoin {
    name = "all-workspace-members";
    paths =
      let members = builtins.attrValues workspaceMembers;
      in builtins.map (m: m.build) members;
  };

  #
  # "internal" ("private") attributes that may change in every new version of crate2nix.
  #

  internal = rec {
    # Build and dependency information for crates.
    # Many of the fields are passed one-to-one to buildRustCrate.
    #
    # Noteworthy:
    # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.
    #   but with additional information which is used during dependency/feature resolution.
    # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.
    # * `devDependencies` as of now not used by `buildRustCrate` but used to
    #   inject test dependencies into the build

    crates = {
      "addr2line" = rec {
        crateName = "addr2line";
        version = "0.21.0";
        edition = "2018";
        sha256 = "1jx0k3iwyqr8klqbzk6kjvr496yd94aspis10vwsj5wy7gib4c4a";
        dependencies = [
          {
            name = "gimli";
            packageId = "gimli";
            usesDefaultFeatures = false;
            features = [ "read" ];
          }
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "cpp_demangle" = [ "dep:cpp_demangle" ];
          "default" = [ "rustc-demangle" "cpp_demangle" "std-object" "fallible-iterator" "smallvec" "memmap2" ];
          "fallible-iterator" = [ "dep:fallible-iterator" ];
          "memmap2" = [ "dep:memmap2" ];
          "object" = [ "dep:object" ];
          "rustc-demangle" = [ "dep:rustc-demangle" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "gimli/rustc-dep-of-std" ];
          "smallvec" = [ "dep:smallvec" ];
          "std" = [ "gimli/std" ];
          "std-object" = [ "std" "object" "object/std" "object/compression" "gimli/endian-reader" ];
        };
      };
      "adler" = rec {
        crateName = "adler";
        version = "1.0.2";
        edition = "2015";
        sha256 = "1zim79cvzd5yrkzl3nyfx0avijwgk9fqv3yrscdy1cc79ih02qpj";
        authors = [
          "Jonas Schievink <jonasschievink@gmail.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "android-tzdata" = rec {
        crateName = "android-tzdata";
        version = "0.1.1";
        edition = "2018";
        sha256 = "1w7ynjxrfs97xg3qlcdns4kgfpwcdv824g611fq32cag4cdr96g9";
        authors = [
          "RumovZ"
        ];

      };
      "android_system_properties" = rec {
        crateName = "android_system_properties";
        version = "0.1.5";
        edition = "2018";
        sha256 = "04b3wrz12837j7mdczqd95b732gw5q7q66cv4yn4646lvccp57l1";
        authors = [
          "Nicolas Silva <nical@fastmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];

      };
      "async-stream" = rec {
        crateName = "async-stream";
        version = "0.3.5";
        edition = "2018";
        sha256 = "0l8sjq1rylkb1ak0pdyjn83b3k6x36j22myngl4sqqgg7whdsmnd";
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        dependencies = [
          {
            name = "async-stream-impl";
            packageId = "async-stream-impl";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
        ];

      };
      "async-stream-impl" = rec {
        crateName = "async-stream-impl";
        version = "0.3.5";
        edition = "2018";
        sha256 = "14q179j4y8p2z1d0ic6aqgy9fhwz8p9cai1ia8kpw4bw7q12mrhn";
        procMacro = true;
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" "visit-mut" ];
          }
        ];

      };
      "async-trait" = rec {
        crateName = "async-trait";
        version = "0.1.74";
        edition = "2021";
        sha256 = "1ydhbsqjqqa6bxbv0kgys2wq2vi3jpwjy57dk162ajwppgqkfrd6";
        procMacro = true;
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" "visit-mut" ];
          }
        ];

      };
      "autocfg" = rec {
        crateName = "autocfg";
        version = "1.1.0";
        edition = "2015";
        sha256 = "1ylp3cb47ylzabimazvbz9ms6ap784zhb6syaz6c1jqpmcmq0s6l";
        authors = [
          "Josh Stone <cuviper@gmail.com>"
        ];

      };
      "aws_lambda_events" = rec {
        crateName = "aws_lambda_events";
        version = "0.11.1";
        edition = "2021";
        sha256 = "0nw3iyfgywhrqagl1083yqjg82jgv438zczh94zipwyfcvg1273p";
        authors = [
          "Christian Legnitto <christian@legnitto.com>"
          "Sam Rijs <srijs@airpost.net>"
          "David Calavera <dcalaver@amazon.com>"
        ];
        dependencies = [
          {
            name = "base64";
            packageId = "base64 0.21.5";
          }
          {
            name = "bytes";
            packageId = "bytes";
            optional = true;
            features = [ "serde" ];
          }
          {
            name = "http";
            packageId = "http";
            optional = true;
          }
          {
            name = "http-body";
            packageId = "http-body";
            optional = true;
          }
          {
            name = "http-serde";
            packageId = "http-serde";
            optional = true;
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
        ];
        features = {
          "alb" = [ "bytes" "http" "http-body" "http-serde" "query_map" ];
          "apigw" = [ "bytes" "http" "http-body" "http-serde" "query_map" ];
          "autoscaling" = [ "chrono" ];
          "bytes" = [ "dep:bytes" ];
          "chime_bot" = [ "chrono" ];
          "chrono" = [ "dep:chrono" ];
          "cloudwatch_events" = [ "chrono" ];
          "cloudwatch_logs" = [ "flate2" ];
          "code_commit" = [ "chrono" ];
          "codebuild" = [ "chrono" ];
          "codedeploy" = [ "chrono" ];
          "codepipeline_cloudwatch" = [ "chrono" ];
          "default" = [ "activemq" "alb" "apigw" "appsync" "autoscaling" "chime_bot" "clientvpn" "cloudwatch_events" "cloudwatch_logs" "code_commit" "codebuild" "codedeploy" "codepipeline_cloudwatch" "codepipeline_job" "cognito" "config" "connect" "dynamodb" "ecr_scan" "firehose" "iam" "iot" "iot_1_click" "iot_button" "iot_deprecated" "kafka" "kinesis" "kinesis_analytics" "lambda_function_urls" "lex" "rabbitmq" "s3" "s3_batch_job" "ses" "sns" "sqs" "streams" ];
          "dynamodb" = [ "chrono" "serde_dynamo" "streams" ];
          "firehose" = [ "chrono" ];
          "flate2" = [ "dep:flate2" ];
          "http" = [ "dep:http" ];
          "http-body" = [ "dep:http-body" ];
          "http-serde" = [ "dep:http-serde" ];
          "iot" = [ "bytes" "http" "http-body" "http-serde" "iam" ];
          "iot_deprecated" = [ "iot" ];
          "kafka" = [ "chrono" ];
          "kinesis" = [ "chrono" ];
          "kinesis_analytics" = [ "kinesis" ];
          "lambda_function_urls" = [ "bytes" "http" "http-body" "http-serde" ];
          "query_map" = [ "dep:query_map" ];
          "s3" = [ "bytes" "chrono" "http" "http-body" "http-serde" ];
          "s3_batch_job" = [ "s3" ];
          "serde_dynamo" = [ "dep:serde_dynamo" ];
          "serde_with" = [ "dep:serde_with" ];
          "ses" = [ "chrono" ];
          "sns" = [ "chrono" "serde_with" ];
          "sqs" = [ "serde_with" ];
        };
        resolvedDefaultFeatures = [ "bytes" "http" "http-body" "http-serde" "lambda_function_urls" ];
      };
      "backtrace" = rec {
        crateName = "backtrace";
        version = "0.3.69";
        edition = "2018";
        sha256 = "0dsq23dhw4pfndkx2nsa1ml2g31idm7ss7ljxp8d57avygivg290";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "addr2line";
            packageId = "addr2line";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
          }
          {
            name = "object";
            packageId = "object";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
            features = [ "read_core" "elf" "macho" "pe" "unaligned" "archive" ];
          }
          {
            name = "rustc-demangle";
            packageId = "rustc-demangle";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];
        features = {
          "cpp_demangle" = [ "dep:cpp_demangle" ];
          "default" = [ "std" ];
          "rustc-serialize" = [ "dep:rustc-serialize" ];
          "serde" = [ "dep:serde" ];
          "serialize-rustc" = [ "rustc-serialize" ];
          "serialize-serde" = [ "serde" ];
          "verify-winapi" = [ "winapi/dbghelp" "winapi/handleapi" "winapi/libloaderapi" "winapi/memoryapi" "winapi/minwindef" "winapi/processthreadsapi" "winapi/synchapi" "winapi/tlhelp32" "winapi/winbase" "winapi/winnt" ];
          "winapi" = [ "dep:winapi" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "base64 0.13.1" = rec {
        crateName = "base64";
        version = "0.13.1";
        edition = "2018";
        sha256 = "1s494mqmzjb766fy1kqlccgfg2sdcjb6hzbvzqv2jw65fdi5h6wy";
        authors = [
          "Alice Maz <alice@alicemaz.com>"
          "Marshall Pierce <marshall@mpierce.org>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "base64 0.20.0" = rec {
        crateName = "base64";
        version = "0.20.0";
        edition = "2021";
        sha256 = "1r855djiv8rirg37w5arazk42ya5gm5gd2bww75v14w0sy02i8hf";
        authors = [
          "Alice Maz <alice@alicemaz.com>"
          "Marshall Pierce <marshall@mpierce.org>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "base64 0.21.5" = rec {
        crateName = "base64";
        version = "0.21.5";
        edition = "2018";
        sha256 = "1y8x2xs9nszj5ix7gg4ycn5a6wy7ca74zxwqri3bdqzdjha6lqrm";
        authors = [
          "Alice Maz <alice@alicemaz.com>"
          "Marshall Pierce <marshall@mpierce.org>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "bitflags 1.3.2" = rec {
        crateName = "bitflags";
        version = "1.3.2";
        edition = "2018";
        sha256 = "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "bitflags 2.4.1" = rec {
        crateName = "bitflags";
        version = "2.4.1";
        edition = "2021";
        sha256 = "01ryy3kd671b0ll4bhdvhsz67vwz1lz53fz504injrd7wpv64xrj";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "bytemuck" = [ "dep:bytemuck" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
          "serde" = [ "dep:serde" ];
        };
      };
      "block-buffer" = rec {
        crateName = "block-buffer";
        version = "0.9.0";
        edition = "2018";
        sha256 = "1r4pf90s7d7lj1wdjhlnqa26vvbm6pnc33z138lxpnp9srpi2lj1";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];
        features = {
          "block-padding" = [ "dep:block-padding" ];
        };
      };
      "bumpalo" = rec {
        crateName = "bumpalo";
        version = "3.14.0";
        edition = "2021";
        sha256 = "1v4arnv9kwk54v5d0qqpv4vyw2sgr660nk0w3apzixi1cm3yfc3z";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
        ];
        features = {
          "allocator-api2" = [ "dep:allocator-api2" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "bytes" = rec {
        crateName = "bytes";
        version = "1.5.0";
        edition = "2018";
        sha256 = "08w2i8ac912l8vlvkv3q51cd4gr09pwlg3sjsjffcizlrb0i5gd2";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "serde" "std" ];
      };
      "cc" = rec {
        crateName = "cc";
        version = "1.0.83";
        edition = "2018";
        crateBin = [ ];
        sha256 = "1l643zidlb5iy1dskc5ggqs4wqa29a02f44piczqc8zcnsq4y5zi";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "jobserver";
            packageId = "jobserver";
            optional = true;
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
          }
        ];
        features = {
          "jobserver" = [ "dep:jobserver" ];
          "parallel" = [ "jobserver" ];
        };
        resolvedDefaultFeatures = [ "jobserver" "parallel" ];
      };
      "cfg-if" = rec {
        crateName = "cfg-if";
        version = "1.0.0";
        edition = "2018";
        sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "chrono" = rec {
        crateName = "chrono";
        version = "0.4.31";
        edition = "2021";
        sha256 = "0f6vg67pipm8cziad2yms6a639pssnvysk1m05dd9crymmdnhb3z";
        dependencies = [
          {
            name = "android-tzdata";
            packageId = "android-tzdata";
            optional = true;
            target = { target, features }: ("android" == target."os" or null);
          }
          {
            name = "iana-time-zone";
            packageId = "iana-time-zone";
            optional = true;
            target = { target, features }: (target."unix" or false);
            features = [ "fallback" ];
          }
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "windows-targets";
            packageId = "windows-targets";
            optional = true;
            target = { target, features }: (target."windows" or false);
          }
        ];
        features = {
          "android-tzdata" = [ "dep:android-tzdata" ];
          "arbitrary" = [ "dep:arbitrary" ];
          "clock" = [ "std" "winapi" "iana-time-zone" "android-tzdata" ];
          "default" = [ "clock" "std" "oldtime" "wasmbind" ];
          "iana-time-zone" = [ "dep:iana-time-zone" ];
          "js-sys" = [ "dep:js-sys" ];
          "pure-rust-locales" = [ "dep:pure-rust-locales" ];
          "rkyv" = [ "dep:rkyv" ];
          "rustc-serialize" = [ "dep:rustc-serialize" ];
          "serde" = [ "dep:serde" ];
          "unstable-locales" = [ "pure-rust-locales" "alloc" ];
          "wasm-bindgen" = [ "dep:wasm-bindgen" ];
          "wasmbind" = [ "wasm-bindgen" "js-sys" ];
          "winapi" = [ "windows-targets" ];
          "windows-targets" = [ "dep:windows-targets" ];
        };
        resolvedDefaultFeatures = [ "android-tzdata" "clock" "iana-time-zone" "serde" "std" "winapi" "windows-targets" ];
      };
      "core-foundation" = rec {
        crateName = "core-foundation";
        version = "0.9.3";
        edition = "2015";
        sha256 = "0ii1ihpjb30fk38gdikm5wqlkmyr8k46fh4k2r8sagz5dng7ljhr";
        authors = [
          "The Servo Project Developers"
        ];
        dependencies = [
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "chrono" = [ "dep:chrono" ];
          "mac_os_10_7_support" = [ "core-foundation-sys/mac_os_10_7_support" ];
          "mac_os_10_8_features" = [ "core-foundation-sys/mac_os_10_8_features" ];
          "uuid" = [ "dep:uuid" ];
          "with-chrono" = [ "chrono" ];
          "with-uuid" = [ "uuid" ];
        };
      };
      "core-foundation-sys" = rec {
        crateName = "core-foundation-sys";
        version = "0.8.4";
        edition = "2015";
        sha256 = "1yhf471qj6snnm2mcswai47vsbc9w30y4abmdp4crb4av87sb5p4";
        authors = [
          "The Servo Project Developers"
        ];
        features = { };
      };
      "cpufeatures" = rec {
        crateName = "cpufeatures";
        version = "0.2.11";
        edition = "2018";
        sha256 = "1l0gzsyy576n017g9bf0vkv5hhg9cpz1h1libxyfdlzcgbh0yhnf";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-linux-android");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (("aarch64" == target."arch" or null) && ("linux" == target."os" or null));
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (("aarch64" == target."arch" or null) && ("apple" == target."vendor" or null));
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (("loongarch64" == target."arch" or null) && ("linux" == target."os" or null));
          }
        ];

      };
      "crc32fast" = rec {
        crateName = "crc32fast";
        version = "1.3.2";
        edition = "2015";
        sha256 = "03c8f29yx293yf43xar946xbls1g60c207m9drf8ilqhr25vsh5m";
        authors = [
          "Sam Rijs <srijs@airpost.net>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "crypto-mac" = rec {
        crateName = "crypto-mac";
        version = "0.11.1";
        edition = "2018";
        sha256 = "05672ncc54h66vph42s0a42ljl69bwnqjh0x4xgj2v1395psildi";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
          {
            name = "subtle";
            packageId = "subtle";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "blobby" = [ "dep:blobby" ];
          "cipher" = [ "dep:cipher" ];
          "dev" = [ "blobby" ];
        };
      };
      "data-encoding" = rec {
        crateName = "data-encoding";
        version = "2.4.0";
        edition = "2018";
        sha256 = "023k3dk8422jgbj7k72g63x51h1mhv91dhw1j4h205vzh6fnrrn2";
        authors = [
          "Julien Cretin <git@ia0.eu>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "digest" = rec {
        crateName = "digest";
        version = "0.9.0";
        edition = "2018";
        sha256 = "0rmhvk33rgvd6ll71z8sng91a52rw14p0drjn1da0mqa138n1pfk";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];
        features = {
          "blobby" = [ "dep:blobby" ];
          "dev" = [ "blobby" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "dirs-next" = rec {
        crateName = "dirs-next";
        version = "2.0.0";
        edition = "2018";
        sha256 = "1q9kr151h9681wwp6is18750ssghz6j9j7qm7qi1ngcwy7mzi35r";
        authors = [
          "The @xdg-rs members"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "dirs-sys-next";
            packageId = "dirs-sys-next";
          }
        ];

      };
      "dirs-sys-next" = rec {
        crateName = "dirs-sys-next";
        version = "0.1.2";
        edition = "2018";
        sha256 = "0kavhavdxv4phzj4l0psvh55hszwnr0rcz8sxbvx20pyqi2a3gaf";
        authors = [
          "The @xdg-rs members"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "redox_users";
            packageId = "redox_users";
            usesDefaultFeatures = false;
            target = { target, features }: ("redox" == target."os" or null);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
          }
        ];

      };
      "fnv" = rec {
        crateName = "fnv";
        version = "1.0.7";
        edition = "2015";
        sha256 = "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz";
        libPath = "lib.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "futures" = rec {
        crateName = "futures";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1c04g14bccmprwsvx2j9m2blhwrynq7vhl151lsvcv4gi0b6jp34";
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-executor";
            packageId = "futures-executor";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ];
          "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ];
          "bilock" = [ "futures-util/bilock" ];
          "compat" = [ "std" "futures-util/compat" ];
          "default" = [ "std" "async-await" "executor" ];
          "executor" = [ "std" "futures-executor/std" ];
          "futures-executor" = [ "dep:futures-executor" ];
          "io-compat" = [ "compat" "futures-util/io-compat" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ];
          "thread-pool" = [ "executor" "futures-executor/thread-pool" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ];
          "write-all-vectored" = [ "futures-util/write-all-vectored" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ];
      };
      "futures-channel" = rec {
        crateName = "futures-channel";
        version = "0.3.30";
        edition = "2018";
        sha256 = "0y6b7xxqdjm9hlcjpakcg41qfl7lihf6gavk8fyqijsxhvbzgj7a";
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" ];
          "default" = [ "std" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "sink" = [ "futures-sink" ];
          "std" = [ "alloc" "futures-core/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "futures-sink" "sink" "std" ];
      };
      "futures-core" = rec {
        crateName = "futures-core";
        version = "0.3.30";
        edition = "2018";
        sha256 = "07aslayrn3lbggj54kci0ishmd1pr367fp7iks7adia1p05miinz";
        features = {
          "default" = [ "std" ];
          "portable-atomic" = [ "dep:portable-atomic" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-executor" = rec {
        crateName = "futures-executor";
        version = "0.3.30";
        edition = "2018";
        sha256 = "07dh08gs9vfll2h36kq32q9xd86xm6lyl9xikmmwlkqnmrrgqxm5";
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "num_cpus" = [ "dep:num_cpus" ];
          "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ];
          "thread-pool" = [ "std" "num_cpus" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "futures-io" = rec {
        crateName = "futures-io";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1hgh25isvsr4ybibywhr4dpys8mjnscw4wfxxwca70cn1gi26im4";
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "futures-macro" = rec {
        crateName = "futures-macro";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1b49qh9d402y8nka4q6wvvj0c88qq91wbr192mdn5h54nzs0qxc7";
        procMacro = true;
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];

      };
      "futures-sink" = rec {
        crateName = "futures-sink";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1dag8xyyaya8n8mh8smx7x6w2dpmafg2din145v973a3hw7f1f4z";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-task" = rec {
        crateName = "futures-task";
        version = "0.3.30";
        edition = "2018";
        sha256 = "013h1724454hj8qczp8vvs10qfiqrxr937qsrv6rhii68ahlzn1q";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "futures-util" = rec {
        crateName = "futures-util";
        version = "0.3.30";
        edition = "2018";
        sha256 = "0j0xqhcir1zf2dcbpd421kgw6wvsk0rpxflylcysn1rlp3g02r1x";
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-macro";
            packageId = "futures-macro";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "pin-utils";
            packageId = "pin-utils";
          }
          {
            name = "slab";
            packageId = "slab";
            optional = true;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" ];
          "async-await-macro" = [ "async-await" "futures-macro" ];
          "channel" = [ "std" "futures-channel" ];
          "compat" = [ "std" "futures_01" ];
          "default" = [ "std" "async-await" "async-await-macro" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "futures-io" = [ "dep:futures-io" ];
          "futures-macro" = [ "dep:futures-macro" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "futures_01" = [ "dep:futures_01" ];
          "io" = [ "std" "futures-io" "memchr" ];
          "io-compat" = [ "io" "compat" "tokio-io" ];
          "memchr" = [ "dep:memchr" ];
          "portable-atomic" = [ "futures-core/portable-atomic" ];
          "sink" = [ "futures-sink" ];
          "slab" = [ "dep:slab" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ];
          "tokio-io" = [ "dep:tokio-io" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" ];
          "write-all-vectored" = [ "io" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "sink" "slab" "std" ];
      };
      "generic-array" = rec {
        crateName = "generic-array";
        version = "0.14.7";
        edition = "2015";
        sha256 = "16lyyrzrljfq424c3n8kfwkqihlimmsg5nhshbbp48np3yjrqr45";
        libName = "generic_array";
        authors = [
          "Bartล‚omiej Kamiล„ski <fizyk20@gmail.com>"
          "Aaron Trent <novacrazy@gmail.com>"
        ];
        dependencies = [
          {
            name = "typenum";
            packageId = "typenum";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "zeroize" = [ "dep:zeroize" ];
        };
      };
      "getrandom" = rec {
        crateName = "getrandom";
        version = "0.2.11";
        edition = "2018";
        sha256 = "03q7120cc2kn7ry013i67zmjl2g9q73h1ks5z08hq5v9syz0d47y";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "wasi";
            packageId = "wasi";
            usesDefaultFeatures = false;
            target = { target, features }: ("wasi" == target."os" or null);
          }
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "js" = [ "wasm-bindgen" "js-sys" ];
          "js-sys" = [ "dep:js-sys" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ];
          "wasm-bindgen" = [ "dep:wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "gimli" = rec {
        crateName = "gimli";
        version = "0.28.0";
        edition = "2018";
        sha256 = "1h7hcl3chfvd2gfrrxjymnwj7anqxjslvz20kcargkvsya2dgf3g";
        features = {
          "default" = [ "read-all" "write" ];
          "endian-reader" = [ "read" "dep:stable_deref_trait" ];
          "fallible-iterator" = [ "dep:fallible-iterator" ];
          "read" = [ "read-core" ];
          "read-all" = [ "read" "std" "fallible-iterator" "endian-reader" ];
          "rustc-dep-of-std" = [ "dep:core" "dep:alloc" "dep:compiler_builtins" ];
          "std" = [ "fallible-iterator?/std" "stable_deref_trait?/std" ];
          "write" = [ "dep:indexmap" ];
        };
        resolvedDefaultFeatures = [ "read" "read-core" ];
      };
      "h2" = rec {
        crateName = "h2";
        version = "0.3.21";
        edition = "2018";
        sha256 = "0cq8g5bgk3fihnqicy3g8gc3dpsalzqjg4bjyip9g4my26m27z4i";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "indexmap";
            packageId = "indexmap";
            features = [ "std" ];
          }
          {
            name = "slab";
            packageId = "slab";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" ];
          }
          {
            name = "tokio-util";
            packageId = "tokio-util";
            features = [ "codec" ];
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "rt-multi-thread" "macros" "sync" "net" ];
          }
        ];
        features = { };
      };
      "hashbrown" = rec {
        crateName = "hashbrown";
        version = "0.12.3";
        edition = "2021";
        sha256 = "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        features = {
          "ahash" = [ "dep:ahash" ];
          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
          "alloc" = [ "dep:alloc" ];
          "bumpalo" = [ "dep:bumpalo" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "ahash" "inline-more" ];
          "rayon" = [ "dep:rayon" ];
          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "raw" ];
      };
      "hermit-abi" = rec {
        crateName = "hermit-abi";
        version = "0.3.3";
        edition = "2021";
        sha256 = "1dyc8qsjh876n74a3rcz8h43s27nj1sypdhsn2ms61bd3b47wzyp";
        authors = [
          "Stefan Lankes"
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins/rustc-dep-of-std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "hex" = rec {
        crateName = "hex";
        version = "0.4.3";
        edition = "2018";
        sha256 = "0w1a4davm1lgzpamwnba907aysmlrnygbqmfis2mqjx5m552a93z";
        authors = [
          "KokaKiwi <kokakiwi@kokakiwi.net>"
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "hmac" = rec {
        crateName = "hmac";
        version = "0.11.0";
        edition = "2018";
        sha256 = "16z61aibdg4di40sqi4ks2s4rz6r29w4sx4gvblfph3yxch26aia";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "crypto-mac";
            packageId = "crypto-mac";
          }
          {
            name = "digest";
            packageId = "digest";
          }
        ];
        devDependencies = [
          {
            name = "crypto-mac";
            packageId = "crypto-mac";
            features = [ "dev" ];
          }
        ];
        features = {
          "std" = [ "crypto-mac/std" ];
        };
      };
      "http" = rec {
        crateName = "http";
        version = "0.2.10";
        edition = "2018";
        sha256 = "0l61nzcb5rdfchn7gpml0wngipflbqarrq3q5ga30rw9msy9lnzr";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
        ];

      };
      "http-body" = rec {
        crateName = "http-body";
        version = "0.4.5";
        edition = "2018";
        sha256 = "1l967qwwlvhp198xdrnc0p5d7jwfcp6q2lm510j6zqw4s4b8zwym";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Lucio Franco <luciofranco14@gmail.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
        ];

      };
      "http-serde" = rec {
        crateName = "http-serde";
        version = "1.1.3";
        edition = "2021";
        sha256 = "1vnald3g10gxj15dc5jjjk7aff23p1zly0xgzhn5gwfrb9k0nmkg";
        authors = [
          "Kornel <kornel@geekhood.net>"
        ];
        dependencies = [
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];

      };
      "httparse" = rec {
        crateName = "httparse";
        version = "1.8.0";
        edition = "2018";
        sha256 = "010rrfahm1jss3p022fqf3j3jmm72vhn4iqhykahb9ynpaag75yq";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "httpdate" = rec {
        crateName = "httpdate";
        version = "1.0.3";
        edition = "2021";
        sha256 = "1aa9rd2sac0zhjqh24c9xvir96g188zldkx0hr6dnnlx5904cfyz";
        authors = [
          "Pyfisch <pyfisch@posteo.org>"
        ];

      };
      "hyper" = rec {
        crateName = "hyper";
        version = "0.14.27";
        edition = "2018";
        sha256 = "0s2l74p3harvjgb0bvaxlxgxq71vpfrzv0cqz2p9w8d8akbczcgz";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-channel";
            packageId = "futures-channel";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "h2";
            packageId = "h2";
            optional = true;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "httparse";
            packageId = "httparse";
          }
          {
            name = "httpdate";
            packageId = "httpdate";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "socket2";
            packageId = "socket2 0.4.10";
            optional = true;
            features = [ "all" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "want";
            packageId = "want";
          }
        ];
        devDependencies = [
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "fs" "macros" "io-std" "io-util" "rt" "rt-multi-thread" "sync" "time" "test-util" ];
          }
        ];
        features = {
          "ffi" = [ "libc" ];
          "full" = [ "client" "http1" "http2" "server" "stream" "runtime" ];
          "h2" = [ "dep:h2" ];
          "http2" = [ "h2" ];
          "libc" = [ "dep:libc" ];
          "runtime" = [ "tcp" "tokio/rt" "tokio/time" ];
          "socket2" = [ "dep:socket2" ];
          "tcp" = [ "socket2" "tokio/net" "tokio/rt" "tokio/time" ];
        };
        resolvedDefaultFeatures = [ "client" "default" "h2" "http1" "http2" "runtime" "server" "socket2" "stream" "tcp" ];
      };
      "hyper-rustls" = rec {
        crateName = "hyper-rustls";
        version = "0.23.2";
        edition = "2018";
        sha256 = "0736s6a32dqr107f943xaz1n05flbinq6l19lq1wsrxkc5g9d20p";
        dependencies = [
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            features = [ "client" ];
          }
          {
            name = "log";
            packageId = "log";
            optional = true;
          }
          {
            name = "rustls";
            packageId = "rustls";
            usesDefaultFeatures = false;
          }
          {
            name = "rustls-native-certs";
            packageId = "rustls-native-certs";
            optional = true;
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
          {
            name = "tokio-rustls";
            packageId = "tokio-rustls";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "full" ];
          }
          {
            name = "rustls";
            packageId = "rustls";
            usesDefaultFeatures = false;
            features = [ "tls12" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-std" "macros" "net" "rt-multi-thread" ];
          }
        ];
        features = {
          "default" = [ "native-tokio" "http1" "tls12" "logging" ];
          "http1" = [ "hyper/http1" ];
          "http2" = [ "hyper/http2" ];
          "log" = [ "dep:log" ];
          "logging" = [ "log" "tokio-rustls/logging" "rustls/logging" ];
          "native-tokio" = [ "tokio-runtime" "rustls-native-certs" ];
          "rustls-native-certs" = [ "dep:rustls-native-certs" ];
          "tls12" = [ "tokio-rustls/tls12" "rustls/tls12" ];
          "tokio-runtime" = [ "hyper/runtime" ];
          "webpki-roots" = [ "dep:webpki-roots" ];
          "webpki-tokio" = [ "tokio-runtime" "webpki-roots" ];
        };
        resolvedDefaultFeatures = [ "http1" "http2" "log" "logging" "native-tokio" "rustls-native-certs" "tls12" "tokio-runtime" ];
      };
      "iana-time-zone" = rec {
        crateName = "iana-time-zone";
        version = "0.1.58";
        edition = "2018";
        sha256 = "081vcr8z8ddhl5r1ywif6grnswk01b2ac4nks2bhn8zzdimvh9l3";
        authors = [
          "Andrew Straw <strawman@astraw.com>"
          "Renรฉ Kijewski <rene.kijewski@fu-berlin.de>"
          "Ryan Lopopolo <rjl@hyperbo.la>"
        ];
        dependencies = [
          {
            name = "android_system_properties";
            packageId = "android_system_properties";
            target = { target, features }: ("android" == target."os" or null);
          }
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
            target = { target, features }: (("macos" == target."os" or null) || ("ios" == target."os" or null));
          }
          {
            name = "iana-time-zone-haiku";
            packageId = "iana-time-zone-haiku";
            target = { target, features }: ("haiku" == target."os" or null);
          }
          {
            name = "js-sys";
            packageId = "js-sys";
            target = { target, features }: ("wasm32" == target."arch" or null);
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            target = { target, features }: ("wasm32" == target."arch" or null);
          }
          {
            name = "windows-core";
            packageId = "windows-core";
            target = { target, features }: ("windows" == target."os" or null);
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "fallback" ];
      };
      "iana-time-zone-haiku" = rec {
        crateName = "iana-time-zone-haiku";
        version = "0.1.2";
        edition = "2018";
        sha256 = "17r6jmj31chn7xs9698r122mapq85mfnv98bb4pg6spm0si2f67k";
        authors = [
          "Renรฉ Kijewski <crates.io@k6i.de>"
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];

      };
      "indexmap" = rec {
        crateName = "indexmap";
        version = "1.9.3";
        edition = "2021";
        sha256 = "16dxmy7yvk51wvnih3a3im6fp5lmx0wx76i03n06wyak6cwhw1xx";
        dependencies = [
          {
            name = "hashbrown";
            packageId = "hashbrown";
            usesDefaultFeatures = false;
            features = [ "raw" ];
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "quickcheck" = [ "dep:quickcheck" ];
          "rayon" = [ "dep:rayon" ];
          "rustc-rayon" = [ "dep:rustc-rayon" ];
          "serde" = [ "dep:serde" ];
          "serde-1" = [ "serde" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "itoa" = rec {
        crateName = "itoa";
        version = "1.0.9";
        edition = "2018";
        sha256 = "0f6cpb4yqzhkrhhg6kqsw3wnmmhdnnffi6r2xzy248gzi2v0l5dg";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "no-panic" = [ "dep:no-panic" ];
        };
      };
      "jobserver" = rec {
        crateName = "jobserver";
        version = "0.1.27";
        edition = "2018";
        sha256 = "0z9w6vfqwbr6hfk9yaw7kydlh6f7k39xdlszxlh39in4acwzcdwc";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
        ];

      };
      "js-sys" = rec {
        crateName = "js-sys";
        version = "0.3.65";
        edition = "2018";
        sha256 = "1s1gaxgzpqfyygc7f2pwp9y128rh5f8zvsc4nm5yazgna9cw7h2l";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];

      };
      "lambda_runtime" = rec {
        crateName = "lambda_runtime";
        version = "0.8.3";
        edition = "2021";
        sha256 = "00m7sw7bhjkr4q7ikid0kjjqirr23gcxfjdvvvyqp6nfsxjqzjny";
        authors = [
          "David Calavera <dcalaver@amazon.com>"
          "Harold Sun <sunhua@amazon.com>"
        ];
        dependencies = [
          {
            name = "async-stream";
            packageId = "async-stream";
          }
          {
            name = "base64";
            packageId = "base64 0.20.0";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "http-serde";
            packageId = "http-serde";
          }
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "http1" "client" "stream" "server" ];
          }
          {
            name = "lambda_runtime_api_client";
            packageId = "lambda_runtime_api_client";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "serde_path_to_error";
            packageId = "serde_path_to_error";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "macros" "io-util" "sync" "rt-multi-thread" ];
          }
          {
            name = "tokio-stream";
            packageId = "tokio-stream";
          }
          {
            name = "tower";
            packageId = "tower";
            features = [ "util" ];
          }
          {
            name = "tracing";
            packageId = "tracing";
            features = [ "log" ];
          }
        ];
        features = {
          "default" = [ "simulated" ];
        };
        resolvedDefaultFeatures = [ "default" "simulated" ];
      };
      "lambda_runtime_api_client" = rec {
        crateName = "lambda_runtime_api_client";
        version = "0.8.0";
        edition = "2021";
        sha256 = "1vgh5cl1ddxskqzgbshxgydlw1a3qipmb2rlqg4wijis3zh5l339";
        authors = [
          "David Calavera <dcalaver@amazon.com>"
          "Harold Sun <sunhua@amazon.com>"
        ];
        dependencies = [
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "http1" "client" "stream" "tcp" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" ];
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
        ];

      };
      "lazy_static" = rec {
        crateName = "lazy_static";
        version = "1.4.0";
        edition = "2015";
        sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2";
        authors = [
          "Marvin Lรถbel <loebel.marvin@gmail.com>"
        ];
        features = {
          "spin" = [ "dep:spin" ];
          "spin_no_std" = [ "spin" ];
        };
      };
      "libc" = rec {
        crateName = "libc";
        version = "0.2.150";
        edition = "2015";
        sha256 = "0g10n8c830alndgjb8xk1i9kz5z727np90z1z81119pr8d3jmnc9";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
          "rustc-std-workspace-core" = [ "dep:rustc-std-workspace-core" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "libredox" = rec {
        crateName = "libredox";
        version = "0.0.1";
        edition = "2021";
        sha256 = "1s2fh4ikpp9xl0lsl01pi0n8pw1q9s3ld452vd8qh1v63v537j45";
        authors = [
          "4lDO2 <4lDO2@protonmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags 2.4.1";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
          }
        ];
        features = {
          "default" = [ "scheme" "call" ];
          "scheme" = [ "call" ];
        };
        resolvedDefaultFeatures = [ "call" ];
      };
      "lock_api" = rec {
        crateName = "lock_api";
        version = "0.4.11";
        edition = "2018";
        sha256 = "0iggx0h4jx63xm35861106af3jkxq06fpqhpkhgw0axi2n38y5iw";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "scopeguard";
            packageId = "scopeguard";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "atomic_usize" ];
          "owning_ref" = [ "dep:owning_ref" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "atomic_usize" "default" ];
      };
      "log" = rec {
        crateName = "log";
        version = "0.4.20";
        edition = "2015";
        sha256 = "13rf7wphnwd61vazpxr7fiycin6cb1g8fmvgqg18i464p0y1drmm";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "kv_unstable" = [ "value-bag" ];
          "kv_unstable_serde" = [ "kv_unstable_std" "value-bag/serde" "serde" ];
          "kv_unstable_std" = [ "std" "kv_unstable" "value-bag/error" ];
          "kv_unstable_sval" = [ "kv_unstable" "value-bag/sval" "sval" "sval_ref" ];
          "serde" = [ "dep:serde" ];
          "sval" = [ "dep:sval" ];
          "sval_ref" = [ "dep:sval_ref" ];
          "value-bag" = [ "dep:value-bag" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "mach2" = rec {
        crateName = "mach2";
        version = "0.4.1";
        edition = "2015";
        sha256 = "1s5dbscwk0w6czzvhxp9ix9c2djv4fpnj4za9byaclfiphq1h3bd";
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (("macos" == target."os" or null) || ("ios" == target."os" or null));
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "magic-buffer" = rec {
        crateName = "magic-buffer";
        version = "0.1.1";
        edition = "2021";
        sha256 = "0bpzcrwq89cc5q8mgkmsyx39vjsqaxvaxs29qp8k04rndc7ysfh0";
        authors = [
          "Sebastian Klose <mail@sklose.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ("linux" == target."os" or null);
          }
          {
            name = "mach2";
            packageId = "mach2";
            target = { target, features }: (("macos" == target."os" or null) || ("ios" == target."os" or null));
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_System_SystemInformation" "Win32_System_Diagnostics_Debug" "Win32_System_Memory" "Win32_Security" ];
          }
        ];

      };
      "md-5" = rec {
        crateName = "md-5";
        version = "0.9.1";
        edition = "2018";
        sha256 = "059ajjacz1q3cms7vl6cvhdqs4qdw2nnwj9dq99ryzv0p6djfnkv";
        libName = "md5";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "block-buffer";
            packageId = "block-buffer";
          }
          {
            name = "digest";
            packageId = "digest";
          }
          {
            name = "opaque-debug";
            packageId = "opaque-debug";
          }
        ];
        devDependencies = [
          {
            name = "digest";
            packageId = "digest";
            features = [ "dev" ];
          }
        ];
        features = {
          "asm" = [ "md5-asm" ];
          "default" = [ "std" ];
          "md5-asm" = [ "dep:md5-asm" ];
          "std" = [ "digest/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "memchr" = rec {
        crateName = "memchr";
        version = "2.6.4";
        edition = "2021";
        sha256 = "0rq1ka8790ns41j147npvxcqcl2anxyngsdimy85ag2api0fwrgn";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
          "bluss"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "logging" = [ "dep:log" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
          "std" = [ "alloc" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "miniz_oxide" = rec {
        crateName = "miniz_oxide";
        version = "0.7.1";
        edition = "2018";
        sha256 = "1ivl3rbbdm53bzscrd01g60l46lz5krl270487d8lhjvwl5hx0g7";
        authors = [
          "Frommi <daniil.liferenko@gmail.com>"
          "oyvindln <oyvindln@users.noreply.github.com>"
        ];
        dependencies = [
          {
            name = "adler";
            packageId = "adler";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "with-alloc" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "adler/rustc-dep-of-std" ];
          "simd" = [ "simd-adler32" ];
          "simd-adler32" = [ "dep:simd-adler32" ];
        };
      };
      "mio" = rec {
        crateName = "mio";
        version = "0.8.9";
        edition = "2018";
        sha256 = "1l23hg513c23nhcdzvk25caaj28mic6qgqadbn8axgj6bqf2ikix";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ("wasi" == target."os" or null);
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "wasi";
            packageId = "wasi";
            target = { target, features }: ("wasi" == target."os" or null);
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_Networking_WinSock" "Win32_Storage_FileSystem" "Win32_System_IO" "Win32_System_WindowsProgramming" ];
          }
        ];
        features = {
          "default" = [ "log" ];
          "log" = [ "dep:log" ];
          "os-ext" = [ "os-poll" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_Security" ];
        };
        resolvedDefaultFeatures = [ "net" "os-ext" "os-poll" ];
      };
      "nu-ansi-term" = rec {
        crateName = "nu-ansi-term";
        version = "0.46.0";
        edition = "2018";
        sha256 = "115sywxh53p190lyw97alm14nc004qj5jm5lvdj608z84rbida3p";
        authors = [
          "ogham@bsago.me"
          "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>"
          "Josh Triplett <josh@joshtriplett.org>"
          "The Nushell Project Developers"
        ];
        dependencies = [
          {
            name = "overload";
            packageId = "overload";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: ("windows" == target."os" or null);
            features = [ "consoleapi" "errhandlingapi" "fileapi" "handleapi" "processenv" ];
          }
        ];
        features = {
          "derive_serde_style" = [ "serde" ];
          "serde" = [ "dep:serde" ];
        };
      };
      "num-traits" = rec {
        crateName = "num-traits";
        version = "0.2.17";
        edition = "2018";
        sha256 = "0z16bi5zwgfysz6765v3rd6whfbjpihx3mhsn4dg8dzj2c221qrr";
        authors = [
          "The Rust Project Developers"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "libm" = [ "dep:libm" ];
        };
      };
      "num_cpus" = rec {
        crateName = "num_cpus";
        version = "1.16.0";
        edition = "2015";
        sha256 = "0hra6ihpnh06dvfvz9ipscys0xfqa9ca9hzp384d5m02ssvgqqa1";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi";
            target = { target, features }: ("hermit" == target."os" or null);
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (!(target."windows" or false));
          }
        ];

      };
      "object" = rec {
        crateName = "object";
        version = "0.32.1";
        edition = "2018";
        sha256 = "1c02x4kvqpnl3wn7gz9idm4jrbirbycyqjgiw6lm1g9k77fzkxcw";
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "all" = [ "read" "write" "std" "compression" "wasm" ];
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "compression" = [ "dep:flate2" "dep:ruzstd" "std" ];
          "core" = [ "dep:core" ];
          "default" = [ "read" "compression" ];
          "doc" = [ "read_core" "write_std" "std" "compression" "archive" "coff" "elf" "macho" "pe" "wasm" "xcoff" ];
          "pe" = [ "coff" ];
          "read" = [ "read_core" "archive" "coff" "elf" "macho" "pe" "xcoff" "unaligned" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" "alloc" "memchr/rustc-dep-of-std" ];
          "std" = [ "memchr/std" ];
          "unstable-all" = [ "all" "unstable" ];
          "wasm" = [ "dep:wasmparser" ];
          "write" = [ "write_std" "coff" "elf" "macho" "pe" "xcoff" ];
          "write_core" = [ "dep:crc32fast" "dep:indexmap" "dep:hashbrown" ];
          "write_std" = [ "write_core" "std" "indexmap?/std" "crc32fast?/std" ];
        };
        resolvedDefaultFeatures = [ "archive" "coff" "elf" "macho" "pe" "read_core" "unaligned" ];
      };
      "once_cell" = rec {
        crateName = "once_cell";
        version = "1.18.0";
        edition = "2021";
        sha256 = "0vapcd5ambwck95wyz3ymlim35jirgnqn9a0qmi19msymv95v2yx";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        features = {
          "alloc" = [ "race" ];
          "atomic-polyfill" = [ "critical-section" ];
          "critical-section" = [ "dep:critical-section" "dep:atomic-polyfill" ];
          "default" = [ "std" ];
          "parking_lot" = [ "dep:parking_lot_core" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ];
      };
      "opaque-debug" = rec {
        crateName = "opaque-debug";
        version = "0.3.0";
        edition = "2018";
        sha256 = "1m8kzi4nd6shdqimn0mgb24f0hxslhnqd1whakyq06wcqd086jk2";
        authors = [
          "RustCrypto Developers"
        ];

      };
      "openssl-probe" = rec {
        crateName = "openssl-probe";
        version = "0.1.5";
        edition = "2015";
        sha256 = "1kq18qm48rvkwgcggfkqq6pm948190czqc94d6bm2sir5hq1l0gz";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];

      };
      "overload" = rec {
        crateName = "overload";
        version = "0.1.1";
        edition = "2018";
        sha256 = "0fdgbaqwknillagy1xq7xfgv60qdbk010diwl7s1p0qx7hb16n5i";
        authors = [
          "Daniel Salvadori <danaugrs@gmail.com>"
        ];

      };
      "parking_lot" = rec {
        crateName = "parking_lot";
        version = "0.12.1";
        edition = "2018";
        sha256 = "13r2xk7mnxfc5g0g6dkdxqdqad99j7s7z8zhzz4npw5r0g0v4hip";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "lock_api";
            packageId = "lock_api";
          }
          {
            name = "parking_lot_core";
            packageId = "parking_lot_core";
          }
        ];
        features = {
          "arc_lock" = [ "lock_api/arc_lock" ];
          "deadlock_detection" = [ "parking_lot_core/deadlock_detection" ];
          "nightly" = [ "parking_lot_core/nightly" "lock_api/nightly" ];
          "owning_ref" = [ "lock_api/owning_ref" ];
          "serde" = [ "lock_api/serde" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "parking_lot_core" = rec {
        crateName = "parking_lot_core";
        version = "0.9.9";
        edition = "2018";
        sha256 = "13h0imw1aq86wj28gxkblhkzx6z1gk8q18n0v76qmmj6cliajhjc";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: ("redox" == target."os" or null);
          }
          {
            name = "smallvec";
            packageId = "smallvec";
          }
          {
            name = "windows-targets";
            packageId = "windows-targets";
            target = { target, features }: (target."windows" or false);
          }
        ];
        features = {
          "backtrace" = [ "dep:backtrace" ];
          "deadlock_detection" = [ "petgraph" "thread-id" "backtrace" ];
          "petgraph" = [ "dep:petgraph" ];
          "thread-id" = [ "dep:thread-id" ];
        };
      };
      "percent-encoding" = rec {
        crateName = "percent-encoding";
        version = "2.3.0";
        edition = "2018";
        sha256 = "152slflmparkh27hprw62sph8rv77wckzhwl2dhqk6bf563lfalv";
        authors = [
          "The rust-url developers"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "pin-project" = rec {
        crateName = "pin-project";
        version = "1.1.3";
        edition = "2021";
        sha256 = "08k4cpy8q3j93qqgnrbzkcgpn7g0a88l4a9nm33kyghpdhffv97x";
        dependencies = [
          {
            name = "pin-project-internal";
            packageId = "pin-project-internal";
          }
        ];

      };
      "pin-project-internal" = rec {
        crateName = "pin-project-internal";
        version = "1.1.3";
        edition = "2021";
        sha256 = "01a4l3vb84brv9v7wl71chzxra2kynm6yvcjca66xv3ij6fgsna3";
        procMacro = true;
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" "visit-mut" ];
          }
        ];

      };
      "pin-project-lite" = rec {
        crateName = "pin-project-lite";
        version = "0.2.13";
        edition = "2018";
        sha256 = "0n0bwr5qxlf0mhn2xkl36sy55118s9qmvx2yl5f3ixkb007lbywa";

      };
      "pin-utils" = rec {
        crateName = "pin-utils";
        version = "0.1.0";
        edition = "2018";
        sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb";
        authors = [
          "Josef Brandl <mail@josefbrandl.de>"
        ];

      };
      "proc-macro2" = rec {
        crateName = "proc-macro2";
        version = "1.0.69";
        edition = "2021";
        sha256 = "1nljgyllbm3yr3pa081bf83gxh6l4zvjqzaldw7v4mj9xfgihk0k";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "unicode-ident";
            packageId = "unicode-ident";
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "quote" = rec {
        crateName = "quote";
        version = "1.0.33";
        edition = "2018";
        sha256 = "1biw54hbbr12wdwjac55z1m2x2rylciw83qnjn564a3096jgqrsj";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
          "proc-macro" = [ "proc-macro2/proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "redox_syscall" = rec {
        crateName = "redox_syscall";
        version = "0.4.1";
        edition = "2018";
        sha256 = "1aiifyz5dnybfvkk4cdab9p2kmphag1yad6iknc7aszlxxldf8j7";
        libName = "syscall";
        authors = [
          "Jeremy Soller <jackpot51@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags 1.3.2";
          }
        ];
        features = {
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "bitflags/rustc-dep-of-std" ];
        };
      };
      "redox_users" = rec {
        crateName = "redox_users";
        version = "0.4.4";
        edition = "2021";
        sha256 = "1d1c7dhbb62sh8jrq9dhvqcyxqsh3wg8qknsi94iwq3r0wh7k151";
        authors = [
          "Jose Narvaez <goyox86@gmail.com>"
          "Wesley Hershberger <mggmugginsmc@gmail.com>"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom";
            features = [ "std" ];
          }
          {
            name = "libredox";
            packageId = "libredox";
            usesDefaultFeatures = false;
            features = [ "call" ];
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
        ];
        features = {
          "auth" = [ "rust-argon2" "zeroize" ];
          "default" = [ "auth" ];
          "rust-argon2" = [ "dep:rust-argon2" ];
          "zeroize" = [ "dep:zeroize" ];
        };
      };
      "ring 0.16.20" = rec {
        crateName = "ring";
        version = "0.16.20";
        edition = "2018";
        links = "ring-asm";
        sha256 = "1z682xp7v38ayq9g9nkbhhfpj6ygralmlx7wdmsfv8rnw99cylrh";
        authors = [
          "Brian Smith <brian@briansmith.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (("android" == target."os" or null) || ("linux" == target."os" or null));
          }
          {
            name = "once_cell";
            packageId = "once_cell";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: (("android" == target."os" or null) || ("linux" == target."os" or null));
            features = [ "std" ];
          }
          {
            name = "once_cell";
            packageId = "once_cell";
            usesDefaultFeatures = false;
            target = { target, features }: (("dragonfly" == target."os" or null) || ("freebsd" == target."os" or null) || ("illumos" == target."os" or null) || ("netbsd" == target."os" or null) || ("openbsd" == target."os" or null) || ("solaris" == target."os" or null));
            features = [ "std" ];
          }
          {
            name = "spin";
            packageId = "spin 0.5.2";
            usesDefaultFeatures = false;
            target = { target, features }: (("x86" == target."arch" or null) || ("x86_64" == target."arch" or null) || ((("aarch64" == target."arch" or null) || ("arm" == target."arch" or null)) && (("android" == target."os" or null) || ("fuchsia" == target."os" or null) || ("linux" == target."os" or null))));
          }
          {
            name = "untrusted";
            packageId = "untrusted 0.7.1";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            usesDefaultFeatures = false;
            target = { target, features }: (("wasm32" == target."arch" or null) && ("unknown" == target."vendor" or null) && ("unknown" == target."os" or null) && ("" == target."env" or null));
            features = [ "Crypto" "Window" ];
          }
          {
            name = "winapi";
            packageId = "winapi";
            usesDefaultFeatures = false;
            target = { target, features }: ("windows" == target."os" or null);
            features = [ "ntsecapi" "wtypesbase" ];
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: ((target."unix" or false) || (target."windows" or false));
          }
        ];
        features = {
          "default" = [ "alloc" "dev_urandom_fallback" ];
          "dev_urandom_fallback" = [ "once_cell" ];
          "once_cell" = [ "dep:once_cell" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" "once_cell" ];
      };
      "ring 0.17.5" = rec {
        crateName = "ring";
        version = "0.17.5";
        edition = "2021";
        links = "ring_core_0_17_5";
        sha256 = "02sd768l7594rm3jw048z7kkml7zcyw4ir62p6cxirap8wq0a0pv";
        authors = [
          "Brian Smith <brian@briansmith.org>"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (("android" == target."os" or null) || ("linux" == target."os" or null));
          }
          {
            name = "spin";
            packageId = "spin 0.9.8";
            usesDefaultFeatures = false;
            target = { target, features }: (("x86" == target."arch" or null) || ("x86_64" == target."arch" or null) || ((("aarch64" == target."arch" or null) || ("arm" == target."arch" or null)) && (("android" == target."os" or null) || ("fuchsia" == target."os" or null) || ("linux" == target."os" or null) || ("windows" == target."os" or null))));
            features = [ "once" ];
          }
          {
            name = "untrusted";
            packageId = "untrusted 0.9.0";
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (("aarch64" == target."arch" or null) && ("windows" == target."os" or null));
            features = [ "Win32_Foundation" "Win32_System_Threading" ];
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: ((target."unix" or false) || (target."windows" or false) || ("wasi" == target."os" or null));
          }
        ];
        features = {
          "default" = [ "alloc" "dev_urandom_fallback" ];
          "std" = [ "alloc" ];
          "wasm32_unknown_unknown_js" = [ "getrandom/js" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" ];
      };
      "rusoto_core" = rec {
        crateName = "rusoto_core";
        version = "0.48.0";
        edition = "2018";
        sha256 = "18ig9x4n68cgfvhzkyhl9w2qlhk945xczbb9c8r52dd79ss0vcqx";
        authors = [
          "Anthony DiMarco <ocramida@gmail.com>"
          "Jimmy Cuadra <jimmy@jimmycuadra.com>"
          "Matthew Mayer <matthewkmayer@gmail.com>"
          "Nikita Pekin <contact@nikitapek.in>"
        ];
        dependencies = [
          {
            name = "async-trait";
            packageId = "async-trait";
          }
          {
            name = "base64";
            packageId = "base64 0.13.1";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "crc32fast";
            packageId = "crc32fast";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "client" "http1" "http2" "tcp" ];
          }
          {
            name = "hyper-rustls";
            packageId = "hyper-rustls";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "http1" "http2" "tls12" "logging" ];
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "rusoto_credential";
            packageId = "rusoto_credential";
          }
          {
            name = "rusoto_signature";
            packageId = "rusoto_signature";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "time" "io-util" ];
          }
          {
            name = "xml-rs";
            packageId = "xml-rs";
          }
        ];
        buildDependencies = [
          {
            name = "rustc_version";
            packageId = "rustc_version";
          }
        ];
        devDependencies = [
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "macros" ];
          }
        ];
        features = {
          "default" = [ "native-tls" ];
          "encoding" = [ "flate2" ];
          "flate2" = [ "dep:flate2" ];
          "hyper-rustls" = [ "dep:hyper-rustls" ];
          "hyper-tls" = [ "dep:hyper-tls" ];
          "native-tls" = [ "hyper-tls" ];
          "nightly-testing" = [ "rusoto_credential/nightly-testing" ];
          "rustls" = [ "hyper-rustls/native-tokio" ];
          "rustls-webpki" = [ "hyper-rustls/webpki-tokio" ];
        };
        resolvedDefaultFeatures = [ "hyper-rustls" "rustls" ];
      };
      "rusoto_credential" = rec {
        crateName = "rusoto_credential";
        version = "0.48.0";
        edition = "2018";
        sha256 = "019dq3aq6hnfg4xvxdfsnrba08dwvciz0km4nr3n1basvc9nq2pf";
        authors = [
          "Anthony DiMarco <ocramida@gmail.com>"
          "Jimmy Cuadra <jimmy@jimmycuadra.com>"
          "Matthew Mayer <matthewkmayer@gmail.com>"
          "Nikita Pekin <contact@nikitapek.in>"
        ];
        dependencies = [
          {
            name = "async-trait";
            packageId = "async-trait";
          }
          {
            name = "chrono";
            packageId = "chrono";
            usesDefaultFeatures = false;
            features = [ "clock" "serde" ];
          }
          {
            name = "dirs-next";
            packageId = "dirs-next";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "client" "http1" "tcp" "stream" ];
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "shlex";
            packageId = "shlex";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "process" "sync" "time" ];
          }
          {
            name = "zeroize";
            packageId = "zeroize";
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "macros" "rt-multi-thread" ];
          }
        ];
        features = { };
      };
      "rusoto_s3" = rec {
        crateName = "rusoto_s3";
        version = "0.48.0";
        edition = "2018";
        sha256 = "0kdiqljcq1wg26mp0vnn2wwjj0slxya63mhjnjqgc49l31vldbks";
        authors = [
          "Anthony DiMarco <ocramida@gmail.com>"
          "Jimmy Cuadra <jimmy@jimmycuadra.com>"
          "Matthew Mayer <matthewkmayer@gmail.com>"
          "Nikita Pekin <contact@nikitapek.in>"
        ];
        dependencies = [
          {
            name = "async-trait";
            packageId = "async-trait";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "rusoto_core";
            packageId = "rusoto_core";
            usesDefaultFeatures = false;
          }
          {
            name = "xml-rs";
            packageId = "xml-rs";
          }
        ];
        features = {
          "default" = [ "native-tls" ];
          "deserialize_structs" = [ "bytes/serde" "serde" "serde_derive" ];
          "native-tls" = [ "rusoto_core/native-tls" ];
          "rustls" = [ "rusoto_core/rustls" ];
          "serde" = [ "dep:serde" ];
          "serde_derive" = [ "dep:serde_derive" ];
          "serialize_structs" = [ "bytes/serde" "serde" "serde_derive" ];
        };
        resolvedDefaultFeatures = [ "rustls" ];
      };
      "rusoto_signature" = rec {
        crateName = "rusoto_signature";
        version = "0.48.0";
        edition = "2018";
        sha256 = "0wjjn3n3a01xxc1kdwqkrbw6zkgc4w8ia6r93s9lfj4b3i4rbbm5";
        authors = [
          "Anthony DiMarco <ocramida@gmail.com>"
          "Jimmy Cuadra <jimmy@jimmycuadra.com>"
          "Matthew Mayer <matthewkmayer@gmail.com>"
          "Nikita Pekin <contact@nikitapek.in>"
        ];
        dependencies = [
          {
            name = "base64";
            packageId = "base64 0.13.1";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "chrono";
            packageId = "chrono";
            usesDefaultFeatures = false;
            features = [ "clock" ];
          }
          {
            name = "digest";
            packageId = "digest";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "hex";
            packageId = "hex";
          }
          {
            name = "hmac";
            packageId = "hmac";
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "stream" ];
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "md-5";
            packageId = "md-5";
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "rusoto_credential";
            packageId = "rusoto_credential";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "sha2";
            packageId = "sha2";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "macros" "rt-multi-thread" ];
          }
        ];
        buildDependencies = [
          {
            name = "rustc_version";
            packageId = "rustc_version";
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" ];
          }
        ];

      };
      "rustc-demangle" = rec {
        crateName = "rustc-demangle";
        version = "0.1.23";
        edition = "2015";
        sha256 = "0xnbk2bmyzshacjm2g1kd4zzv2y2az14bw3sjccq5qkpmsfvn9nn";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "rustc_version" = rec {
        crateName = "rustc_version";
        version = "0.4.0";
        edition = "2018";
        sha256 = "0rpk9rcdk405xhbmgclsh4pai0svn49x35aggl4nhbkd4a2zb85z";
        authors = [
          "Dirkjan Ochtman <dirkjan@ochtman.nl>"
          "Marvin Lรถbel <loebel.marvin@gmail.com>"
        ];
        dependencies = [
          {
            name = "semver";
            packageId = "semver";
          }
        ];

      };
      "rustls" = rec {
        crateName = "rustls";
        version = "0.20.9";
        edition = "2018";
        sha256 = "16byazb8jfr06kgbijy92bdk0ila806g6a00a6l9x64mqpgf700v";
        dependencies = [
          {
            name = "log";
            packageId = "log";
            optional = true;
          }
          {
            name = "ring";
            packageId = "ring 0.16.20";
          }
          {
            name = "sct";
            packageId = "sct";
          }
          {
            name = "webpki";
            packageId = "webpki";
            features = [ "alloc" "std" ];
          }
        ];
        devDependencies = [
          {
            name = "log";
            packageId = "log";
          }
        ];
        features = {
          "default" = [ "logging" "tls12" ];
          "log" = [ "dep:log" ];
          "logging" = [ "log" ];
          "read_buf" = [ "rustversion" ];
          "rustversion" = [ "dep:rustversion" ];
        };
        resolvedDefaultFeatures = [ "log" "logging" "tls12" ];
      };
      "rustls-native-certs" = rec {
        crateName = "rustls-native-certs";
        version = "0.6.3";
        edition = "2021";
        sha256 = "007zind70rd5rfsrkdcfm8vn09j8sg02phg9334kark6rdscxam9";
        dependencies = [
          {
            name = "openssl-probe";
            packageId = "openssl-probe";
            target = { target, features }: ((target."unix" or false) && (!("macos" == target."os" or null)));
          }
          {
            name = "rustls-pemfile";
            packageId = "rustls-pemfile";
          }
          {
            name = "schannel";
            packageId = "schannel";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "security-framework";
            packageId = "security-framework";
            target = { target, features }: ("macos" == target."os" or null);
          }
        ];

      };
      "rustls-pemfile" = rec {
        crateName = "rustls-pemfile";
        version = "1.0.4";
        edition = "2018";
        sha256 = "1324n5bcns0rnw6vywr5agff3rwfvzphi7rmbyzwnv6glkhclx0w";
        dependencies = [
          {
            name = "base64";
            packageId = "base64 0.21.5";
          }
        ];

      };
      "ryu" = rec {
        crateName = "ryu";
        version = "1.0.15";
        edition = "2018";
        sha256 = "0hfphpn1xnpzxwj8qg916ga1lyc33lc03lnf1gb3wwpglj6wrm0s";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "no-panic" = [ "dep:no-panic" ];
        };
      };
      "schannel" = rec {
        crateName = "schannel";
        version = "0.1.22";
        edition = "2018";
        sha256 = "126zy5jb95fc5hvzyjwiq6lc81r08rdcn6affn00ispp9jzk6dqc";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Steffen Butzer <steffen.butzer@outlook.com>"
        ];
        dependencies = [
          {
            name = "windows-sys";
            packageId = "windows-sys";
            features = [ "Win32_Foundation" "Win32_Security_Cryptography" "Win32_Security_Authentication_Identity" "Win32_Security_Credentials" "Win32_System_Memory" ];
          }
        ];
        devDependencies = [
          {
            name = "windows-sys";
            packageId = "windows-sys";
            features = [ "Win32_System_SystemInformation" "Win32_System_Time" ];
          }
        ];

      };
      "scopeguard" = rec {
        crateName = "scopeguard";
        version = "1.2.0";
        edition = "2015";
        sha256 = "0jcz9sd47zlsgcnm1hdw0664krxwb5gczlif4qngj2aif8vky54l";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "use_std" ];
        };
      };
      "sct" = rec {
        crateName = "sct";
        version = "0.7.1";
        edition = "2021";
        sha256 = "056lmi2xkzdg1dbai6ha3n57s18cbip4pnmpdhyljli3m99n216s";
        authors = [
          "Joseph Birr-Pixton <jpixton@gmail.com>"
        ];
        dependencies = [
          {
            name = "ring";
            packageId = "ring 0.17.5";
          }
          {
            name = "untrusted";
            packageId = "untrusted 0.9.0";
          }
        ];

      };
      "security-framework" = rec {
        crateName = "security-framework";
        version = "2.9.2";
        edition = "2021";
        sha256 = "1pplxk15s5yxvi2m1sz5xfmjibp96cscdcl432w9jzbk0frlzdh5";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Kornel <kornel@geekhood.net>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags 1.3.2";
          }
          {
            name = "core-foundation";
            packageId = "core-foundation";
          }
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "security-framework-sys";
            packageId = "security-framework-sys";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "OSX_10_10" = [ "OSX_10_9" "security-framework-sys/OSX_10_10" ];
          "OSX_10_11" = [ "OSX_10_10" "security-framework-sys/OSX_10_11" ];
          "OSX_10_12" = [ "OSX_10_11" "security-framework-sys/OSX_10_12" ];
          "OSX_10_13" = [ "OSX_10_12" "security-framework-sys/OSX_10_13" "alpn" "session-tickets" "serial-number-bigint" ];
          "OSX_10_14" = [ "OSX_10_13" "security-framework-sys/OSX_10_14" ];
          "OSX_10_15" = [ "OSX_10_14" "security-framework-sys/OSX_10_15" ];
          "OSX_10_9" = [ "security-framework-sys/OSX_10_9" ];
          "default" = [ "OSX_10_9" ];
          "log" = [ "dep:log" ];
          "serial-number-bigint" = [ "dep:num-bigint" ];
        };
        resolvedDefaultFeatures = [ "OSX_10_9" "default" ];
      };
      "security-framework-sys" = rec {
        crateName = "security-framework-sys";
        version = "2.9.1";
        edition = "2021";
        sha256 = "0yhciwlsy9dh0ps1gw3197kvyqx1bvc4knrhiznhid6kax196cp9";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Kornel <kornel@geekhood.net>"
        ];
        dependencies = [
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "OSX_10_10" = [ "OSX_10_9" ];
          "OSX_10_11" = [ "OSX_10_10" ];
          "OSX_10_12" = [ "OSX_10_11" ];
          "OSX_10_13" = [ "OSX_10_12" ];
          "OSX_10_14" = [ "OSX_10_13" ];
          "OSX_10_15" = [ "OSX_10_14" ];
          "default" = [ "OSX_10_9" ];
        };
        resolvedDefaultFeatures = [ "OSX_10_9" ];
      };
      "semver" = rec {
        crateName = "semver";
        version = "1.0.20";
        edition = "2018";
        sha256 = "140hmbfa743hbmah1zjf07s8apavhvn04204qjigjiz5w6iscvw3";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "serde" = rec {
        crateName = "serde";
        version = "1.0.192";
        edition = "2018";
        sha256 = "00ghhaabyrnr2cn504lckyqzh3fwr8k7pxnhhardr1djhj2a18mw";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
            optional = true;
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
            target = { target, features }: false;
          }
        ];
        devDependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
        ];
        features = {
          "default" = [ "std" ];
          "derive" = [ "serde_derive" ];
          "serde_derive" = [ "dep:serde_derive" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "derive" "serde_derive" "std" ];
      };
      "serde_derive" = rec {
        crateName = "serde_derive";
        version = "1.0.192";
        edition = "2015";
        sha256 = "1hgvm47ffd748sx22z1da7mgcfjmpr60gqzkff0a9yn9przj1iyn";
        procMacro = true;
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "serde_json" = rec {
        crateName = "serde_json";
        version = "1.0.108";
        edition = "2021";
        sha256 = "0ssj59s7lpzqh1m50kfzlnrip0p0jg9lmhn4098i33a0mhz7w71x";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "alloc" = [ "serde/alloc" ];
          "default" = [ "std" ];
          "indexmap" = [ "dep:indexmap" ];
          "preserve_order" = [ "indexmap" "std" ];
          "std" = [ "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "serde_path_to_error" = rec {
        crateName = "serde_path_to_error";
        version = "0.1.14";
        edition = "2021";
        sha256 = "0dc31z4bg0jwn69gcqsczbmcy5y4w6r0vdcc4c38vma9x2ycivjb";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "serde";
            packageId = "serde";
          }
        ];

      };
      "sha2" = rec {
        crateName = "sha2";
        version = "0.9.9";
        edition = "2018";
        sha256 = "006q2f0ar26xcjxqz8zsncfgz86zqa5dkwlwv03rhx1rpzhs2n2d";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "block-buffer";
            packageId = "block-buffer";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "cpufeatures";
            packageId = "cpufeatures";
            target = { target, features }: (("aarch64" == target."arch" or null) || ("x86_64" == target."arch" or null) || ("x86" == target."arch" or null));
          }
          {
            name = "digest";
            packageId = "digest";
          }
          {
            name = "opaque-debug";
            packageId = "opaque-debug";
          }
        ];
        devDependencies = [
          {
            name = "digest";
            packageId = "digest";
            features = [ "dev" ];
          }
        ];
        features = {
          "asm" = [ "sha2-asm" ];
          "asm-aarch64" = [ "asm" ];
          "default" = [ "std" ];
          "sha2-asm" = [ "dep:sha2-asm" ];
          "std" = [ "digest/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "sharded-slab" = rec {
        crateName = "sharded-slab";
        version = "0.1.7";
        edition = "2018";
        sha256 = "1xipjr4nqsgw34k7a2cgj9zaasl2ds6jwn89886kww93d32a637l";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
        ];
        features = {
          "loom" = [ "dep:loom" ];
        };
      };
      "shlex" = rec {
        crateName = "shlex";
        version = "1.2.0";
        edition = "2015";
        sha256 = "1033pj9dyb76nm5yv597nnvj3zpvr2aw9rm5wy0gah3dk99f1km7";
        authors = [
          "comex <comexk@gmail.com>"
          "Fenhl <fenhl@fenhl.net>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "signal-hook-registry" = rec {
        crateName = "signal-hook-registry";
        version = "1.4.1";
        edition = "2015";
        sha256 = "18crkkw5k82bvcx088xlf5g4n3772m24qhzgfan80nda7d3rn8nq";
        authors = [
          "Michal 'vorner' Vaner <vorner@vorner.cz>"
          "Masaki Hara <ackie.h.gmai@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];

      };
      "slab" = rec {
        crateName = "slab";
        version = "0.4.9";
        edition = "2018";
        sha256 = "0rxvsgir0qw5lkycrqgb1cxsvxzjv9bmx73bk5y42svnzfba94lg";
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "smallvec" = rec {
        crateName = "smallvec";
        version = "1.11.2";
        edition = "2018";
        sha256 = "0w79x38f7c0np7hqfmzrif9zmn0avjvvm31b166zdk9d1aad1k2d";
        authors = [
          "The Servo Project Developers"
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "const_new" = [ "const_generics" ];
          "drain_keep_rest" = [ "drain_filter" ];
          "serde" = [ "dep:serde" ];
        };
      };
      "socket2 0.4.10" = rec {
        crateName = "socket2";
        version = "0.4.10";
        edition = "2018";
        sha256 = "03ack54dxhgfifzsj14k7qa3r5c9wqy3v6mqhlim99cc03y1cycz";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "handleapi" "ws2ipdef" "ws2tcpip" ];
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "all" ];
      };
      "socket2 0.5.5" = rec {
        crateName = "socket2";
        version = "0.5.5";
        edition = "2021";
        sha256 = "1sgq315f1njky114ip7wcy83qlphv9qclprfjwvxcpfblmcsqpvv";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_Networking_WinSock" "Win32_System_IO" "Win32_System_Threading" "Win32_System_WindowsProgramming" ];
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "all" ];
      };
      "spin 0.5.2" = rec {
        crateName = "spin";
        version = "0.5.2";
        edition = "2015";
        sha256 = "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf";
        authors = [
          "Mathijs van de Nes <git@mathijs.vd-nes.nl>"
          "John Ericson <git@JohnEricson.me>"
        ];

      };
      "spin 0.9.8" = rec {
        crateName = "spin";
        version = "0.9.8";
        edition = "2015";
        sha256 = "0rvam5r0p3a6qhc18scqpvpgb3ckzyqxpgdfyjnghh8ja7byi039";
        authors = [
          "Mathijs van de Nes <git@mathijs.vd-nes.nl>"
          "John Ericson <git@JohnEricson.me>"
          "Joshua Barretto <joshua.s.barretto@gmail.com>"
        ];
        features = {
          "barrier" = [ "mutex" ];
          "default" = [ "lock_api" "mutex" "spin_mutex" "rwlock" "once" "lazy" "barrier" ];
          "fair_mutex" = [ "mutex" ];
          "lazy" = [ "once" ];
          "lock_api" = [ "lock_api_crate" ];
          "lock_api_crate" = [ "dep:lock_api_crate" ];
          "portable-atomic" = [ "dep:portable-atomic" ];
          "portable_atomic" = [ "portable-atomic" ];
          "spin_mutex" = [ "mutex" ];
          "ticket_mutex" = [ "mutex" ];
          "use_ticket_mutex" = [ "mutex" "ticket_mutex" ];
        };
        resolvedDefaultFeatures = [ "once" ];
      };
      "subtle" = rec {
        crateName = "subtle";
        version = "2.4.1";
        edition = "2015";
        sha256 = "00b6jzh9gzb0h9n25g06nqr90z3xzqppfhhb260s1hjhh4pg7pkb";
        authors = [
          "Isis Lovecruft <isis@patternsinthevoid.net>"
          "Henry de Valence <hdevalence@hdevalence.ca>"
        ];
        features = {
          "default" = [ "std" "i128" ];
        };
      };
      "syn" = rec {
        crateName = "syn";
        version = "2.0.39";
        edition = "2021";
        sha256 = "0ymyhxnk1yi4pzf72qk3lrdm9lgjwcrcwci0hhz5vx7wya88prr3";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "unicode-ident";
            packageId = "unicode-ident";
          }
        ];
        features = {
          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
          "printing" = [ "quote" ];
          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
          "quote" = [ "dep:quote" ];
          "test" = [ "syn-test-suite/all-features" ];
        };
        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" "visit-mut" ];
      };
      "thiserror" = rec {
        crateName = "thiserror";
        version = "1.0.50";
        edition = "2021";
        sha256 = "1ll2sfbrxks8jja161zh1pgm3yssr7aawdmaa2xmcwcsbh7j39zr";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "thiserror-impl";
            packageId = "thiserror-impl";
          }
        ];

      };
      "thiserror-impl" = rec {
        crateName = "thiserror-impl";
        version = "1.0.50";
        edition = "2021";
        sha256 = "1f0lmam4765sfnwr4b1n00y14vxh10g0311mkk0adr80pi02wsr6";
        procMacro = true;
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
          }
        ];

      };
      "thread_local" = rec {
        crateName = "thread_local";
        version = "1.1.7";
        edition = "2021";
        sha256 = "0lp19jdgvp5m4l60cgxdnl00yw1hlqy8gcywg9bddwng9h36zp9z";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
          }
        ];
        features = { };
      };
      "tokio" = rec {
        crateName = "tokio";
        version = "1.34.0";
        edition = "2021";
        sha256 = "1fgmssdga42a2hn9spm9dh1v9ajpcbs4r3svmzvk9s0iciv19h6h";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "backtrace";
            packageId = "backtrace";
            target = { target, features }: (target."tokio_taskdump" or false);
          }
          {
            name = "bytes";
            packageId = "bytes";
            optional = true;
          }
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "mio";
            packageId = "mio";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "num_cpus";
            packageId = "num_cpus";
            optional = true;
          }
          {
            name = "parking_lot";
            packageId = "parking_lot";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "signal-hook-registry";
            packageId = "signal-hook-registry";
            optional = true;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "socket2";
            packageId = "socket2 0.5.5";
            optional = true;
            target = { target, features }: (!(builtins.elem "wasm" target."family"));
            features = [ "all" ];
          }
          {
            name = "tokio-macros";
            packageId = "tokio-macros";
            optional = true;
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            optional = true;
            target = { target, features }: (target."windows" or false);
          }
        ];
        devDependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "socket2";
            packageId = "socket2 0.5.5";
            target = { target, features }: (!(builtins.elem "wasm" target."family"));
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_Security_Authorization" ];
          }
        ];
        features = {
          "bytes" = [ "dep:bytes" ];
          "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ];
          "io-util" = [ "bytes" ];
          "libc" = [ "dep:libc" ];
          "macros" = [ "tokio-macros" ];
          "mio" = [ "dep:mio" ];
          "net" = [ "libc" "mio/os-poll" "mio/os-ext" "mio/net" "socket2" "windows-sys/Win32_Foundation" "windows-sys/Win32_Security" "windows-sys/Win32_Storage_FileSystem" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_System_SystemServices" ];
          "num_cpus" = [ "dep:num_cpus" ];
          "parking_lot" = [ "dep:parking_lot" ];
          "process" = [ "bytes" "libc" "mio/os-poll" "mio/os-ext" "mio/net" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Threading" "windows-sys/Win32_System_WindowsProgramming" ];
          "rt-multi-thread" = [ "num_cpus" "rt" ];
          "signal" = [ "libc" "mio/os-poll" "mio/net" "mio/os-ext" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Console" ];
          "signal-hook-registry" = [ "dep:signal-hook-registry" ];
          "socket2" = [ "dep:socket2" ];
          "test-util" = [ "rt" "sync" "time" ];
          "tokio-macros" = [ "dep:tokio-macros" ];
          "tracing" = [ "dep:tracing" ];
          "windows-sys" = [ "dep:windows-sys" ];
        };
        resolvedDefaultFeatures = [ "bytes" "default" "fs" "full" "io-std" "io-util" "libc" "macros" "mio" "net" "num_cpus" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "signal-hook-registry" "socket2" "sync" "time" "tokio-macros" "windows-sys" ];
      };
      "tokio-macros" = rec {
        crateName = "tokio-macros";
        version = "2.2.0";
        edition = "2021";
        sha256 = "0fwjy4vdx1h9pi4g2nml72wi0fr27b5m954p13ji9anyy8l1x2jv";
        procMacro = true;
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];

      };
      "tokio-rustls" = rec {
        crateName = "tokio-rustls";
        version = "0.23.4";
        edition = "2018";
        sha256 = "0nfsmmi8l1lgpbfy6079d5i13984djzcxrdr9jc06ghi0cwyhgn4";
        authors = [
          "quininer kel <quininer@live.com>"
        ];
        dependencies = [
          {
            name = "rustls";
            packageId = "rustls";
            usesDefaultFeatures = false;
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
          {
            name = "webpki";
            packageId = "webpki";
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" ];
          }
        ];
        features = {
          "dangerous_configuration" = [ "rustls/dangerous_configuration" ];
          "default" = [ "logging" "tls12" ];
          "logging" = [ "rustls/logging" ];
          "tls12" = [ "rustls/tls12" ];
        };
        resolvedDefaultFeatures = [ "logging" "tls12" ];
      };
      "tokio-stream" = rec {
        crateName = "tokio-stream";
        version = "0.1.14";
        edition = "2021";
        sha256 = "0hi8hcwavh5sdi1ivc9qc4yvyr32f153c212dpd7sb366y6rhz1r";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" "test-util" ];
          }
        ];
        features = {
          "default" = [ "time" ];
          "fs" = [ "tokio/fs" ];
          "full" = [ "time" "net" "io-util" "fs" "sync" "signal" ];
          "io-util" = [ "tokio/io-util" ];
          "net" = [ "tokio/net" ];
          "signal" = [ "tokio/signal" ];
          "sync" = [ "tokio/sync" "tokio-util" ];
          "time" = [ "tokio/time" ];
          "tokio-util" = [ "dep:tokio-util" ];
        };
        resolvedDefaultFeatures = [ "default" "time" ];
      };
      "tokio-util" = rec {
        crateName = "tokio-util";
        version = "0.7.10";
        edition = "2021";
        sha256 = "058y6x4mf0fsqji9rfyb77qbfyc50y4pk2spqgj6xsyr693z66al";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
          {
            name = "tracing";
            packageId = "tracing";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" ];
          }
        ];
        features = {
          "__docs_rs" = [ "futures-util" ];
          "codec" = [ "tracing" ];
          "compat" = [ "futures-io" ];
          "full" = [ "codec" "compat" "io-util" "time" "net" "rt" ];
          "futures-io" = [ "dep:futures-io" ];
          "futures-util" = [ "dep:futures-util" ];
          "hashbrown" = [ "dep:hashbrown" ];
          "io-util" = [ "io" "tokio/rt" "tokio/io-util" ];
          "net" = [ "tokio/net" ];
          "rt" = [ "tokio/rt" "tokio/sync" "futures-util" "hashbrown" ];
          "slab" = [ "dep:slab" ];
          "time" = [ "tokio/time" "slab" ];
          "tracing" = [ "dep:tracing" ];
        };
        resolvedDefaultFeatures = [ "codec" "default" "tracing" ];
      };
      "tower" = rec {
        crateName = "tower";
        version = "0.4.13";
        edition = "2018";
        sha256 = "073wncyqav4sak1p755hf6vl66njgfc1z1g1di9rxx3cvvh9pymq";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            optional = true;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "pin-project";
            packageId = "pin-project";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
            optional = true;
          }
          {
            name = "tower-layer";
            packageId = "tower-layer";
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
          {
            name = "tracing";
            packageId = "tracing";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        devDependencies = [
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
        ];
        features = {
          "__common" = [ "futures-core" "pin-project-lite" ];
          "balance" = [ "discover" "load" "ready-cache" "make" "rand" "slab" ];
          "buffer" = [ "__common" "tokio/sync" "tokio/rt" "tokio-util" "tracing" ];
          "default" = [ "log" ];
          "discover" = [ "__common" ];
          "filter" = [ "__common" "futures-util" ];
          "full" = [ "balance" "buffer" "discover" "filter" "hedge" "limit" "load" "load-shed" "make" "ready-cache" "reconnect" "retry" "spawn-ready" "steer" "timeout" "util" ];
          "futures-core" = [ "dep:futures-core" ];
          "futures-util" = [ "dep:futures-util" ];
          "hdrhistogram" = [ "dep:hdrhistogram" ];
          "hedge" = [ "util" "filter" "futures-util" "hdrhistogram" "tokio/time" "tracing" ];
          "indexmap" = [ "dep:indexmap" ];
          "limit" = [ "__common" "tokio/time" "tokio/sync" "tokio-util" "tracing" ];
          "load" = [ "__common" "tokio/time" "tracing" ];
          "load-shed" = [ "__common" ];
          "log" = [ "tracing/log" ];
          "make" = [ "futures-util" "pin-project-lite" "tokio/io-std" ];
          "pin-project" = [ "dep:pin-project" ];
          "pin-project-lite" = [ "dep:pin-project-lite" ];
          "rand" = [ "dep:rand" ];
          "ready-cache" = [ "futures-core" "futures-util" "indexmap" "tokio/sync" "tracing" "pin-project-lite" ];
          "reconnect" = [ "make" "tokio/io-std" "tracing" ];
          "retry" = [ "__common" "tokio/time" ];
          "slab" = [ "dep:slab" ];
          "spawn-ready" = [ "__common" "futures-util" "tokio/sync" "tokio/rt" "util" "tracing" ];
          "timeout" = [ "pin-project-lite" "tokio/time" ];
          "tokio" = [ "dep:tokio" ];
          "tokio-stream" = [ "dep:tokio-stream" ];
          "tokio-util" = [ "dep:tokio-util" ];
          "tracing" = [ "dep:tracing" ];
          "util" = [ "__common" "futures-util" "pin-project" ];
        };
        resolvedDefaultFeatures = [ "__common" "default" "futures-core" "futures-util" "log" "pin-project" "pin-project-lite" "tracing" "util" ];
      };
      "tower-layer" = rec {
        crateName = "tower-layer";
        version = "0.3.2";
        edition = "2018";
        sha256 = "1l7i17k9vlssrdg4s3b0ia5jjkmmxsvv8s9y9ih0jfi8ssz8s362";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];

      };
      "tower-service" = rec {
        crateName = "tower-service";
        version = "0.3.2";
        edition = "2018";
        sha256 = "0lmfzmmvid2yp2l36mbavhmqgsvzqf7r2wiwz73ml4xmwaf1rg5n";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];

      };
      "tracing" = rec {
        crateName = "tracing";
        version = "0.1.40";
        edition = "2018";
        sha256 = "1vv48dac9zgj9650pg2b4d0j3w6f3x9gbggf43scq5hrlysklln3";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "log";
            packageId = "log";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tracing-attributes";
            packageId = "tracing-attributes";
            optional = true;
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "log";
            packageId = "log";
          }
        ];
        features = {
          "attributes" = [ "tracing-attributes" ];
          "default" = [ "std" "attributes" ];
          "log" = [ "dep:log" ];
          "log-always" = [ "log" ];
          "std" = [ "tracing-core/std" ];
          "tracing-attributes" = [ "dep:tracing-attributes" ];
          "valuable" = [ "tracing-core/valuable" ];
        };
        resolvedDefaultFeatures = [ "attributes" "default" "log" "std" "tracing-attributes" ];
      };
      "tracing-attributes" = rec {
        crateName = "tracing-attributes";
        version = "0.1.27";
        edition = "2018";
        sha256 = "1rvb5dn9z6d0xdj14r403z0af0bbaqhg02hq4jc97g5wds6lqw1l";
        procMacro = true;
        authors = [
          "Tokio Contributors <team@tokio.rs>"
          "Eliza Weisman <eliza@buoyant.io>"
          "David Barsky <dbarsky@amazon.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            usesDefaultFeatures = false;
            features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ];
          }
        ];
        features = { };
      };
      "tracing-core" = rec {
        crateName = "tracing-core";
        version = "0.1.32";
        edition = "2018";
        sha256 = "0m5aglin3cdwxpvbg6kz0r9r0k31j48n0kcfwsp6l49z26k3svf0";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "once_cell";
            packageId = "once_cell";
            optional = true;
          }
          {
            name = "valuable";
            packageId = "valuable";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: (target."tracing_unstable" or false);
          }
        ];
        features = {
          "default" = [ "std" "valuable/std" ];
          "once_cell" = [ "dep:once_cell" ];
          "std" = [ "once_cell" ];
          "valuable" = [ "dep:valuable" ];
        };
        resolvedDefaultFeatures = [ "default" "once_cell" "std" "valuable" ];
      };
      "tracing-log" = rec {
        crateName = "tracing-log";
        version = "0.1.4";
        edition = "2018";
        sha256 = "1wmxawaz94sk52i4vs2wg5d5clyks972rqskrvc93rxl14ki2lgp";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
          }
        ];
        features = {
          "ahash" = [ "dep:ahash" ];
          "default" = [ "log-tracer" "trace-logger" "std" ];
          "env_logger" = [ "dep:env_logger" ];
          "interest-cache" = [ "lru" "ahash" ];
          "lru" = [ "dep:lru" ];
          "std" = [ "log/std" ];
        };
        resolvedDefaultFeatures = [ "log-tracer" "std" ];
      };
      "tracing-serde" = rec {
        crateName = "tracing-serde";
        version = "0.1.3";
        edition = "2018";
        sha256 = "1qfr0va69djvxqvjrx4vqq7p6myy414lx4w1f6amcn0hfwqj2sxw";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
          }
        ];
        features = {
          "valuable" = [ "valuable_crate" "valuable-serde" "tracing-core/valuable" ];
          "valuable-serde" = [ "dep:valuable-serde" ];
          "valuable_crate" = [ "dep:valuable_crate" ];
        };
      };
      "tracing-subscriber" = rec {
        crateName = "tracing-subscriber";
        version = "0.3.17";
        edition = "2018";
        sha256 = "0xvwfpmb943hdy4gzyn7a2azgigf30mfd1kx10gyh5gr6yy539ih";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "David Barsky <me@davidbarsky.com>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "nu-ansi-term";
            packageId = "nu-ansi-term";
            optional = true;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            optional = true;
          }
          {
            name = "sharded-slab";
            packageId = "sharded-slab";
            optional = true;
          }
          {
            name = "smallvec";
            packageId = "smallvec";
            optional = true;
          }
          {
            name = "thread_local";
            packageId = "thread_local";
            optional = true;
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
            usesDefaultFeatures = false;
          }
          {
            name = "tracing-log";
            packageId = "tracing-log";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "log-tracer" "std" ];
          }
          {
            name = "tracing-serde";
            packageId = "tracing-serde";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "tracing-log";
            packageId = "tracing-log";
          }
        ];
        features = {
          "ansi" = [ "fmt" "nu-ansi-term" ];
          "default" = [ "smallvec" "fmt" "ansi" "tracing-log" "std" ];
          "env-filter" = [ "matchers" "regex" "once_cell" "tracing" "std" "thread_local" ];
          "fmt" = [ "registry" "std" ];
          "json" = [ "tracing-serde" "serde" "serde_json" ];
          "local-time" = [ "time/local-offset" ];
          "matchers" = [ "dep:matchers" ];
          "nu-ansi-term" = [ "dep:nu-ansi-term" ];
          "once_cell" = [ "dep:once_cell" ];
          "parking_lot" = [ "dep:parking_lot" ];
          "regex" = [ "dep:regex" ];
          "registry" = [ "sharded-slab" "thread_local" "std" ];
          "serde" = [ "dep:serde" ];
          "serde_json" = [ "dep:serde_json" ];
          "sharded-slab" = [ "dep:sharded-slab" ];
          "smallvec" = [ "dep:smallvec" ];
          "std" = [ "alloc" "tracing-core/std" ];
          "thread_local" = [ "dep:thread_local" ];
          "time" = [ "dep:time" ];
          "tracing" = [ "dep:tracing" ];
          "tracing-log" = [ "dep:tracing-log" ];
          "tracing-serde" = [ "dep:tracing-serde" ];
          "valuable" = [ "tracing-core/valuable" "valuable_crate" "valuable-serde" "tracing-serde/valuable" ];
          "valuable-serde" = [ "dep:valuable-serde" ];
          "valuable_crate" = [ "dep:valuable_crate" ];
        };
        resolvedDefaultFeatures = [ "alloc" "ansi" "default" "fmt" "json" "nu-ansi-term" "registry" "serde" "serde_json" "sharded-slab" "smallvec" "std" "thread_local" "tracing-log" "tracing-serde" ];
      };
      "try-lock" = rec {
        crateName = "try-lock";
        version = "0.2.4";
        edition = "2015";
        sha256 = "1vc15paa4zi06ixsxihwbvfn24d708nsyg1ncgqwcrn42byyqa1m";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];

      };
      "turbofetch" = rec {
        crateName = "turbofetch";
        version = "0.1.0";
        edition = "2021";
        crateBin = [
          {
            name = "turbofetch";
            path = "src/main.rs";
            requiredFeatures = [ ];
          }
        ];
        # We can't filter paths with references in Nix 2.4
        # See https://github.com/NixOS/nix/issues/5410
        src =
          if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
          then lib.cleanSourceWith { filter = sourceFilter; src = ./.; }
          else ./.;
        dependencies = [
          {
            name = "aws_lambda_events";
            packageId = "aws_lambda_events";
            usesDefaultFeatures = false;
            features = [ "lambda_function_urls" ];
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "futures";
            packageId = "futures";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "httparse";
            packageId = "httparse";
          }
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
          }
          {
            name = "lambda_runtime";
            packageId = "lambda_runtime";
          }
          {
            name = "magic-buffer";
            packageId = "magic-buffer";
          }
          {
            name = "rusoto_core";
            packageId = "rusoto_core";
            usesDefaultFeatures = false;
            features = [ "rustls" ];
          }
          {
            name = "rusoto_s3";
            packageId = "rusoto_s3";
            usesDefaultFeatures = false;
            features = [ "rustls" ];
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" ];
          }
          {
            name = "tower";
            packageId = "tower";
          }
          {
            name = "tracing";
            packageId = "tracing";
          }
          {
            name = "tracing-subscriber";
            packageId = "tracing-subscriber";
            features = [ "json" ];
          }
          {
            name = "zstd";
            packageId = "zstd";
          }
        ];

      };
      "typenum" = rec {
        crateName = "typenum";
        version = "1.17.0";
        edition = "2018";
        sha256 = "09dqxv69m9lj9zvv6xw5vxaqx15ps0vxyy5myg33i0kbqvq0pzs2";
        build = "build/main.rs";
        authors = [
          "Paho Lurie-Gregg <paho@paholg.com>"
          "Andre Bogus <bogusandre@gmail.com>"
        ];
        features = {
          "scale-info" = [ "dep:scale-info" ];
          "scale_info" = [ "scale-info/derive" ];
        };
      };
      "unicode-ident" = rec {
        crateName = "unicode-ident";
        version = "1.0.12";
        edition = "2018";
        sha256 = "0jzf1znfpb2gx8nr8mvmyqs1crnv79l57nxnbiszc7xf7ynbjm1k";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];

      };
      "untrusted 0.7.1" = rec {
        crateName = "untrusted";
        version = "0.7.1";
        edition = "2018";
        sha256 = "0jkbqaj9d3v5a91pp3wp9mffvng1nhycx6sh4qkdd9qyr62ccmm1";
        libPath = "src/untrusted.rs";
        authors = [
          "Brian Smith <brian@briansmith.org>"
        ];

      };
      "untrusted 0.9.0" = rec {
        crateName = "untrusted";
        version = "0.9.0";
        edition = "2018";
        sha256 = "1ha7ib98vkc538x0z60gfn0fc5whqdd85mb87dvisdcaifi6vjwf";
        authors = [
          "Brian Smith <brian@briansmith.org>"
        ];

      };
      "valuable" = rec {
        crateName = "valuable";
        version = "0.1.0";
        edition = "2018";
        sha256 = "0v9gp3nkjbl30z0fd56d8mx7w1csk86wwjhfjhr400wh9mfpw2w3";
        features = {
          "default" = [ "std" ];
          "derive" = [ "valuable-derive" ];
          "std" = [ "alloc" ];
          "valuable-derive" = [ "dep:valuable-derive" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "version_check" = rec {
        crateName = "version_check";
        version = "0.9.4";
        edition = "2015";
        sha256 = "0gs8grwdlgh0xq660d7wr80x14vxbizmd8dbp29p2pdncx8lp1s9";
        authors = [
          "Sergio Benitez <sb@sergio.bz>"
        ];

      };
      "want" = rec {
        crateName = "want";
        version = "0.3.1";
        edition = "2018";
        sha256 = "03hbfrnvqqdchb5kgxyavb9jabwza0dmh2vw5kg0dq8rxl57d9xz";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "try-lock";
            packageId = "try-lock";
          }
        ];

      };
      "wasi" = rec {
        crateName = "wasi";
        version = "0.11.0+wasi-snapshot-preview1";
        edition = "2018";
        sha256 = "08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw";
        authors = [
          "The Cranelift Project Developers"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
          "rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "wasm-bindgen" = rec {
        crateName = "wasm-bindgen";
        version = "0.2.88";
        edition = "2018";
        sha256 = "1khgsh4z9bga35mjhg41dl7523i69ffc5m8ckhqaw6ssyabc5bkx";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "wasm-bindgen-macro";
            packageId = "wasm-bindgen-macro";
          }
        ];
        features = {
          "default" = [ "spans" "std" ];
          "enable-interning" = [ "std" ];
          "gg-alloc" = [ "wasm-bindgen-test/gg-alloc" ];
          "serde" = [ "dep:serde" ];
          "serde-serialize" = [ "serde" "serde_json" "std" ];
          "serde_json" = [ "dep:serde_json" ];
          "spans" = [ "wasm-bindgen-macro/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
          "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ];
        };
        resolvedDefaultFeatures = [ "default" "spans" "std" ];
      };
      "wasm-bindgen-backend" = rec {
        crateName = "wasm-bindgen-backend";
        version = "0.2.88";
        edition = "2018";
        sha256 = "05zj8yl243rvs87rhicq2l1d6443lnm6k90khf744khf9ikg95z3";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "bumpalo";
            packageId = "bumpalo";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-macro" = rec {
        crateName = "wasm-bindgen-macro";
        version = "0.2.88";
        edition = "2018";
        sha256 = "1chn3wgw9awmvs0fpmazbqyc5rwfgy3pj7lzwczmzb887dxh2qar";
        procMacro = true;
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "wasm-bindgen-macro-support";
            packageId = "wasm-bindgen-macro-support";
          }
        ];
        features = {
          "spans" = [ "wasm-bindgen-macro-support/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-macro-support" = rec {
        crateName = "wasm-bindgen-macro-support";
        version = "0.2.88";
        edition = "2018";
        sha256 = "01rrzg3y1apqygsjz1jg0n7p831nm4kdyxmxyl85x7v6mf6kndf5";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "visit" "full" ];
          }
          {
            name = "wasm-bindgen-backend";
            packageId = "wasm-bindgen-backend";
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
          "spans" = [ "wasm-bindgen-backend/spans" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-shared" = rec {
        crateName = "wasm-bindgen-shared";
        version = "0.2.88";
        edition = "2018";
        links = "wasm_bindgen";
        sha256 = "02vmw2rzsla1qm0zgfng4kqz52xn8k54v8ads4g1macv09fnq10d";
        authors = [
          "The wasm-bindgen Developers"
        ];

      };
      "web-sys" = rec {
        crateName = "web-sys";
        version = "0.3.65";
        edition = "2018";
        sha256 = "11ba406ca9qssc21c37v49sn2y2gsdn6c3nva4hjf8v3yv2rkd2x";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        features = {
          "AbortSignal" = [ "EventTarget" ];
          "AnalyserNode" = [ "AudioNode" "EventTarget" ];
          "Animation" = [ "EventTarget" ];
          "AnimationEvent" = [ "Event" ];
          "AnimationPlaybackEvent" = [ "Event" ];
          "Attr" = [ "EventTarget" "Node" ];
          "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "AudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "AudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "AudioNode" = [ "EventTarget" ];
          "AudioProcessingEvent" = [ "Event" ];
          "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ];
          "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "AudioTrackList" = [ "EventTarget" ];
          "AudioWorklet" = [ "Worklet" ];
          "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "AudioWorkletNode" = [ "AudioNode" "EventTarget" ];
          "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ];
          "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ];
          "BaseAudioContext" = [ "EventTarget" ];
          "BatteryManager" = [ "EventTarget" ];
          "BeforeUnloadEvent" = [ "Event" ];
          "BiquadFilterNode" = [ "AudioNode" "EventTarget" ];
          "BlobEvent" = [ "Event" ];
          "Bluetooth" = [ "EventTarget" ];
          "BluetoothAdvertisingEvent" = [ "Event" ];
          "BluetoothDevice" = [ "EventTarget" ];
          "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ];
          "BluetoothRemoteGattService" = [ "EventTarget" ];
          "BroadcastChannel" = [ "EventTarget" ];
          "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ];
          "CanvasCaptureMediaStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ];
          "ChannelMergerNode" = [ "AudioNode" "EventTarget" ];
          "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ];
          "CharacterData" = [ "EventTarget" "Node" ];
          "ChromeWorker" = [ "EventTarget" "Worker" ];
          "Clipboard" = [ "EventTarget" ];
          "ClipboardEvent" = [ "Event" ];
          "CloseEvent" = [ "Event" ];
          "Comment" = [ "CharacterData" "EventTarget" "Node" ];
          "CompositionEvent" = [ "Event" "UiEvent" ];
          "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "ConvolverNode" = [ "AudioNode" "EventTarget" ];
          "CssAnimation" = [ "Animation" "EventTarget" ];
          "CssConditionRule" = [ "CssGroupingRule" "CssRule" ];
          "CssCounterStyleRule" = [ "CssRule" ];
          "CssFontFaceRule" = [ "CssRule" ];
          "CssFontFeatureValuesRule" = [ "CssRule" ];
          "CssGroupingRule" = [ "CssRule" ];
          "CssImportRule" = [ "CssRule" ];
          "CssKeyframeRule" = [ "CssRule" ];
          "CssKeyframesRule" = [ "CssRule" ];
          "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssNamespaceRule" = [ "CssRule" ];
          "CssPageRule" = [ "CssRule" ];
          "CssStyleRule" = [ "CssRule" ];
          "CssStyleSheet" = [ "StyleSheet" ];
          "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssTransition" = [ "Animation" "EventTarget" ];
          "CustomEvent" = [ "Event" ];
          "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "DelayNode" = [ "AudioNode" "EventTarget" ];
          "DeviceLightEvent" = [ "Event" ];
          "DeviceMotionEvent" = [ "Event" ];
          "DeviceOrientationEvent" = [ "Event" ];
          "DeviceProximityEvent" = [ "Event" ];
          "Document" = [ "EventTarget" "Node" ];
          "DocumentFragment" = [ "EventTarget" "Node" ];
          "DocumentTimeline" = [ "AnimationTimeline" ];
          "DocumentType" = [ "EventTarget" "Node" ];
          "DomMatrix" = [ "DomMatrixReadOnly" ];
          "DomPoint" = [ "DomPointReadOnly" ];
          "DomRect" = [ "DomRectReadOnly" ];
          "DomRequest" = [ "EventTarget" ];
          "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ];
          "Element" = [ "EventTarget" "Node" ];
          "ErrorEvent" = [ "Event" ];
          "EventSource" = [ "EventTarget" ];
          "ExtendableEvent" = [ "Event" ];
          "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ];
          "FetchEvent" = [ "Event" "ExtendableEvent" ];
          "FetchObserver" = [ "EventTarget" ];
          "File" = [ "Blob" ];
          "FileReader" = [ "EventTarget" ];
          "FileSystemDirectoryEntry" = [ "FileSystemEntry" ];
          "FileSystemDirectoryHandle" = [ "FileSystemHandle" ];
          "FileSystemFileEntry" = [ "FileSystemEntry" ];
          "FileSystemFileHandle" = [ "FileSystemHandle" ];
          "FileSystemWritableFileStream" = [ "WritableStream" ];
          "FocusEvent" = [ "Event" "UiEvent" ];
          "FontFaceSet" = [ "EventTarget" ];
          "FontFaceSetLoadEvent" = [ "Event" ];
          "GainNode" = [ "AudioNode" "EventTarget" ];
          "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ];
          "GamepadButtonEvent" = [ "Event" "GamepadEvent" ];
          "GamepadEvent" = [ "Event" ];
          "GpuDevice" = [ "EventTarget" ];
          "GpuInternalError" = [ "GpuError" ];
          "GpuOutOfMemoryError" = [ "GpuError" ];
          "GpuPipelineError" = [ "DomException" ];
          "GpuUncapturedErrorEvent" = [ "Event" ];
          "GpuValidationError" = [ "GpuError" ];
          "HashChangeEvent" = [ "Event" ];
          "Hid" = [ "EventTarget" ];
          "HidConnectionEvent" = [ "Event" ];
          "HidDevice" = [ "EventTarget" ];
          "HidInputReportEvent" = [ "Event" ];
          "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDocument" = [ "Document" "EventTarget" "Node" ];
          "HtmlElement" = [ "Element" "EventTarget" "Node" ];
          "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFormControlsCollection" = [ "HtmlCollection" ];
          "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionsCollection" = [ "HtmlCollection" ];
          "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "IdbCursorWithValue" = [ "IdbCursor" ];
          "IdbDatabase" = [ "EventTarget" ];
          "IdbFileHandle" = [ "EventTarget" ];
          "IdbFileRequest" = [ "DomRequest" "EventTarget" ];
          "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ];
          "IdbMutableFile" = [ "EventTarget" ];
          "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ];
          "IdbRequest" = [ "EventTarget" ];
          "IdbTransaction" = [ "EventTarget" ];
          "IdbVersionChangeEvent" = [ "Event" ];
          "IirFilterNode" = [ "AudioNode" "EventTarget" ];
          "ImageCaptureErrorEvent" = [ "Event" ];
          "ImageTrack" = [ "EventTarget" ];
          "InputEvent" = [ "Event" "UiEvent" ];
          "KeyboardEvent" = [ "Event" "UiEvent" ];
          "KeyframeEffect" = [ "AnimationEffect" ];
          "LocalMediaStream" = [ "EventTarget" "MediaStream" ];
          "MediaDevices" = [ "EventTarget" ];
          "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaEncryptedEvent" = [ "Event" ];
          "MediaKeyError" = [ "Event" ];
          "MediaKeyMessageEvent" = [ "Event" ];
          "MediaKeySession" = [ "EventTarget" ];
          "MediaQueryList" = [ "EventTarget" ];
          "MediaQueryListEvent" = [ "Event" ];
          "MediaRecorder" = [ "EventTarget" ];
          "MediaRecorderErrorEvent" = [ "Event" ];
          "MediaSource" = [ "EventTarget" ];
          "MediaStream" = [ "EventTarget" ];
          "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamEvent" = [ "Event" ];
          "MediaStreamTrack" = [ "EventTarget" ];
          "MediaStreamTrackEvent" = [ "Event" ];
          "MediaStreamTrackGenerator" = [ "EventTarget" "MediaStreamTrack" ];
          "MessageEvent" = [ "Event" ];
          "MessagePort" = [ "EventTarget" ];
          "MidiAccess" = [ "EventTarget" ];
          "MidiConnectionEvent" = [ "Event" ];
          "MidiInput" = [ "EventTarget" "MidiPort" ];
          "MidiMessageEvent" = [ "Event" ];
          "MidiOutput" = [ "EventTarget" "MidiPort" ];
          "MidiPort" = [ "EventTarget" ];
          "MouseEvent" = [ "Event" "UiEvent" ];
          "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "MutationEvent" = [ "Event" ];
          "NetworkInformation" = [ "EventTarget" ];
          "Node" = [ "EventTarget" ];
          "Notification" = [ "EventTarget" ];
          "NotificationEvent" = [ "Event" "ExtendableEvent" ];
          "OfflineAudioCompletionEvent" = [ "Event" ];
          "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "OfflineResourceList" = [ "EventTarget" ];
          "OffscreenCanvas" = [ "EventTarget" ];
          "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "PageTransitionEvent" = [ "Event" ];
          "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "PannerNode" = [ "AudioNode" "EventTarget" ];
          "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ];
          "PaymentRequestUpdateEvent" = [ "Event" ];
          "Performance" = [ "EventTarget" ];
          "PerformanceMark" = [ "PerformanceEntry" ];
          "PerformanceMeasure" = [ "PerformanceEntry" ];
          "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ];
          "PerformanceResourceTiming" = [ "PerformanceEntry" ];
          "PermissionStatus" = [ "EventTarget" ];
          "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "PopStateEvent" = [ "Event" ];
          "PopupBlockedEvent" = [ "Event" ];
          "PresentationAvailability" = [ "EventTarget" ];
          "PresentationConnection" = [ "EventTarget" ];
          "PresentationConnectionAvailableEvent" = [ "Event" ];
          "PresentationConnectionCloseEvent" = [ "Event" ];
          "PresentationConnectionList" = [ "EventTarget" ];
          "PresentationRequest" = [ "EventTarget" ];
          "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ];
          "ProgressEvent" = [ "Event" ];
          "PromiseRejectionEvent" = [ "Event" ];
          "PublicKeyCredential" = [ "Credential" ];
          "PushEvent" = [ "Event" "ExtendableEvent" ];
          "RadioNodeList" = [ "NodeList" ];
          "RtcDataChannel" = [ "EventTarget" ];
          "RtcDataChannelEvent" = [ "Event" ];
          "RtcPeerConnection" = [ "EventTarget" ];
          "RtcPeerConnectionIceEvent" = [ "Event" ];
          "RtcTrackEvent" = [ "Event" ];
          "RtcdtmfSender" = [ "EventTarget" ];
          "RtcdtmfToneChangeEvent" = [ "Event" ];
          "Screen" = [ "EventTarget" ];
          "ScreenOrientation" = [ "EventTarget" ];
          "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ];
          "ScrollAreaEvent" = [ "Event" "UiEvent" ];
          "SecurityPolicyViolationEvent" = [ "Event" ];
          "Serial" = [ "EventTarget" ];
          "SerialPort" = [ "EventTarget" ];
          "ServiceWorker" = [ "EventTarget" ];
          "ServiceWorkerContainer" = [ "EventTarget" ];
          "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "ServiceWorkerRegistration" = [ "EventTarget" ];
          "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ];
          "SharedWorker" = [ "EventTarget" ];
          "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "SourceBuffer" = [ "EventTarget" ];
          "SourceBufferList" = [ "EventTarget" ];
          "SpeechRecognition" = [ "EventTarget" ];
          "SpeechRecognitionError" = [ "Event" ];
          "SpeechRecognitionEvent" = [ "Event" ];
          "SpeechSynthesis" = [ "EventTarget" ];
          "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ];
          "SpeechSynthesisEvent" = [ "Event" ];
          "SpeechSynthesisUtterance" = [ "EventTarget" ];
          "StereoPannerNode" = [ "AudioNode" "EventTarget" ];
          "StorageEvent" = [ "Event" ];
          "SubmitEvent" = [ "Event" ];
          "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgElement" = [ "Element" "EventTarget" "Node" ];
          "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPathSegArcAbs" = [ "SvgPathSeg" ];
          "SvgPathSegArcRel" = [ "SvgPathSeg" ];
          "SvgPathSegClosePath" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoRel" = [ "SvgPathSeg" ];
          "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "TaskController" = [ "AbortController" ];
          "TaskPriorityChangeEvent" = [ "Event" ];
          "TaskSignal" = [ "AbortSignal" "EventTarget" ];
          "TcpServerSocket" = [ "EventTarget" ];
          "TcpServerSocketEvent" = [ "Event" ];
          "TcpSocket" = [ "EventTarget" ];
          "TcpSocketErrorEvent" = [ "Event" ];
          "TcpSocketEvent" = [ "Event" ];
          "Text" = [ "CharacterData" "EventTarget" "Node" ];
          "TextTrack" = [ "EventTarget" ];
          "TextTrackCue" = [ "EventTarget" ];
          "TextTrackList" = [ "EventTarget" ];
          "TimeEvent" = [ "Event" ];
          "TouchEvent" = [ "Event" "UiEvent" ];
          "TrackEvent" = [ "Event" ];
          "TransitionEvent" = [ "Event" ];
          "UiEvent" = [ "Event" ];
          "Usb" = [ "EventTarget" ];
          "UsbConnectionEvent" = [ "Event" ];
          "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "UserProximityEvent" = [ "Event" ];
          "ValueEvent" = [ "Event" ];
          "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "VideoTrackList" = [ "EventTarget" ];
          "VrDisplay" = [ "EventTarget" ];
          "VttCue" = [ "EventTarget" "TextTrackCue" ];
          "WakeLockSentinel" = [ "EventTarget" ];
          "WaveShaperNode" = [ "AudioNode" "EventTarget" ];
          "WebGlContextEvent" = [ "Event" ];
          "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ];
          "WebSocket" = [ "EventTarget" ];
          "WebTransportError" = [ "DomException" ];
          "WebTransportReceiveStream" = [ "ReadableStream" ];
          "WebTransportSendStream" = [ "WritableStream" ];
          "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "Window" = [ "EventTarget" ];
          "WindowClient" = [ "Client" ];
          "Worker" = [ "EventTarget" ];
          "WorkerDebuggerGlobalScope" = [ "EventTarget" ];
          "WorkerGlobalScope" = [ "EventTarget" ];
          "XmlDocument" = [ "Document" "EventTarget" "Node" ];
          "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "XmlHttpRequestEventTarget" = [ "EventTarget" ];
          "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
          "XrInputSourceEvent" = [ "Event" ];
          "XrInputSourcesChangeEvent" = [ "Event" ];
          "XrJointPose" = [ "XrPose" ];
          "XrJointSpace" = [ "EventTarget" "XrSpace" ];
          "XrLayer" = [ "EventTarget" ];
          "XrPermissionStatus" = [ "EventTarget" "PermissionStatus" ];
          "XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
          "XrReferenceSpaceEvent" = [ "Event" ];
          "XrSession" = [ "EventTarget" ];
          "XrSessionEvent" = [ "Event" ];
          "XrSpace" = [ "EventTarget" ];
          "XrSystem" = [ "EventTarget" ];
          "XrViewerPose" = [ "XrPose" ];
          "XrWebGlLayer" = [ "EventTarget" "XrLayer" ];
        };
        resolvedDefaultFeatures = [ "Crypto" "EventTarget" "Window" ];
      };
      "webpki" = rec {
        crateName = "webpki";
        version = "0.22.4";
        edition = "2018";
        sha256 = "0lwv7jdlcqjjqqhxcrapnyk5bz4lvr12q444b50gzl3krsjswqzd";
        authors = [
          "Brian Smith <brian@briansmith.org>"
        ];
        dependencies = [
          {
            name = "ring";
            packageId = "ring 0.17.5";
            usesDefaultFeatures = false;
          }
          {
            name = "untrusted";
            packageId = "untrusted 0.9.0";
          }
        ];
        features = {
          "alloc" = [ "ring/alloc" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "winapi" = rec {
        crateName = "winapi";
        version = "0.3.9";
        edition = "2015";
        sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-i686-pc-windows-gnu";
            packageId = "winapi-i686-pc-windows-gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "i686-pc-windows-gnu");
          }
          {
            name = "winapi-x86_64-pc-windows-gnu";
            packageId = "winapi-x86_64-pc-windows-gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnu");
          }
        ];
        features = {
          "debug" = [ "impl-debug" ];
        };
        resolvedDefaultFeatures = [ "consoleapi" "errhandlingapi" "fileapi" "handleapi" "knownfolders" "ntsecapi" "objbase" "processenv" "shlobj" "winbase" "winerror" "ws2ipdef" "ws2tcpip" "wtypesbase" ];
      };
      "winapi-i686-pc-windows-gnu" = rec {
        crateName = "winapi-i686-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];

      };
      "winapi-x86_64-pc-windows-gnu" = rec {
        crateName = "winapi-x86_64-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];

      };
      "windows-core" = rec {
        crateName = "windows-core";
        version = "0.51.1";
        edition = "2021";
        sha256 = "0r1f57hsshsghjyc7ypp2s0i78f7b1vr93w68sdb8baxyf2czy7i";
        authors = [
          "Microsoft"
        ];
        dependencies = [
          {
            name = "windows-targets";
            packageId = "windows-targets";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "windows-sys" = rec {
        crateName = "windows-sys";
        version = "0.48.0";
        edition = "2018";
        sha256 = "1aan23v5gs7gya1lc46hqn9mdh8yph3fhxmhxlw36pn6pqc28zb7";
        authors = [
          "Microsoft"
        ];
        dependencies = [
          {
            name = "windows-targets";
            packageId = "windows-targets";
          }
        ];
        features = {
          "Wdk_System" = [ "Wdk" ];
          "Wdk_System_OfflineRegistry" = [ "Wdk_System" ];
          "Win32_Data" = [ "Win32" ];
          "Win32_Data_HtmlHelp" = [ "Win32_Data" ];
          "Win32_Data_RightsManagement" = [ "Win32_Data" ];
          "Win32_Data_Xml" = [ "Win32_Data" ];
          "Win32_Data_Xml_MsXml" = [ "Win32_Data_Xml" ];
          "Win32_Data_Xml_XmlLite" = [ "Win32_Data_Xml" ];
          "Win32_Devices" = [ "Win32" ];
          "Win32_Devices_AllJoyn" = [ "Win32_Devices" ];
          "Win32_Devices_BiometricFramework" = [ "Win32_Devices" ];
          "Win32_Devices_Bluetooth" = [ "Win32_Devices" ];
          "Win32_Devices_Communication" = [ "Win32_Devices" ];
          "Win32_Devices_DeviceAccess" = [ "Win32_Devices" ];
          "Win32_Devices_DeviceAndDriverInstallation" = [ "Win32_Devices" ];
          "Win32_Devices_DeviceQuery" = [ "Win32_Devices" ];
          "Win32_Devices_Display" = [ "Win32_Devices" ];
          "Win32_Devices_Enumeration" = [ "Win32_Devices" ];
          "Win32_Devices_Enumeration_Pnp" = [ "Win32_Devices_Enumeration" ];
          "Win32_Devices_Fax" = [ "Win32_Devices" ];
          "Win32_Devices_FunctionDiscovery" = [ "Win32_Devices" ];
          "Win32_Devices_Geolocation" = [ "Win32_Devices" ];
          "Win32_Devices_HumanInterfaceDevice" = [ "Win32_Devices" ];
          "Win32_Devices_ImageAcquisition" = [ "Win32_Devices" ];
          "Win32_Devices_PortableDevices" = [ "Win32_Devices" ];
          "Win32_Devices_Properties" = [ "Win32_Devices" ];
          "Win32_Devices_Pwm" = [ "Win32_Devices" ];
          "Win32_Devices_Sensors" = [ "Win32_Devices" ];
          "Win32_Devices_SerialCommunication" = [ "Win32_Devices" ];
          "Win32_Devices_Tapi" = [ "Win32_Devices" ];
          "Win32_Devices_Usb" = [ "Win32_Devices" ];
          "Win32_Devices_WebServicesOnDevices" = [ "Win32_Devices" ];
          "Win32_Foundation" = [ "Win32" ];
          "Win32_Gaming" = [ "Win32" ];
          "Win32_Globalization" = [ "Win32" ];
          "Win32_Graphics" = [ "Win32" ];
          "Win32_Graphics_Dwm" = [ "Win32_Graphics" ];
          "Win32_Graphics_Gdi" = [ "Win32_Graphics" ];
          "Win32_Graphics_Hlsl" = [ "Win32_Graphics" ];
          "Win32_Graphics_OpenGL" = [ "Win32_Graphics" ];
          "Win32_Graphics_Printing" = [ "Win32_Graphics" ];
          "Win32_Graphics_Printing_PrintTicket" = [ "Win32_Graphics_Printing" ];
          "Win32_Management" = [ "Win32" ];
          "Win32_Management_MobileDeviceManagementRegistration" = [ "Win32_Management" ];
          "Win32_Media" = [ "Win32" ];
          "Win32_Media_Audio" = [ "Win32_Media" ];
          "Win32_Media_Audio_Apo" = [ "Win32_Media_Audio" ];
          "Win32_Media_Audio_DirectMusic" = [ "Win32_Media_Audio" ];
          "Win32_Media_Audio_Endpoints" = [ "Win32_Media_Audio" ];
          "Win32_Media_Audio_XAudio2" = [ "Win32_Media_Audio" ];
          "Win32_Media_DeviceManager" = [ "Win32_Media" ];
          "Win32_Media_DxMediaObjects" = [ "Win32_Media" ];
          "Win32_Media_KernelStreaming" = [ "Win32_Media" ];
          "Win32_Media_LibrarySharingServices" = [ "Win32_Media" ];
          "Win32_Media_MediaPlayer" = [ "Win32_Media" ];
          "Win32_Media_Multimedia" = [ "Win32_Media" ];
          "Win32_Media_Speech" = [ "Win32_Media" ];
          "Win32_Media_Streaming" = [ "Win32_Media" ];
          "Win32_Media_WindowsMediaFormat" = [ "Win32_Media" ];
          "Win32_NetworkManagement" = [ "Win32" ];
          "Win32_NetworkManagement_Dhcp" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Dns" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_InternetConnectionWizard" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_IpHelper" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_MobileBroadband" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Multicast" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Ndis" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetBios" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetManagement" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetShell" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetworkDiagnosticsFramework" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetworkPolicyServer" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_P2P" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_QoS" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Rras" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Snmp" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WNet" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WebDav" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WiFi" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsConnectNow" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsConnectionManager" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsFilteringPlatform" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsFirewall" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsNetworkVirtualization" = [ "Win32_NetworkManagement" ];
          "Win32_Networking" = [ "Win32" ];
          "Win32_Networking_ActiveDirectory" = [ "Win32_Networking" ];
          "Win32_Networking_BackgroundIntelligentTransferService" = [ "Win32_Networking" ];
          "Win32_Networking_Clustering" = [ "Win32_Networking" ];
          "Win32_Networking_HttpServer" = [ "Win32_Networking" ];
          "Win32_Networking_Ldap" = [ "Win32_Networking" ];
          "Win32_Networking_NetworkListManager" = [ "Win32_Networking" ];
          "Win32_Networking_RemoteDifferentialCompression" = [ "Win32_Networking" ];
          "Win32_Networking_WebSocket" = [ "Win32_Networking" ];
          "Win32_Networking_WinHttp" = [ "Win32_Networking" ];
          "Win32_Networking_WinInet" = [ "Win32_Networking" ];
          "Win32_Networking_WinSock" = [ "Win32_Networking" ];
          "Win32_Networking_WindowsWebServices" = [ "Win32_Networking" ];
          "Win32_Security" = [ "Win32" ];
          "Win32_Security_AppLocker" = [ "Win32_Security" ];
          "Win32_Security_Authentication" = [ "Win32_Security" ];
          "Win32_Security_Authentication_Identity" = [ "Win32_Security_Authentication" ];
          "Win32_Security_Authentication_Identity_Provider" = [ "Win32_Security_Authentication_Identity" ];
          "Win32_Security_Authorization" = [ "Win32_Security" ];
          "Win32_Security_Authorization_UI" = [ "Win32_Security_Authorization" ];
          "Win32_Security_ConfigurationSnapin" = [ "Win32_Security" ];
          "Win32_Security_Credentials" = [ "Win32_Security" ];
          "Win32_Security_Cryptography" = [ "Win32_Security" ];
          "Win32_Security_Cryptography_Catalog" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_Cryptography_Certificates" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_Cryptography_Sip" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_Cryptography_UI" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_DiagnosticDataQuery" = [ "Win32_Security" ];
          "Win32_Security_DirectoryServices" = [ "Win32_Security" ];
          "Win32_Security_EnterpriseData" = [ "Win32_Security" ];
          "Win32_Security_ExtensibleAuthenticationProtocol" = [ "Win32_Security" ];
          "Win32_Security_Isolation" = [ "Win32_Security" ];
          "Win32_Security_LicenseProtection" = [ "Win32_Security" ];
          "Win32_Security_NetworkAccessProtection" = [ "Win32_Security" ];
          "Win32_Security_Tpm" = [ "Win32_Security" ];
          "Win32_Security_WinTrust" = [ "Win32_Security" ];
          "Win32_Security_WinWlx" = [ "Win32_Security" ];
          "Win32_Storage" = [ "Win32" ];
          "Win32_Storage_Cabinets" = [ "Win32_Storage" ];
          "Win32_Storage_CloudFilters" = [ "Win32_Storage" ];
          "Win32_Storage_Compression" = [ "Win32_Storage" ];
          "Win32_Storage_DataDeduplication" = [ "Win32_Storage" ];
          "Win32_Storage_DistributedFileSystem" = [ "Win32_Storage" ];
          "Win32_Storage_EnhancedStorage" = [ "Win32_Storage" ];
          "Win32_Storage_FileHistory" = [ "Win32_Storage" ];
          "Win32_Storage_FileServerResourceManager" = [ "Win32_Storage" ];
          "Win32_Storage_FileSystem" = [ "Win32_Storage" ];
          "Win32_Storage_Imapi" = [ "Win32_Storage" ];
          "Win32_Storage_IndexServer" = [ "Win32_Storage" ];
          "Win32_Storage_InstallableFileSystems" = [ "Win32_Storage" ];
          "Win32_Storage_IscsiDisc" = [ "Win32_Storage" ];
          "Win32_Storage_Jet" = [ "Win32_Storage" ];
          "Win32_Storage_OfflineFiles" = [ "Win32_Storage" ];
          "Win32_Storage_OperationRecorder" = [ "Win32_Storage" ];
          "Win32_Storage_Packaging" = [ "Win32_Storage" ];
          "Win32_Storage_Packaging_Appx" = [ "Win32_Storage_Packaging" ];
          "Win32_Storage_Packaging_Opc" = [ "Win32_Storage_Packaging" ];
          "Win32_Storage_ProjectedFileSystem" = [ "Win32_Storage" ];
          "Win32_Storage_StructuredStorage" = [ "Win32_Storage" ];
          "Win32_Storage_Vhd" = [ "Win32_Storage" ];
          "Win32_Storage_VirtualDiskService" = [ "Win32_Storage" ];
          "Win32_Storage_Vss" = [ "Win32_Storage" ];
          "Win32_Storage_Xps" = [ "Win32_Storage" ];
          "Win32_Storage_Xps_Printing" = [ "Win32_Storage_Xps" ];
          "Win32_System" = [ "Win32" ];
          "Win32_System_AddressBook" = [ "Win32_System" ];
          "Win32_System_Antimalware" = [ "Win32_System" ];
          "Win32_System_ApplicationInstallationAndServicing" = [ "Win32_System" ];
          "Win32_System_ApplicationVerifier" = [ "Win32_System" ];
          "Win32_System_AssessmentTool" = [ "Win32_System" ];
          "Win32_System_ClrHosting" = [ "Win32_System" ];
          "Win32_System_Com" = [ "Win32_System" ];
          "Win32_System_Com_CallObj" = [ "Win32_System_Com" ];
          "Win32_System_Com_ChannelCredentials" = [ "Win32_System_Com" ];
          "Win32_System_Com_Events" = [ "Win32_System_Com" ];
          "Win32_System_Com_Marshal" = [ "Win32_System_Com" ];
          "Win32_System_Com_StructuredStorage" = [ "Win32_System_Com" ];
          "Win32_System_Com_UI" = [ "Win32_System_Com" ];
          "Win32_System_Com_Urlmon" = [ "Win32_System_Com" ];
          "Win32_System_ComponentServices" = [ "Win32_System" ];
          "Win32_System_Console" = [ "Win32_System" ];
          "Win32_System_Contacts" = [ "Win32_System" ];
          "Win32_System_CorrelationVector" = [ "Win32_System" ];
          "Win32_System_DataExchange" = [ "Win32_System" ];
          "Win32_System_DeploymentServices" = [ "Win32_System" ];
          "Win32_System_DesktopSharing" = [ "Win32_System" ];
          "Win32_System_DeveloperLicensing" = [ "Win32_System" ];
          "Win32_System_Diagnostics" = [ "Win32_System" ];
          "Win32_System_Diagnostics_Ceip" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_ClrProfiling" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_Debug" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_Debug_ActiveScript" = [ "Win32_System_Diagnostics_Debug" ];
          "Win32_System_Diagnostics_Debug_Extensions" = [ "Win32_System_Diagnostics_Debug" ];
          "Win32_System_Diagnostics_Etw" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_ProcessSnapshotting" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_ToolHelp" = [ "Win32_System_Diagnostics" ];
          "Win32_System_DistributedTransactionCoordinator" = [ "Win32_System" ];
          "Win32_System_Environment" = [ "Win32_System" ];
          "Win32_System_ErrorReporting" = [ "Win32_System" ];
          "Win32_System_EventCollector" = [ "Win32_System" ];
          "Win32_System_EventLog" = [ "Win32_System" ];
          "Win32_System_EventNotificationService" = [ "Win32_System" ];
          "Win32_System_GroupPolicy" = [ "Win32_System" ];
          "Win32_System_HostCompute" = [ "Win32_System" ];
          "Win32_System_HostComputeNetwork" = [ "Win32_System" ];
          "Win32_System_HostComputeSystem" = [ "Win32_System" ];
          "Win32_System_Hypervisor" = [ "Win32_System" ];
          "Win32_System_IO" = [ "Win32_System" ];
          "Win32_System_Iis" = [ "Win32_System" ];
          "Win32_System_Ioctl" = [ "Win32_System" ];
          "Win32_System_JobObjects" = [ "Win32_System" ];
          "Win32_System_Js" = [ "Win32_System" ];
          "Win32_System_Kernel" = [ "Win32_System" ];
          "Win32_System_LibraryLoader" = [ "Win32_System" ];
          "Win32_System_Mailslots" = [ "Win32_System" ];
          "Win32_System_Mapi" = [ "Win32_System" ];
          "Win32_System_Memory" = [ "Win32_System" ];
          "Win32_System_Memory_NonVolatile" = [ "Win32_System_Memory" ];
          "Win32_System_MessageQueuing" = [ "Win32_System" ];
          "Win32_System_MixedReality" = [ "Win32_System" ];
          "Win32_System_Mmc" = [ "Win32_System" ];
          "Win32_System_Ole" = [ "Win32_System" ];
          "Win32_System_ParentalControls" = [ "Win32_System" ];
          "Win32_System_PasswordManagement" = [ "Win32_System" ];
          "Win32_System_Performance" = [ "Win32_System" ];
          "Win32_System_Performance_HardwareCounterProfiling" = [ "Win32_System_Performance" ];
          "Win32_System_Pipes" = [ "Win32_System" ];
          "Win32_System_Power" = [ "Win32_System" ];
          "Win32_System_ProcessStatus" = [ "Win32_System" ];
          "Win32_System_RealTimeCommunications" = [ "Win32_System" ];
          "Win32_System_Recovery" = [ "Win32_System" ];
          "Win32_System_Registry" = [ "Win32_System" ];
          "Win32_System_RemoteAssistance" = [ "Win32_System" ];
          "Win32_System_RemoteDesktop" = [ "Win32_System" ];
          "Win32_System_RemoteManagement" = [ "Win32_System" ];
          "Win32_System_RestartManager" = [ "Win32_System" ];
          "Win32_System_Restore" = [ "Win32_System" ];
          "Win32_System_Rpc" = [ "Win32_System" ];
          "Win32_System_Search" = [ "Win32_System" ];
          "Win32_System_Search_Common" = [ "Win32_System_Search" ];
          "Win32_System_SecurityCenter" = [ "Win32_System" ];
          "Win32_System_ServerBackup" = [ "Win32_System" ];
          "Win32_System_Services" = [ "Win32_System" ];
          "Win32_System_SettingsManagementInfrastructure" = [ "Win32_System" ];
          "Win32_System_SetupAndMigration" = [ "Win32_System" ];
          "Win32_System_Shutdown" = [ "Win32_System" ];
          "Win32_System_StationsAndDesktops" = [ "Win32_System" ];
          "Win32_System_SubsystemForLinux" = [ "Win32_System" ];
          "Win32_System_SystemInformation" = [ "Win32_System" ];
          "Win32_System_SystemServices" = [ "Win32_System" ];
          "Win32_System_TaskScheduler" = [ "Win32_System" ];
          "Win32_System_Threading" = [ "Win32_System" ];
          "Win32_System_Time" = [ "Win32_System" ];
          "Win32_System_TpmBaseServices" = [ "Win32_System" ];
          "Win32_System_UpdateAgent" = [ "Win32_System" ];
          "Win32_System_UpdateAssessment" = [ "Win32_System" ];
          "Win32_System_UserAccessLogging" = [ "Win32_System" ];
          "Win32_System_VirtualDosMachines" = [ "Win32_System" ];
          "Win32_System_WindowsProgramming" = [ "Win32_System" ];
          "Win32_System_WindowsSync" = [ "Win32_System" ];
          "Win32_System_Wmi" = [ "Win32_System" ];
          "Win32_UI" = [ "Win32" ];
          "Win32_UI_Accessibility" = [ "Win32_UI" ];
          "Win32_UI_Animation" = [ "Win32_UI" ];
          "Win32_UI_ColorSystem" = [ "Win32_UI" ];
          "Win32_UI_Controls" = [ "Win32_UI" ];
          "Win32_UI_Controls_Dialogs" = [ "Win32_UI_Controls" ];
          "Win32_UI_Controls_RichEdit" = [ "Win32_UI_Controls" ];
          "Win32_UI_HiDpi" = [ "Win32_UI" ];
          "Win32_UI_Input" = [ "Win32_UI" ];
          "Win32_UI_Input_Ime" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Ink" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_KeyboardAndMouse" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Pointer" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Radial" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Touch" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_XboxController" = [ "Win32_UI_Input" ];
          "Win32_UI_InteractionContext" = [ "Win32_UI" ];
          "Win32_UI_LegacyWindowsEnvironmentFeatures" = [ "Win32_UI" ];
          "Win32_UI_Magnification" = [ "Win32_UI" ];
          "Win32_UI_Notifications" = [ "Win32_UI" ];
          "Win32_UI_Ribbon" = [ "Win32_UI" ];
          "Win32_UI_Shell" = [ "Win32_UI" ];
          "Win32_UI_Shell_Common" = [ "Win32_UI_Shell" ];
          "Win32_UI_Shell_PropertiesSystem" = [ "Win32_UI_Shell" ];
          "Win32_UI_TabletPC" = [ "Win32_UI" ];
          "Win32_UI_TextServices" = [ "Win32_UI" ];
          "Win32_UI_WindowsAndMessaging" = [ "Win32_UI" ];
          "Win32_UI_Wpf" = [ "Win32_UI" ];
          "Win32_Web" = [ "Win32" ];
          "Win32_Web_InternetExplorer" = [ "Win32_Web" ];
        };
        resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_Networking" "Win32_Networking_WinSock" "Win32_Security" "Win32_Security_Authentication" "Win32_Security_Authentication_Identity" "Win32_Security_Credentials" "Win32_Security_Cryptography" "Win32_Storage" "Win32_Storage_FileSystem" "Win32_System" "Win32_System_Console" "Win32_System_Diagnostics" "Win32_System_Diagnostics_Debug" "Win32_System_IO" "Win32_System_Memory" "Win32_System_Pipes" "Win32_System_SystemInformation" "Win32_System_SystemServices" "Win32_System_Threading" "Win32_System_WindowsProgramming" "default" ];
      };
      "windows-targets" = rec {
        crateName = "windows-targets";
        version = "0.48.5";
        edition = "2018";
        sha256 = "034ljxqshifs1lan89xwpcy1hp0lhdh4b5n0d2z4fwjx2piacbws";
        authors = [
          "Microsoft"
        ];
        dependencies = [
          {
            name = "windows_aarch64_gnullvm";
            packageId = "windows_aarch64_gnullvm";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-pc-windows-gnullvm");
          }
          {
            name = "windows_aarch64_msvc";
            packageId = "windows_aarch64_msvc";
            target = { target, features }: (("aarch64" == target."arch" or null) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false)));
          }
          {
            name = "windows_i686_gnu";
            packageId = "windows_i686_gnu";
            target = { target, features }: (("x86" == target."arch" or null) && ("gnu" == target."env" or null) && (!(target."windows_raw_dylib" or false)));
          }
          {
            name = "windows_i686_msvc";
            packageId = "windows_i686_msvc";
            target = { target, features }: (("x86" == target."arch" or null) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false)));
          }
          {
            name = "windows_x86_64_gnu";
            packageId = "windows_x86_64_gnu";
            target = { target, features }: (("x86_64" == target."arch" or null) && ("gnu" == target."env" or null) && (!("llvm" == target."abi" or null)) && (!(target."windows_raw_dylib" or false)));
          }
          {
            name = "windows_x86_64_gnullvm";
            packageId = "windows_x86_64_gnullvm";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnullvm");
          }
          {
            name = "windows_x86_64_msvc";
            packageId = "windows_x86_64_msvc";
            target = { target, features }: (("x86_64" == target."arch" or null) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false)));
          }
        ];

      };
      "windows_aarch64_gnullvm" = rec {
        crateName = "windows_aarch64_gnullvm";
        version = "0.48.5";
        edition = "2018";
        sha256 = "1n05v7qblg1ci3i567inc7xrkmywczxrs1z3lj3rkkxw18py6f1b";
        authors = [
          "Microsoft"
        ];

      };
      "windows_aarch64_msvc" = rec {
        crateName = "windows_aarch64_msvc";
        version = "0.48.5";
        edition = "2018";
        sha256 = "1g5l4ry968p73g6bg6jgyvy9lb8fyhcs54067yzxpcpkf44k2dfw";
        authors = [
          "Microsoft"
        ];

      };
      "windows_i686_gnu" = rec {
        crateName = "windows_i686_gnu";
        version = "0.48.5";
        edition = "2018";
        sha256 = "0gklnglwd9ilqx7ac3cn8hbhkraqisd0n83jxzf9837nvvkiand7";
        authors = [
          "Microsoft"
        ];

      };
      "windows_i686_msvc" = rec {
        crateName = "windows_i686_msvc";
        version = "0.48.5";
        edition = "2018";
        sha256 = "01m4rik437dl9rdf0ndnm2syh10hizvq0dajdkv2fjqcywrw4mcg";
        authors = [
          "Microsoft"
        ];

      };
      "windows_x86_64_gnu" = rec {
        crateName = "windows_x86_64_gnu";
        version = "0.48.5";
        edition = "2018";
        sha256 = "13kiqqcvz2vnyxzydjh73hwgigsdr2z1xpzx313kxll34nyhmm2k";
        authors = [
          "Microsoft"
        ];

      };
      "windows_x86_64_gnullvm" = rec {
        crateName = "windows_x86_64_gnullvm";
        version = "0.48.5";
        edition = "2018";
        sha256 = "1k24810wfbgz8k48c2yknqjmiigmql6kk3knmddkv8k8g1v54yqb";
        authors = [
          "Microsoft"
        ];

      };
      "windows_x86_64_msvc" = rec {
        crateName = "windows_x86_64_msvc";
        version = "0.48.5";
        edition = "2018";
        sha256 = "0f4mdp895kkjh9zv8dxvn4pc10xr7839lf5pa9l0193i2pkgr57d";
        authors = [
          "Microsoft"
        ];

      };
      "xml-rs" = rec {
        crateName = "xml-rs";
        version = "0.8.19";
        edition = "2021";
        crateBin = [ ];
        sha256 = "0nnpvk3fv32hgh7vs9gbg2swmzxx5yz73f4b7rak7q39q2x9rjqg";
        libName = "xml";
        authors = [
          "Vladimir Matveev <vmatveev@citrine.cc>"
        ];

      };
      "zeroize" = rec {
        crateName = "zeroize";
        version = "1.6.0";
        edition = "2021";
        sha256 = "1ndar43r58zbmasjhrhgas168vxb4i0rwbkcnszhjybwpbqmc29a";
        authors = [
          "The RustCrypto Project Developers"
        ];
        features = {
          "default" = [ "alloc" ];
          "derive" = [ "zeroize_derive" ];
          "serde" = [ "dep:serde" ];
          "std" = [ "alloc" ];
          "zeroize_derive" = [ "dep:zeroize_derive" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" ];
      };
      "zstd" = rec {
        crateName = "zstd";
        version = "0.9.2+zstd.1.5.1";
        edition = "2018";
        sha256 = "0m5aik2jy2w1g68i4isa0c3gq9a7avq9abgjfjbc6f60yqdym413";
        authors = [
          "Alexandre Bury <alexandre.bury@gmail.com>"
        ];
        dependencies = [
          {
            name = "zstd-safe";
            packageId = "zstd-safe";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        features = {
          "arrays" = [ "zstd-safe/arrays" ];
          "bindgen" = [ "zstd-safe/bindgen" ];
          "debug" = [ "zstd-safe/debug" ];
          "default" = [ "legacy" "arrays" ];
          "experimental" = [ "zstd-safe/experimental" ];
          "legacy" = [ "zstd-safe/legacy" ];
          "no_asm" = [ "zstd-safe/no_asm" ];
          "pkg-config" = [ "zstd-safe/pkg-config" ];
          "thin" = [ "zstd-safe/thin" ];
          "zstdmt" = [ "zstd-safe/zstdmt" ];
        };
        resolvedDefaultFeatures = [ "arrays" "default" "legacy" ];
      };
      "zstd-safe" = rec {
        crateName = "zstd-safe";
        version = "4.1.3+zstd.1.5.1";
        edition = "2018";
        sha256 = "0yfvqzzkbj871f2vaikal5rm2gf60p1mdzp3jk3w5hmkkywq37g9";
        authors = [
          "Alexandre Bury <alexandre.bury@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "zstd-sys";
            packageId = "zstd-sys";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "bindgen" = [ "zstd-sys/bindgen" ];
          "debug" = [ "zstd-sys/debug" ];
          "default" = [ "legacy" "arrays" ];
          "experimental" = [ "zstd-sys/experimental" ];
          "legacy" = [ "zstd-sys/legacy" ];
          "no_asm" = [ "zstd-sys/no_asm" ];
          "pkg-config" = [ "zstd-sys/pkg-config" ];
          "std" = [ "zstd-sys/std" ];
          "thin" = [ "zstd-sys/thin" ];
          "zstdmt" = [ "zstd-sys/zstdmt" ];
        };
        resolvedDefaultFeatures = [ "arrays" "legacy" "std" ];
      };
      "zstd-sys" = rec {
        crateName = "zstd-sys";
        version = "1.6.2+zstd.1.5.1";
        edition = "2018";
        links = "zstd";
        sha256 = "17xcr0mw8ps9hlc8m0dzj7yd52lb9r9ic9fbpxa4994yilj2zbrd";
        authors = [
          "Alexandre Bury <alexandre.bury@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            features = [ "parallel" ];
          }
        ];
        features = {
          "bindgen" = [ "dep:bindgen" ];
          "default" = [ "legacy" ];
          "pkg-config" = [ "dep:pkg-config" ];
        };
        resolvedDefaultFeatures = [ "legacy" "std" ];
      };
    };

    #
    # crate2nix/default.nix (excerpt start)
    #

    /* Target (platform) data for conditional dependencies.
      This corresponds roughly to what buildRustCrate is setting.
    */
    makeDefaultTarget = platform: {
      unix = platform.isUnix;
      windows = platform.isWindows;
      fuchsia = true;
      test = false;

      /* We are choosing an arbitrary rust version to grab `lib` from,
      which is unfortunate, but `lib` has been version-agnostic the
      whole time so this is good enough for now.
      */
      os = pkgs.rust.lib.toTargetOs platform;
      arch = pkgs.rust.lib.toTargetArch platform;
      family = pkgs.rust.lib.toTargetFamily platform;
      vendor = pkgs.rust.lib.toTargetVendor platform;
      env = "gnu";
      endian =
        if platform.parsed.cpu.significantByte.name == "littleEndian"
        then "little" else "big";
      pointer_width = toString platform.parsed.cpu.bits;
      debug_assertions = false;
    };

    /* Filters common temp files and build files. */
    # TODO(pkolloch): Substitute with gitignore filter
    sourceFilter = name: type:
      let
        baseName = builtins.baseNameOf (builtins.toString name);
      in
        ! (
          # Filter out git
          baseName == ".gitignore"
          || (type == "directory" && baseName == ".git")

          # Filter out build results
          || (
            type == "directory" && (
              baseName == "target"
              || baseName == "_site"
              || baseName == ".sass-cache"
              || baseName == ".jekyll-metadata"
              || baseName == "build-artifacts"
            )
          )

          # Filter out nix-build result symlinks
          || (
            type == "symlink" && lib.hasPrefix "result" baseName
          )

          # Filter out IDE config
          || (
            type == "directory" && (
              baseName == ".idea" || baseName == ".vscode"
            )
          ) || lib.hasSuffix ".iml" baseName

          # Filter out nix build files
          || baseName == "Cargo.nix"

          # Filter out editor backup / swap files.
          || lib.hasSuffix "~" baseName
          || builtins.match "^\\.sw[a-z]$$" baseName != null
          || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
          || lib.hasSuffix ".tmp" baseName
          || lib.hasSuffix ".bak" baseName
          || baseName == "tests.nix"
        );

    /* Returns a crate which depends on successful test execution
      of crate given as the second argument.

      testCrateFlags: list of flags to pass to the test exectuable
      testInputs: list of packages that should be available during test execution
    */
    crateWithTest = { crate, testCrate, testCrateFlags, testInputs, testPreRun, testPostRun }:
      assert builtins.typeOf testCrateFlags == "list";
      assert builtins.typeOf testInputs == "list";
      assert builtins.typeOf testPreRun == "string";
      assert builtins.typeOf testPostRun == "string";
      let
        # override the `crate` so that it will build and execute tests instead of
        # building the actual lib and bin targets We just have to pass `--test`
        # to rustc and it will do the right thing.  We execute the tests and copy
        # their log and the test executables to $out for later inspection.
        test =
          let
            drv = testCrate.override
              (
                _: {
                  buildTests = true;
                }
              );
            # If the user hasn't set any pre/post commands, we don't want to
            # insert empty lines. This means that any existing users of crate2nix
            # don't get a spurious rebuild unless they set these explicitly.
            testCommand = pkgs.lib.concatStringsSep "\n"
              (pkgs.lib.filter (s: s != "") [
                testPreRun
                "$f $testCrateFlags 2>&1 | tee -a $out"
                testPostRun
              ]);
          in
          pkgs.runCommand "run-tests-${testCrate.name}"
            {
              inherit testCrateFlags;
              buildInputs = testInputs;
            } ''
            set -e

            export RUST_BACKTRACE=1

            # recreate a file hierarchy as when running tests with cargo

            # the source for test data
            # It's necessary to locate the source in $NIX_BUILD_TOP/source/
            # instead of $NIX_BUILD_TOP/
            # because we compiled those test binaries in the former and not the latter.
            # So all paths will expect source tree to be there and not in the build top directly.
            # For example: $NIX_BUILD_TOP := /build in general, if you ask yourself.
            # TODO(raitobezarius): I believe there could be more edge cases if `crate.sourceRoot`
            # do exist but it's very hard to reason about them, so let's wait until the first bug report.
            mkdir -p source/
            cd source/

            ${pkgs.buildPackages.xorg.lndir}/bin/lndir ${crate.src}

            # build outputs
            testRoot=target/debug
            mkdir -p $testRoot

            # executables of the crate
            # we copy to prevent std::env::current_exe() to resolve to a store location
            for i in ${crate}/bin/*; do
              cp "$i" "$testRoot"
            done
            chmod +w -R .

            # test harness executables are suffixed with a hash, like cargo does
            # this allows to prevent name collision with the main
            # executables of the crate
            hash=$(basename $out)
            for file in ${drv}/tests/*; do
              f=$testRoot/$(basename $file)-$hash
              cp $file $f
              ${testCommand}
            done
          '';
      in
      pkgs.runCommand "${crate.name}-linked"
        {
          inherit (crate) outputs crateName;
          passthru = (crate.passthru or { }) // {
            inherit test;
          };
        }
        (lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
          echo tested by ${test}
        '' + ''
          ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs}
        '');

    /* A restricted overridable version of builtRustCratesWithFeatures. */
    buildRustCrateWithFeatures =
      { packageId
      , features ? rootFeatures
      , crateOverrides ? defaultCrateOverrides
      , buildRustCrateForPkgsFunc ? null
      , runTests ? false
      , testCrateFlags ? [ ]
      , testInputs ? [ ]
        # Any command to run immediatelly before a test is executed.
      , testPreRun ? ""
        # Any command run immediatelly after a test is executed.
      , testPostRun ? ""
      }:
      lib.makeOverridable
        (
          { features
          , crateOverrides
          , runTests
          , testCrateFlags
          , testInputs
          , testPreRun
          , testPostRun
          }:
          let
            buildRustCrateForPkgsFuncOverriden =
              if buildRustCrateForPkgsFunc != null
              then buildRustCrateForPkgsFunc
              else
                (
                  if crateOverrides == pkgs.defaultCrateOverrides
                  then buildRustCrateForPkgs
                  else
                    pkgs: (buildRustCrateForPkgs pkgs).override {
                      defaultCrateOverrides = crateOverrides;
                    }
                );
            builtRustCrates = builtRustCratesWithFeatures {
              inherit packageId features;
              buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
              runTests = false;
            };
            builtTestRustCrates = builtRustCratesWithFeatures {
              inherit packageId features;
              buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
              runTests = true;
            };
            drv = builtRustCrates.crates.${packageId};
            testDrv = builtTestRustCrates.crates.${packageId};
            derivation =
              if runTests then
                crateWithTest
                  {
                    crate = drv;
                    testCrate = testDrv;
                    inherit testCrateFlags testInputs testPreRun testPostRun;
                  }
              else drv;
          in
          derivation
        )
        { inherit features crateOverrides runTests testCrateFlags testInputs testPreRun testPostRun; };

    /* Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc
      for the corresponding crate.
    */
    builtRustCratesWithFeatures =
      { packageId
      , features
      , crateConfigs ? crates
      , buildRustCrateForPkgsFunc
      , runTests
      , makeTarget ? makeDefaultTarget
      } @ args:
        assert (builtins.isAttrs crateConfigs);
        assert (builtins.isString packageId);
        assert (builtins.isList features);
        assert (builtins.isAttrs (makeTarget stdenv.hostPlatform));
        assert (builtins.isBool runTests);
        let
          rootPackageId = packageId;
          mergedFeatures = mergePackageFeatures
            (
              args // {
                inherit rootPackageId;
                target = makeTarget stdenv.hostPlatform // { test = runTests; };
              }
            );
          # Memoize built packages so that reappearing packages are only built once.
          builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs;
          mkBuiltByPackageIdByPkgs = pkgs:
            let
              self = {
                crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs;
                target = makeTarget pkgs.stdenv.hostPlatform;
                build = mkBuiltByPackageIdByPkgs pkgs.buildPackages;
              };
            in
            self;
          buildByPackageIdForPkgsImpl = self: pkgs: packageId:
            let
              features = mergedFeatures."${packageId}" or [ ];
              crateConfig' = crateConfigs."${packageId}";
              crateConfig =
                builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ];
              devDependencies =
                lib.optionals
                  (runTests && packageId == rootPackageId)
                  (crateConfig'.devDependencies or [ ]);
              dependencies =
                dependencyDerivations {
                  inherit features;
                  inherit (self) target;
                  buildByPackageId = depPackageId:
                    # proc_macro crates must be compiled for the build architecture
                    if crateConfigs.${depPackageId}.procMacro or false
                    then self.build.crates.${depPackageId}
                    else self.crates.${depPackageId};
                  dependencies =
                    (crateConfig.dependencies or [ ])
                    ++ devDependencies;
                };
              buildDependencies =
                dependencyDerivations {
                  inherit features;
                  inherit (self.build) target;
                  buildByPackageId = depPackageId:
                    self.build.crates.${depPackageId};
                  dependencies = crateConfig.buildDependencies or [ ];
                };
              dependenciesWithRenames =
                let
                  buildDeps = filterEnabledDependencies {
                    inherit features;
                    inherit (self) target;
                    dependencies = crateConfig.dependencies or [ ] ++ devDependencies;
                  };
                  hostDeps = filterEnabledDependencies {
                    inherit features;
                    inherit (self.build) target;
                    dependencies = crateConfig.buildDependencies or [ ];
                  };
                in
                lib.filter (d: d ? "rename") (hostDeps ++ buildDeps);
              # Crate renames have the form:
              #
              # {
              #    crate_name = [
              #       { version = "1.2.3"; rename = "crate_name01"; }
              #    ];
              #    # ...
              # }
              crateRenames =
                let
                  grouped =
                    lib.groupBy
                      (dependency: dependency.name)
                      dependenciesWithRenames;
                  versionAndRename = dep:
                    let
                      package = crateConfigs."${dep.packageId}";
                    in
                    { inherit (dep) rename; inherit (package) version; };
                in
                lib.mapAttrs (name: builtins.map versionAndRename) grouped;
            in
            buildRustCrateForPkgsFunc pkgs
              (
                crateConfig // {
                  # https://github.com/NixOS/nixpkgs/issues/218712
                  dontStrip = stdenv.hostPlatform.isDarwin;
                  src = crateConfig.src or (
                    pkgs.fetchurl rec {
                      name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
                      # https://www.pietroalbini.org/blog/downloading-crates-io/
                      # Not rate-limited, CDN URL.
                      url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate";
                      sha256 =
                        assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}");
                        crateConfig.sha256;
                    }
                  );
                  extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}";
                  inherit features dependencies buildDependencies crateRenames release;
                }
              );
        in
        builtByPackageIdByPkgs;

    /* Returns the actual derivations for the given dependencies. */
    dependencyDerivations =
      { buildByPackageId
      , features
      , dependencies
      , target
      }:
        assert (builtins.isList features);
        assert (builtins.isList dependencies);
        assert (builtins.isAttrs target);
        let
          enabledDependencies = filterEnabledDependencies {
            inherit dependencies features target;
          };
          depDerivation = dependency: buildByPackageId dependency.packageId;
        in
        map depDerivation enabledDependencies;

    /* Returns a sanitized version of val with all values substituted that cannot
      be serialized as JSON.
    */
    sanitizeForJson = val:
      if builtins.isAttrs val
      then lib.mapAttrs (n: sanitizeForJson) val
      else if builtins.isList val
      then builtins.map sanitizeForJson val
      else if builtins.isFunction val
      then "function"
      else val;

    /* Returns various tools to debug a crate. */
    debugCrate = { packageId, target ? makeDefaultTarget stdenv.hostPlatform }:
      assert (builtins.isString packageId);
      let
        debug = rec {
          # The built tree as passed to buildRustCrate.
          buildTree = buildRustCrateWithFeatures {
            buildRustCrateForPkgsFunc = _: lib.id;
            inherit packageId;
          };
          sanitizedBuildTree = sanitizeForJson buildTree;
          dependencyTree = sanitizeForJson
            (
              buildRustCrateWithFeatures {
                buildRustCrateForPkgsFunc = _: crate: {
                  "01_crateName" = crate.crateName or false;
                  "02_features" = crate.features or [ ];
                  "03_dependencies" = crate.dependencies or [ ];
                };
                inherit packageId;
              }
            );
          mergedPackageFeatures = mergePackageFeatures {
            features = rootFeatures;
            inherit packageId target;
          };
          diffedDefaultPackageFeatures = diffDefaultPackageFeatures {
            inherit packageId target;
          };
        };
      in
      { internal = debug; };

    /* Returns differences between cargo default features and crate2nix default
      features.

      This is useful for verifying the feature resolution in crate2nix.
    */
    diffDefaultPackageFeatures =
      { crateConfigs ? crates
      , packageId
      , target
      }:
        assert (builtins.isAttrs crateConfigs);
        let
          prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; });
          mergedFeatures =
            prefixValues
              "crate2nix"
              (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; });
          configs = prefixValues "cargo" crateConfigs;
          combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ];
          onlyInCargo =
            builtins.attrNames
              (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined);
          onlyInCrate2Nix =
            builtins.attrNames
              (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined);
          differentFeatures = lib.filterAttrs
            (
              n: v:
                (v ? "crate2nix")
                && (v ? "cargo")
                && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ])
            )
            combined;
        in
        builtins.toJSON {
          inherit onlyInCargo onlyInCrate2Nix differentFeatures;
        };

    /* Returns an attrset mapping packageId to the list of enabled features.

      If multiple paths to a dependency enable different features, the
      corresponding feature sets are merged. Features in rust are additive.
    */
    mergePackageFeatures =
      { crateConfigs ? crates
      , packageId
      , rootPackageId ? packageId
      , features ? rootFeatures
      , dependencyPath ? [ crates.${packageId}.crateName ]
      , featuresByPackageId ? { }
      , target
        # Adds devDependencies to the crate with rootPackageId.
      , runTests ? false
      , ...
      } @ args:
        assert (builtins.isAttrs crateConfigs);
        assert (builtins.isString packageId);
        assert (builtins.isString rootPackageId);
        assert (builtins.isList features);
        assert (builtins.isList dependencyPath);
        assert (builtins.isAttrs featuresByPackageId);
        assert (builtins.isAttrs target);
        assert (builtins.isBool runTests);
        let
          crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}");
          expandedFeatures = expandFeatures (crateConfig.features or { }) features;
          enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures;
          depWithResolvedFeatures = dependency:
            let
              inherit (dependency) packageId;
              features = dependencyFeatures enabledFeatures dependency;
            in
            { inherit packageId features; };
          resolveDependencies = cache: path: dependencies:
            assert (builtins.isAttrs cache);
            assert (builtins.isList dependencies);
            let
              enabledDependencies = filterEnabledDependencies {
                inherit dependencies target;
                features = enabledFeatures;
              };
              directDependencies = map depWithResolvedFeatures enabledDependencies;
              foldOverCache = op: lib.foldl op cache directDependencies;
            in
            foldOverCache
              (
                cache: { packageId, features }:
                  let
                    cacheFeatures = cache.${packageId} or [ ];
                    combinedFeatures = sortedUnique (cacheFeatures ++ features);
                  in
                  if cache ? ${packageId} && cache.${packageId} == combinedFeatures
                  then cache
                  else
                    mergePackageFeatures {
                      features = combinedFeatures;
                      featuresByPackageId = cache;
                      inherit crateConfigs packageId target runTests rootPackageId;
                    }
              );
          cacheWithSelf =
            let
              cacheFeatures = featuresByPackageId.${packageId} or [ ];
              combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures);
            in
            featuresByPackageId // {
              "${packageId}" = combinedFeatures;
            };
          cacheWithDependencies =
            resolveDependencies cacheWithSelf "dep"
              (
                crateConfig.dependencies or [ ]
                ++ lib.optionals
                  (runTests && packageId == rootPackageId)
                  (crateConfig.devDependencies or [ ])
              );
          cacheWithAll =
            resolveDependencies
              cacheWithDependencies "build"
              (crateConfig.buildDependencies or [ ]);
        in
        cacheWithAll;

    /* Returns the enabled dependencies given the enabled features. */
    filterEnabledDependencies = { dependencies, features, target }:
      assert (builtins.isList dependencies);
      assert (builtins.isList features);
      assert (builtins.isAttrs target);

      lib.filter
        (
          dep:
          let
            targetFunc = dep.target or (features: true);
          in
          targetFunc { inherit features target; }
          && (
            !(dep.optional or false)
            || builtins.any (doesFeatureEnableDependency dep) features
          )
        )
        dependencies;

    /* Returns whether the given feature should enable the given dependency. */
    doesFeatureEnableDependency = dependency: feature:
      let
        name = dependency.rename or dependency.name;
        prefix = "${name}/";
        len = builtins.stringLength prefix;
        startsWithPrefix = builtins.substring 0 len feature == prefix;
      in
      feature == name || feature == "dep:" + name || startsWithPrefix;

    /* Returns the expanded features for the given inputFeatures by applying the
      rules in featureMap.

      featureMap is an attribute set which maps feature names to lists of further
      feature names to enable in case this feature is selected.
    */
    expandFeatures = featureMap: inputFeatures:
      assert (builtins.isAttrs featureMap);
      assert (builtins.isList inputFeatures);
      let
        expandFeaturesNoCycle = oldSeen: inputFeatures:
          if inputFeatures != [ ]
          then
            let
              # The feature we're currently expanding.
              feature = builtins.head inputFeatures;
              # All the features we've seen/expanded so far, including the one
              # we're currently processing.
              seen = oldSeen // { ${feature} = 1; };
              # Expand the feature but be careful to not re-introduce a feature
              # that we've already seen: this can easily cause a cycle, see issue
              # #209.
              enables = builtins.filter (f: !(seen ? "${f}")) (featureMap."${feature}" or [ ]);
            in
            [ feature ] ++ (expandFeaturesNoCycle seen (builtins.tail inputFeatures ++ enables))
          # No more features left, nothing to expand to.
          else [ ];
        outFeatures = expandFeaturesNoCycle { } inputFeatures;
      in
      sortedUnique outFeatures;

    /* This function adds optional dependencies as features if they are enabled
      indirectly by dependency features. This function mimics Cargo's behavior
      described in a note at:
      https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features
    */
    enableFeatures = dependencies: features:
      assert (builtins.isList features);
      assert (builtins.isList dependencies);
      let
        additionalFeatures = lib.concatMap
          (
            dependency:
              assert (builtins.isAttrs dependency);
              let
                enabled = builtins.any (doesFeatureEnableDependency dependency) features;
              in
              if (dependency.optional or false) && enabled
              then [ (dependency.rename or dependency.name) ]
              else [ ]
          )
          dependencies;
      in
      sortedUnique (features ++ additionalFeatures);

    /*
      Returns the actual features for the given dependency.

      features: The features of the crate that refers this dependency.
    */
    dependencyFeatures = features: dependency:
      assert (builtins.isList features);
      assert (builtins.isAttrs dependency);
      let
        defaultOrNil =
          if dependency.usesDefaultFeatures or true
          then [ "default" ]
          else [ ];
        explicitFeatures = dependency.features or [ ];
        additionalDependencyFeatures =
          let
            name = dependency.rename or dependency.name;
            stripPrefixMatch = prefix: s:
              if lib.hasPrefix prefix s
              then lib.removePrefix prefix s
              else null;
            extractFeature = feature: lib.findFirst
              (f: f != null)
              null
              (map (prefix: stripPrefixMatch prefix feature) [
                (name + "/")
                (name + "?/")
              ]);
            dependencyFeatures = lib.filter (f: f != null) (map extractFeature features);
          in
          dependencyFeatures;
      in
      defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;

    /* Sorts and removes duplicates from a list of strings. */
    sortedUnique = features:
      assert (builtins.isList features);
      assert (builtins.all builtins.isString features);
      let
        outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features;
        outFeaturesUnique = builtins.attrNames outFeaturesSet;
      in
      builtins.sort (a: b: a < b) outFeaturesUnique;

    deprecationWarning = message: value:
      if strictDeprecation
      then builtins.throw "strictDeprecation enabled, aborting: ${message}"
      else builtins.trace message value;

    #
    # crate2nix/default.nix (excerpt end)
    #
  };
}