about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/appimage/default.nix27
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix3
-rw-r--r--pkgs/build-support/build-pecl.nix7
-rw-r--r--pkgs/build-support/cc-wrapper/add-flags.sh5
-rw-r--r--pkgs/build-support/cc-wrapper/cc-wrapper.sh2
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix68
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git2
-rw-r--r--pkgs/build-support/fetchurl/builder.sh11
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix2
-rw-r--r--pkgs/build-support/kernel/make-initrd.nix7
-rw-r--r--pkgs/build-support/libredirect/libredirect.c21
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix6
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix3
-rw-r--r--pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix2170
-rw-r--r--pkgs/build-support/rust/cargo-vendor/default.nix6
-rw-r--r--pkgs/build-support/rust/crates-io.nix3943
-rw-r--r--pkgs/build-support/rust/default-crate-overrides.nix15
-rw-r--r--pkgs/build-support/setup-hooks/patch-shebangs.sh60
-rw-r--r--pkgs/build-support/source-from-head-fun.nix2
-rw-r--r--pkgs/build-support/trivial-builders.nix4
-rw-r--r--pkgs/build-support/wrapper-common/utils.bash3
-rw-r--r--pkgs/build-support/writers/default.nix4
22 files changed, 4837 insertions, 1534 deletions
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index ef7da72fda93..c17274295c96 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -23,7 +23,7 @@ rec {
     buildCommand = ''
       install $src ./appimage
       patchelf \
-        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+        --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
         --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
         ./appimage
 
@@ -33,7 +33,7 @@ rec {
     '';
   };
 
-  wrapAppImage = { name, src, extraPkgs }: buildFHSUserEnv (defaultFhsEnvArgs // {
+  wrapAppImage = args@{ name, src, extraPkgs, ... }: buildFHSUserEnv (defaultFhsEnvArgs // {
     inherit name;
 
     targetPkgs = pkgs: defaultFhsEnvArgs.targetPkgs pkgs ++ extraPkgs pkgs;
@@ -46,17 +46,17 @@ rec {
       cd $APPDIR
       exec ./AppRun "$@"
     '';
-  });
+  } // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage))));
 
-  wrapType1 = args@{ name, src, extraPkgs ? pkgs: [] }: wrapAppImage {
+  wrapType1 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
     inherit name extraPkgs;
     src = extractType1 { inherit name src; };
-  };
+  });
 
-  wrapType2 = args@{ name, src, extraPkgs ? pkgs: [] }: wrapAppImage {
+  wrapType2 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
     inherit name extraPkgs;
     src = extractType2 { inherit name src; };
-  };
+  });
 
   defaultFhsEnvArgs = {
     name = "appimage-env";
@@ -75,6 +75,8 @@ rec {
       krb5
     ];
 
+    # list of libraries expected in an appimage environment:
+    # https://github.com/AppImage/pkg2appimage/blob/master/excludelist
     multiPkgs = pkgs: with pkgs; [
       desktop-file-utils
       xorg.libXcomposite
@@ -171,6 +173,17 @@ rec {
       xorg.libXft
       libvdpau
       alsaLib
+
+      harfbuzz
+      e2fsprogs
+      libgpgerror
+      keyutils.lib
+      libjack2
+      fribidi
+
+      # libraries not on the upstream include list, but nevertheless expected
+      # by at least one appimage
+      libtool.lib # for Synfigstudio
     ];
   };
 }
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 964ff1175538..e1ec09bc95a1 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -191,7 +191,8 @@ stdenv.mkDerivation {
       else if targetPlatform.isAvr then "avr"
       else if targetPlatform.isAlpha then "alpha"
       else throw "unknown emulation for platform: ${targetPlatform.config}";
-    in targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
+    in if targetPlatform.useLLVM or false then ""
+       else targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
 
   strictDeps = true;
   depsTargetTargetPropagated = extraPackages;
diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix
index 738dbb56708d..d08f8822d751 100644
--- a/pkgs/build-support/build-pecl.nix
+++ b/pkgs/build-support/build-pecl.nix
@@ -1,18 +1,19 @@
 { stdenv, php, autoreconfHook, fetchurl }:
 
-{ name
+{ pname
+, version
 , buildInputs ? []
 , nativeBuildInputs ? []
 , makeFlags ? []
 , src ? fetchurl {
-    url = "http://pecl.php.net/get/${name}.tgz";
+    url = "http://pecl.php.net/get/${pname}-${version}.tgz";
     inherit (args) sha256;
   }
 , ...
 }@args:
 
 stdenv.mkDerivation (args // {
-  name = "php-${name}";
+  name = "php-${pname}-${version}";
 
   inherit src;
 
diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh
index 9762894607ac..1358b167f6ec 100644
--- a/pkgs/build-support/cc-wrapper/add-flags.sh
+++ b/pkgs/build-support/cc-wrapper/add-flags.sh
@@ -6,6 +6,7 @@
 
 var_templates_list=(
     NIX+CFLAGS_COMPILE
+    NIX+CFLAGS_COMPILE_BEFORE
     NIX+CFLAGS_LINK
     NIX+CXXSTDLIB_COMPILE
     NIX+CXXSTDLIB_LINK
@@ -43,5 +44,9 @@ if [ -e @out@/nix-support/cc-ldflags ]; then
     NIX_@infixSalt@_LDFLAGS+=" $(< @out@/nix-support/cc-ldflags)"
 fi
 
+if [ -e @out@/nix-support/cc-cflags-before ]; then
+    NIX_@infixSalt@_CFLAGS_COMPILE_BEFORE="$(< @out@/nix-support/cc-cflags-before) $NIX_@infixSalt@_CFLAGS_COMPILE_BEFORE"
+fi
+
 # That way forked processes will not extend these environment variables again.
 export NIX_CC_WRAPPER_@infixSalt@_FLAGS_SET=1
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index 8003fe1d8f38..bb7890100087 100644
--- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -135,7 +135,7 @@ source @out@/nix-support/add-hardening.sh
 
 # Add the flags for the C compiler proper.
 extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE)
-extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"})
+extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"} $NIX_@infixSalt@_CFLAGS_COMPILE_BEFORE)
 
 if [ "$dontLink" != 1 ]; then
 
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 9569c6e78c8a..cf2d38cd9978 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -63,6 +63,25 @@ let
     then import ../expand-response-params { inherit (buildPackages) stdenv; }
     else "";
 
+  # older compilers (for example bootstrap's GCC 5) fail with -march=too-modern-cpu
+  isGccArchSupported = arch:
+    if cc.isGNU or false then
+      { skylake        = versionAtLeast ccVersion "6.0";
+        skylake-avx512 = versionAtLeast ccVersion "6.0";
+        cannonlake     = versionAtLeast ccVersion "8.0";
+        icelake-client = versionAtLeast ccVersion "8.0";
+        icelake-server = versionAtLeast ccVersion "8.0";
+        knm            = versionAtLeast ccVersion "8.0";
+      }.${arch} or true
+    else if cc.isClang or false then
+      { cannonlake     = versionAtLeast ccVersion "5.0";
+        icelake-client = versionAtLeast ccVersion "7.0";
+        icelake-server = versionAtLeast ccVersion "7.0";
+        knm            = versionAtLeast ccVersion "7.0";
+      }.${arch} or true
+    else
+      false;
+
 in
 
 # Ensure bintools matches
@@ -279,23 +298,56 @@ stdenv.mkDerivation {
       export hardening_unsupported_flags="${builtins.concatStringsSep " " (cc.hardeningUnsupportedFlags or [])}"
     ''
 
-    + optionalString hostPlatform.isCygwin ''
-      hardening_unsupported_flags+=" pic"
+    # Machine flags. These are necessary to support
+
+    # TODO: We should make a way to support miscellaneous machine
+    # flags and other gcc flags as well.
+
+    # Always add -march based on cpu in triple. Sometimes there is a
+    # discrepency (x86_64 vs. x86-64), so we provide an "arch" arg in
+    # that case.
+    + optionalString ((targetPlatform ? platform.gcc.arch) &&
+                      isGccArchSupported targetPlatform.platform.gcc.arch) ''
+      echo "-march=${targetPlatform.platform.gcc.arch}" >> $out/nix-support/cc-cflags-before
     ''
 
-    + optionalString targetPlatform.isMinGW ''
-      hardening_unsupported_flags+=" stackprotector"
+    # -mcpu is not very useful. You should use mtune and march
+    # instead. It’s provided here for backwards compatibility.
+    + optionalString (targetPlatform ? platform.gcc.cpu) ''
+      echo "-mcpu=${targetPlatform.platform.gcc.cpu}" >> $out/nix-support/cc-cflags-before
     ''
 
-    + optionalString targetPlatform.isAvr ''
-      hardening_unsupported_flags+=" stackprotector pic"
+    # -mfloat-abi only matters on arm32 but we set it here
+    # unconditionally just in case. If the abi specifically sets hard
+    # vs. soft floats we use it here.
+    + optionalString (targetPlatform ? platform.gcc.float-abi) ''
+      echo "-mfloat-abi=${targetPlatform.platform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before
+    ''
+    + optionalString (targetPlatform ? platform.gcc.fpu) ''
+      echo "-mfpu=${targetPlatform.platform.gcc.fpu}" >> $out/nix-support/cc-cflags-before
+    ''
+    + optionalString (targetPlatform ? platform.gcc.mode) ''
+      echo "-mmode=${targetPlatform.platform.gcc.mode}" >> $out/nix-support/cc-cflags-before
+    ''
+    + optionalString (targetPlatform ? platform.gcc.tune &&
+                      isGccArchSupported targetPlatform.platform.gcc.tune) ''
+      echo "-mtune=${targetPlatform.platform.gcc.tune}" >> $out/nix-support/cc-cflags-before
     ''
 
-    + optionalString targetPlatform.isNetBSD ''
+    # TODO: categorize these and figure out a better place for them
+    + optionalString hostPlatform.isCygwin ''
+      hardening_unsupported_flags+=" pic"
+    '' + optionalString targetPlatform.isMinGW ''
+      hardening_unsupported_flags+=" stackprotector"
+    '' + optionalString targetPlatform.isAvr ''
+      hardening_unsupported_flags+=" stackprotector pic"
+    '' + optionalString (targetPlatform.libc == "newlib") ''
+      hardening_unsupported_flags+=" stackprotector fortify pie pic"
+    '' + optionalString targetPlatform.isNetBSD ''
       hardening_unsupported_flags+=" stackprotector fortify"
     ''
 
-    + optionalString (targetPlatform.libc == "newlib") ''
+    + optionalString targetPlatform.isWasm ''
       hardening_unsupported_flags+=" stackprotector fortify pie pic"
     ''
 
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index fa4e504c908f..c681be8e4c35 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -68,7 +68,7 @@ for arg; do
             --leave-dotGit) leaveDotGit=true;;
             --fetch-submodules) fetchSubmodules=true;;
             --builder) builder=true;;
-            --help) usage; exit;;
+            -h|--help) usage; exit;;
             *)
                 : $((++argi))
                 case $argi in
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index f9bc8b602f4c..74fdc320835f 100644
--- a/pkgs/build-support/fetchurl/builder.sh
+++ b/pkgs/build-support/fetchurl/builder.sh
@@ -118,7 +118,6 @@ if test -n "$showURLs"; then
     exit 0
 fi
 
-
 if test -n "$preferHashedMirrors"; then
     tryHashedMirrors
 fi
@@ -128,6 +127,16 @@ set -o noglob
 
 success=
 for url in $urls; do
+    if [ -z "$postFetch" ]; then
+       case "$url" in
+           https://github.com/*/archive/*)
+               echo "warning: archives from GitHub revisions should use fetchFromGitHub"
+               ;;
+           https://gitlab.com/*/-/archive/*)
+               echo "warning: archives from GitLab revisions should use fetchFromGitLab"
+               ;;
+       esac
+    fi
     tryDownload "$url"
     if test -n "$success"; then finish; fi
 done
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 404c744eea2a..404cea7532bf 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -308,6 +308,8 @@ rec {
   hackage = [
     http://hackage.haskell.org/package/
     http://hdiff.luite.com/packages/archive/package/
+    http://hackage.fpcomplete.com/package/
+    http://objects-us-east-1.dream.io/hackage-mirror/package/
   ];
 
   # Roy marples mirrors
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix
index 22761af158af..7ad1affb65a3 100644
--- a/pkgs/build-support/kernel/make-initrd.nix
+++ b/pkgs/build-support/kernel/make-initrd.nix
@@ -12,11 +12,14 @@
 # `contents = {object = ...; symlink = /init;}' is a typical
 # argument.
 
-{ stdenv, perl, cpio, contents, compressor, prepend, ubootTools
+{ stdenv, perl, cpio, contents, ubootTools
+, name ? "initrd"
+, compressor ? "gzip -9n"
+, prepend ? []
 }:
 
 stdenv.mkDerivation rec {
-  name = "initrd";
+  inherit name;
   builder = ./make-initrd.sh;
 
   makeUInitrd = stdenv.hostPlatform.platform.kernelTarget == "uImage";
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index ba1e6c57e12e..dcf3a2016bc2 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -91,6 +91,20 @@ int open64(const char * path, int flags, ...)
     return open64_real(rewrite(path, buf), flags, mode);
 }
 
+int openat(int dirfd, const char * path, int flags, ...)
+{
+    int (*openat_real) (int, const char *, int, mode_t) = dlsym(RTLD_NEXT, "openat");
+    mode_t mode = 0;
+    if (flags & O_CREAT) {
+        va_list ap;
+        va_start(ap, flags);
+        mode = va_arg(ap, mode_t);
+        va_end(ap);
+    }
+    char buf[PATH_MAX];
+    return openat_real(dirfd, rewrite(path, buf), flags, mode);
+}
+
 FILE * fopen(const char * path, const char * mode)
 {
     FILE * (*fopen_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen");
@@ -152,3 +166,10 @@ int execv(const char *path, char *const argv[])
     char buf[PATH_MAX];
     return execv_real(rewrite(path, buf), argv);
 }
+
+void *dlopen(const char *filename, int flag)
+{
+    void * (*__dlopen_real) (const char *, int) = dlsym(RTLD_NEXT, "dlopen");
+    char buf[PATH_MAX];
+    return __dlopen_real(rewrite(filename, buf), flag);
+}
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 165b3414c6a3..169adcf2d43a 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -6,6 +6,7 @@
 , completeDeps
 , crateAuthors
 , crateDescription
+, crateHomepage
 , crateFeatures
 , crateName
 , crateVersion
@@ -91,12 +92,11 @@ in ''
   export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0}
   export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1}
   export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2}
+  export CARGO_PKG_VERSION_PRE="${versionPre}"
+  export CARGO_PKG_HOMEPAGE="${crateHomepage}"
   export NUM_JOBS=1
   export RUSTC="rustc"
   export RUSTDOC="rustdoc"
-  if [[ -n "${versionPre}" ]]; then
-    export CARGO_PKG_VERSION_PRE="${versionPre}"
-  fi
 
   BUILD=""
   if [[ ! -z "${build}" ]] ; then
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 81e8a7ca0afa..acb2ee63cce4 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -131,6 +131,7 @@ stdenv.mkDerivation (rec {
     crateVersion = crate.version;
     crateDescription = crate.description or "";
     crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [];
+    crateHomepage = crate.homepage or "";
     crateType =
       if lib.attrByPath ["procMacro"] false crate then ["proc-macro"] else
       if lib.attrByPath ["plugin"] false crate then ["dylib"] else
@@ -144,7 +145,7 @@ stdenv.mkDerivation (rec {
       inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
               crateFeatures libName build workspace_member release libPath crateVersion
               extraLinkFlags extraRustcOpts
-              crateAuthors verbose colors target_os;
+              crateAuthors crateHomepage verbose colors target_os;
     };
     buildPhase = buildCrate {
       inherit crateName dependencies
diff --git a/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
index 0779ac0537f6..9af5cbe652c3 100644
--- a/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
+++ b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
@@ -1,1487 +1,693 @@
-# Generated by carnix 0.5.2: carnix Cargo.lock -o cargo-vendor.nix
-{ lib, stdenv, buildRustCrate }:
-let kernel = stdenv.hostPlatform.parsed.kernel.name;
-    abi = stdenv.hostPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
+# Generated by carnix 0.10.0: carnix generate-nix --src .
+{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
+with buildRustCrateHelpers;
+let inherit (lib.lists) fold;
+    inherit (lib.attrsets) recursiveUpdate;
+in
+rec {
+  crates = cratesIO // rec {
+# cargo-vendor-0.1.23
 
-    mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if featureName != "" && hasFeature feat.${featureName} then
-        [ featureName ] ++ features
-      else
-        features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    advapi32_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "advapi32-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1l6789hkz2whd9gklwz1m379kcvyizaj8nnzj3rn4a5h79yg59v7";
-      libName = "advapi32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "aho-corasick";
-      version = "0.6.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
-      libName = "aho_corasick";
-      crateBin = [ {  name = "aho-corasick-dot"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "atty";
-      version = "0.2.3";
-      authors = [ "softprops <d.tangren@gmail.com>" ];
-      sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace";
-      version = "0.3.3";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
-      sha256 = "0invfdxkj85v8zyrjs3amfxjdk2a36x8irq7wq7kny6q49hh8y0z";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace-sys";
-      version = "0.1.16";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.7.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.9.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
-      inherit dependencies buildDependencies features;
-    };
-    cargo_0_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cargo";
-      version = "0.22.0";
-      authors = [ "Yehuda Katz <wycats@gmail.com>" "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1a47jzkxydsrcyybdqv7wd6a2f258c8bb8rb2jv5n4apxz5qhycl";
-      libPath = "src/cargo/lib.rs";
-      crateBin = [ {  name = "cargo"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    cargo_vendor_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crates.cargo_vendor."0.1.23" = deps: { features?(features_.cargo_vendor."0.1.23" deps {}) }: buildRustCrate {
       crateName = "cargo-vendor";
-      version = "0.1.13";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      src = ./.;
-      inherit dependencies buildDependencies features;
-    };
-    cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cc";
-      version = "1.0.3";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
-      inherit dependencies buildDependencies features;
-    };
-    cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cfg-if";
-      version = "0.1.2";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
-      inherit dependencies buildDependencies features;
-    };
-    cmake_0_1_26_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cmake";
-      version = "0.1.26";
+      version = "0.1.23";
+      description = "A Cargo subcommand to vendor all crates.io dependencies onto the local\nfilesystem.\n";
       authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0qi1vb1fzlngxr4mzklg58jjmvwj08059pjvh0yh1azzj2mcmgx6";
-      inherit dependencies buildDependencies features;
-    };
-    core_foundation_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "core-foundation";
-      version = "0.4.4";
-      authors = [ "The Servo Project Developers" ];
-      sha256 = "1vn9cdbihjnqrlznrbvw0yggz5grb4wqll5xq080w28xxhnayyhx";
-      inherit dependencies buildDependencies features;
-    };
-    core_foundation_sys_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "core-foundation-sys";
-      version = "0.4.4";
-      authors = [ "The Servo Project Developers" ];
-      sha256 = "022i015jzjmv85vr25l9caxz211649d8rnbcsmr0gh9k4ygm7pqk";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    crates_io_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "crates-io";
-      version = "0.11.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1xxhbka89bk1kkhl8nsnlp9ih64fzv904dyb7jyws7lizcvq77wm";
-      libPath = "lib.rs";
-      libName = "crates_io";
-      inherit dependencies buildDependencies features;
-    };
-    crossbeam_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "crossbeam";
-      version = "0.2.10";
-      authors = [ "Aaron Turon <aturon@mozilla.com>" ];
-      sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq";
-      inherit dependencies buildDependencies features;
-    };
-    curl_0_4_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "curl";
-      version = "0.4.8";
-      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0pxg1bpplm1bp8b8gzlvs4pmd36m02gjhskvwrd161hh9pslczv5";
-      inherit dependencies buildDependencies features;
-    };
-    curl_sys_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "curl-sys";
-      version = "0.3.15";
-      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0x2ysxhpwg1a7srf74v4qcy516jzf0kjg87hsl6cfnasxplz5x1g";
-      libPath = "lib.rs";
-      libName = "curl_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbghelp-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
-      libName = "dbghelp";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    docopt_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "docopt";
-      version = "0.8.1";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0kmqy534qgcc2hh81nd248jmnvdjb5y4wclddd7y2jjm27rzibss";
-      crateBin = [ {  name = "docopt-wordlist";  path = "src/wordlist.rs"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dtoa";
-      version = "0.4.2";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
-      inherit dependencies buildDependencies features;
-    };
-    env_logger_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "env_logger";
-      version = "0.4.3";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0nrx04p4xa86d5kc7aq4fwvipbqji9cmgy449h47nc9f1chafhgg";
-      inherit dependencies buildDependencies features;
-    };
-    error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "error-chain";
-      version = "0.11.0";
-      authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-      sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
-      inherit dependencies buildDependencies features;
-    };
-    filetime_0_1_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "filetime";
-      version = "0.1.14";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0i6dvc3ba7vl1iccc91k7c9bv9j5md98mbvlmfy0kicikx0ffn08";
-      inherit dependencies buildDependencies features;
-    };
-    flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "flate2";
-      version = "0.2.20";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
-      inherit dependencies buildDependencies features;
-    };
-    fnv_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fnv";
-      version = "1.0.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "164832m16b3hdm3jfrda03ps3ayi5qb855irpm9sqpnw1awpy2a2";
-      libPath = "lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    foreign_types_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "foreign-types";
-      version = "0.2.0";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "1sznwg2py4xi7hyrx0gg1sirlwgh87wsanvjx3zb475g6c4139jh";
-      inherit dependencies buildDependencies features;
-    };
-    fs2_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fs2";
-      version = "0.4.2";
-      authors = [ "Dan Burkert <dan@danburkert.com>" ];
-      sha256 = "034s52pmqvrkafmmlnklysqx6gl08rl63ycngbav9hs0mrq22qvf";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon";
-      version = "0.2.1";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon-sys";
-      version = "0.2.0";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
-      inherit dependencies buildDependencies features;
-    };
-    git2_0_6_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "git2";
-      version = "0.6.8";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1si82zg35a1az91wa2zjwlkmbd4pdia8wf87j6hz4bs8l55y8fd9";
-      inherit dependencies buildDependencies features;
-    };
-    git2_curl_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "git2-curl";
-      version = "0.7.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1k36py61r3g7xz79ms02c1zb9x5c60g4wnjg2ffwz2j7kqzw9cc8";
-      inherit dependencies buildDependencies features;
-    };
-    glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glob";
-      version = "0.2.11";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
-      inherit dependencies buildDependencies features;
-    };
-    globset_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "globset";
-      version = "0.2.1";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "02dycdz001g33rs2jygiq7yqqswmy1in5rczfl44clq1p118fis0";
-      inherit dependencies buildDependencies features;
-    };
-    hex_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "hex";
-      version = "0.2.0";
-      authors = [ "KokaKiwi <kokakiwi@kokakiwi.net>" ];
-      sha256 = "0yd68d709w1z8133n9hny9dfj2fvil0r6802c3bb63czyis8rfbp";
-      inherit dependencies buildDependencies features;
-    };
-    home_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "home";
-      version = "0.3.0";
-      authors = [ "Brian Anderson <andersrb@gmail.com>" ];
-      sha256 = "1dzc0wd2i82zqq1s8j4mpy2almaq5fcas22s4asn38pm86k40zf2";
-      inherit dependencies buildDependencies features;
-    };
-    idna_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "idna";
-      version = "0.1.4";
-      authors = [ "The rust-url developers" ];
-      sha256 = "15j44qgjx1skwg9i7f4cm36ni4n99b1ayx23yxx7axxcw8vjf336";
-      inherit dependencies buildDependencies features;
-    };
-    ignore_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ignore";
-      version = "0.2.2";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1b9wc8q25jwbipxmrysaps7sykbhyh6hdl8ihqzlwfvg39dy7mjc";
-      inherit dependencies buildDependencies features;
-    };
-    itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itoa";
-      version = "0.3.4";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
-      inherit dependencies buildDependencies features;
-    };
-    jobserver_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "jobserver";
-      version = "0.1.8";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0rscjndafcrldrlb5nax2jgnc6fk298awqc6yzi9lbnbybm6r004";
-      inherit dependencies buildDependencies features;
-    };
-    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "kernel32-sys";
-      version = "0.2.2";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-      libName = "kernel32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_2_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.2.9";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "08ldzr5292y3hvi6l6v8l4i6v95lm1aysmnfln65h10sqrfh6iw7";
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.33";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
-      inherit dependencies buildDependencies features;
-    };
-    libgit2_sys_0_6_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libgit2-sys";
-      version = "0.6.16";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "05axjdwkm7z8z6c7s96cakdigjiq9sfah8z48868bhby6v1q30n9";
-      libPath = "lib.rs";
-      libName = "libgit2_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    libssh2_sys_0_2_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libssh2-sys";
-      version = "0.2.6";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0pvdgr3lg9x8xyjmfwifr9dxirvrzjvq7i3clix50rwp7ck21jh7";
-      libPath = "lib.rs";
-      libName = "libssh2_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    libz_sys_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libz-sys";
-      version = "1.0.18";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0lr0rvmmfbfa4g7mhi0l93i8jq86pfcssdv4d40kzfy45ajdcgim";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    log_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "log";
-      version = "0.3.8";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
-      inherit dependencies buildDependencies features;
-    };
-    matches_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "matches";
-      version = "0.1.6";
-      authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
-      sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan";
-      libPath = "lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "1.0.2";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "2.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "182svm4sr8b7l38ss6ph5wkj3p7ypp08jq65fm83mxpylxziih9p";
-      inherit dependencies buildDependencies features;
-    };
-    miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "miniz-sys";
-      version = "0.1.10";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
-      libPath = "lib.rs";
-      libName = "miniz_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    miow_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "miow";
-      version = "0.2.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
-      inherit dependencies buildDependencies features;
-    };
-    net2_0_2_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "net2";
-      version = "0.2.31";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "13mphllfcbybsdqyi1jb3kyqx65m8ch07drr59a4wb3yl89awm7y";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.40";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
-      inherit dependencies buildDependencies features;
-    };
-    num_cpus_1_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num_cpus";
-      version = "1.7.0";
-      authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-      sha256 = "0231xmd65ma3pqfiw8pkv9dvm9x708z4xlrwp3i0sgiwv408dz3f";
-      inherit dependencies buildDependencies features;
-    };
-    openssl_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "openssl";
-      version = "0.9.20";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0dbj6k6z828c3sqbxidw5zfval29k8dlsr8qn8fizhc1alli18gx";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    openssl_probe_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "openssl-probe";
-      version = "0.1.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "19ykmqfnbmq56nadir0kvap4q1rpcjpmrfpnbc1qkj195dnh66na";
-      inherit dependencies buildDependencies features;
-    };
-    openssl_sys_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "openssl-sys";
-      version = "0.9.20";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "05q6qagvy7lim9vkq2v00vpm34j1dq4xy9pchs7fb6yy803vx24m";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    percent_encoding_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "percent-encoding";
-      version = "1.0.0";
-      authors = [ "The rust-url developers" ];
-      sha256 = "0c91wp8inj7z270i2kilxjl00kcagqalxxnnjg7fsdlimdwb7q1z";
-      libPath = "lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "pkg-config";
-      version = "0.3.9";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-      inherit dependencies buildDependencies features;
-    };
-    psapi_sys_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "psapi-sys";
-      version = "0.1.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "091sbrcwbnhq1mwx6rc5w5kkwzg2ph78rhwjkdy9aqnzj7yj5ppm";
-      libName = "psapi";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "quote";
-      version = "0.3.15";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.18";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
-      inherit dependencies buildDependencies features;
-    };
-    redox_syscall_0_1_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_syscall";
-      version = "0.1.31";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
-      libName = "syscall";
-      inherit dependencies buildDependencies features;
-    };
-    redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_termios";
-      version = "0.1.1";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex";
-      version = "0.2.2";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
-      inherit dependencies buildDependencies features;
-    };
-    regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex-syntax";
-      version = "0.4.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc-demangle";
-      version = "0.1.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
-      inherit dependencies buildDependencies features;
-    };
-    same_file_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "same-file";
-      version = "0.1.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "01hdnxblb1hlysr47nwdv7r8vs7p63ia08v5h4lcffmzqvl5zzn9";
-      inherit dependencies buildDependencies features;
-    };
-    scoped_tls_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "scoped-tls";
-      version = "0.1.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1j8azxa15srljafrg7wc221npvxb3700sbfk6jjav0rw2zclsnf5";
-      inherit dependencies buildDependencies features;
-    };
-    scopeguard_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "scopeguard";
-      version = "0.1.2";
-      authors = [ "bluss" ];
-      sha256 = "00b3jrxlrzqv7qqzdd18m6p5skj1xwb4nw6bhch2ikg0hnfv5zdb";
-      inherit dependencies buildDependencies features;
-    };
-    semver_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "semver";
-      version = "0.7.0";
-      authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
-      sha256 = "079944bh20ldr41i96nk9b31igj555dl2d8mg51m4h0ccwric4l8";
-      inherit dependencies buildDependencies features;
-    };
-    semver_parser_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "semver-parser";
-      version = "0.7.0";
-      authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
-      sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
-      inherit dependencies buildDependencies features;
-    };
-    serde_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde";
-      version = "1.0.18";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "14cczcvmfwgbm8447k93aggi7fbx0ix5f7dz16fxzs9l3riac5vq";
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive";
-      version = "1.0.18";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1kx8zjcc9mxib6ipb9ygjjgxdniff93pwazvj4vqb859paqazdsj";
-      procMacro = true;
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_internals_0_16_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive_internals";
-      version = "0.16.0";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1k96ypwlhnvmaksimkx1pd5rwvjaanfcdzpgndhy994hx03xplhs";
-      inherit dependencies buildDependencies features;
-    };
-    serde_ignored_0_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_ignored";
-      version = "0.0.3";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0yz81jz6rqbzbhznmkygl9rdq1xq43jsgv10mmd5m24vh4j00icc";
-      inherit dependencies buildDependencies features;
-    };
-    serde_json_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_json";
-      version = "1.0.5";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1yka3aa2gfi30415jpf0935k54r08jhyw6r7rjz2nv1kqgbw2brs";
-      inherit dependencies buildDependencies features;
-    };
-    shell_escape_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "shell-escape";
-      version = "0.1.3";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0r3pj7kl40iqjbivwh4kd6agjdhbf5avzp7i8v42xvpc1zrzrq77";
-      inherit dependencies buildDependencies features;
-    };
-    socket2_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "socket2";
-      version = "0.2.4";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1pdwqlx4wnabgv549i3pb3whbk8ggcq4kg0lfx9cpcazcjk5p6iz";
-      inherit dependencies buildDependencies features;
-    };
-    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "strsim";
-      version = "0.6.0";
-      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-      inherit dependencies buildDependencies features;
-    };
-    syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "syn";
-      version = "0.11.11";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-      inherit dependencies buildDependencies features;
-    };
-    synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "synom";
-      version = "0.11.3";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
-      inherit dependencies buildDependencies features;
-    };
-    tar_0_4_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tar";
-      version = "0.4.13";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1m425d07h0i6h2vbpxnh067zmc16l9yr9bii17zxw4z2inkfyfc4";
-      inherit dependencies buildDependencies features;
-    };
-    tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tempdir";
-      version = "0.3.5";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
-      inherit dependencies buildDependencies features;
-    };
-    termcolor_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "termcolor";
-      version = "0.3.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1rb853jzvkbwm62373dhls4x4r3r5cvfcsxvqh0i75rhx5j8kwsz";
-      inherit dependencies buildDependencies features;
-    };
-    termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "termion";
-      version = "1.5.1";
-      authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-      sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-      inherit dependencies buildDependencies features;
-    };
-    thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread_local";
-      version = "0.3.4";
-      authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
-      inherit dependencies buildDependencies features;
-    };
-    toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "toml";
-      version = "0.4.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_bidi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-bidi";
-      version = "0.3.4";
-      authors = [ "The Servo Project Developers" ];
-      sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
-      libName = "unicode_bidi";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_normalization_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-normalization";
-      version = "0.1.5";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-xid";
-      version = "0.0.4";
-      authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
-      inherit dependencies buildDependencies features;
-    };
-    unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unreachable";
-      version = "1.0.0";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
-      inherit dependencies buildDependencies features;
-    };
-    url_1_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "url";
-      version = "1.6.0";
-      authors = [ "The rust-url developers" ];
-      sha256 = "1bvzl4dvjj84h46ai3x23wyafa2wwhchj08vr2brf25dxwc7mg18";
-      inherit dependencies buildDependencies features;
-    };
-    userenv_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "userenv-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "19l85k56y30likj69ri83jspsf4n9q4d03pi4mbs7cimlzn8lvzj";
-      libName = "userenv";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "utf8-ranges";
-      version = "1.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
-      inherit dependencies buildDependencies features;
-    };
-    vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vcpkg";
-      version = "0.2.2";
-      authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-      sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
-      inherit dependencies buildDependencies features;
-    };
-    void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "void";
-      version = "1.0.2";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-      inherit dependencies buildDependencies features;
-    };
-    walkdir_1_0_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "walkdir";
-      version = "1.0.7";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1ygsc59m8mbnlz0psjxdzm1xjndxpywjwalqcd3pwdarzk1gy1vr";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi";
-      version = "0.2.8";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi-build";
-      version = "0.1.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-      libName = "build";
-      inherit dependencies buildDependencies features;
-    };
-    wincolor_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wincolor";
-      version = "0.1.4";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0cxv6hadnj5vffb8a73y7055p59n20bpqd524df85cm29dcjl38a";
-      inherit dependencies buildDependencies features;
-    };
-    ws2_32_sys_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ws2_32-sys";
-      version = "0.2.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
-      libName = "ws2_32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
+      edition = "2018";
+      src = exclude [ ".git" "target" ] ./.;
+      dependencies = mapFeatures features ([
+        (cratesIO.crates."cargo"."${deps."cargo_vendor"."0.1.23"."cargo"}" deps)
+        (cratesIO.crates."docopt"."${deps."cargo_vendor"."0.1.23"."docopt"}" deps)
+        (cratesIO.crates."env_logger"."${deps."cargo_vendor"."0.1.23"."env_logger"}" deps)
+        (cratesIO.crates."failure"."${deps."cargo_vendor"."0.1.23"."failure"}" deps)
+        (cratesIO.crates."serde"."${deps."cargo_vendor"."0.1.23"."serde"}" deps)
+        (cratesIO.crates."serde_json"."${deps."cargo_vendor"."0.1.23"."serde_json"}" deps)
+        (cratesIO.crates."toml"."${deps."cargo_vendor"."0.1.23"."toml"}" deps)
+      ]
+        ++ (if features.cargo_vendor."0.1.23".openssl or false then [ (cratesIO.crates.openssl."${deps."cargo_vendor"."0.1.23".openssl}" deps) ] else []));
+      features = mkFeatures (features."cargo_vendor"."0.1.23" or {});
+    };
+    features_.cargo_vendor."0.1.23" = deps: f: updateFeatures f (rec {
+      cargo."${deps.cargo_vendor."0.1.23".cargo}".default = true;
+      cargo_vendor."0.1.23".default = (f.cargo_vendor."0.1.23".default or true);
+      docopt."${deps.cargo_vendor."0.1.23".docopt}".default = true;
+      env_logger."${deps.cargo_vendor."0.1.23".env_logger}".default = true;
+      failure."${deps.cargo_vendor."0.1.23".failure}".default = true;
+      openssl = fold recursiveUpdate {} [
+        { "${deps.cargo_vendor."0.1.23".openssl}"."vendored" =
+          (f.openssl."${deps.cargo_vendor."0.1.23".openssl}"."vendored" or false) ||
+          (cargo_vendor."0.1.23"."vendored-openssl" or false) ||
+          (f."cargo_vendor"."0.1.23"."vendored-openssl" or false); }
+        { "${deps.cargo_vendor."0.1.23".openssl}".default = true; }
+      ];
+      serde = fold recursiveUpdate {} [
+        { "${deps.cargo_vendor."0.1.23".serde}"."derive" = true; }
+        { "${deps.cargo_vendor."0.1.23".serde}".default = true; }
+      ];
+      serde_json."${deps.cargo_vendor."0.1.23".serde_json}".default = true;
+      toml."${deps.cargo_vendor."0.1.23".toml}".default = true;
+    }) [
+      (cratesIO.features_.cargo."${deps."cargo_vendor"."0.1.23"."cargo"}" deps)
+      (cratesIO.features_.docopt."${deps."cargo_vendor"."0.1.23"."docopt"}" deps)
+      (cratesIO.features_.env_logger."${deps."cargo_vendor"."0.1.23"."env_logger"}" deps)
+      (cratesIO.features_.failure."${deps."cargo_vendor"."0.1.23"."failure"}" deps)
+      (cratesIO.features_.openssl."${deps."cargo_vendor"."0.1.23"."openssl"}" deps)
+      (cratesIO.features_.serde."${deps."cargo_vendor"."0.1.23"."serde"}" deps)
+      (cratesIO.features_.serde_json."${deps."cargo_vendor"."0.1.23"."serde_json"}" deps)
+      (cratesIO.features_.toml."${deps."cargo_vendor"."0.1.23"."toml"}" deps)
+    ];
 
-in
-rec {
-  advapi32_sys_0_2_0 = advapi32_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_advapi32_sys_0_2_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_advapi32_sys_0_2_0__default_ = true;
-  aho_corasick_0_6_3 = aho_corasick_0_6_3_ rec {
-    dependencies = [ memchr_1_0_2 ];
-  };
-  memchr_1_0_2_features."default".from_aho_corasick_0_6_3__default_ = true;
-  atty_0_2_3 = atty_0_2_3_ rec {
-    dependencies = (if kernel == "redox" then [ termion_1_5_1 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_atty_0_2_3__default_ = true;
-  libc_0_2_33_features."default".from_atty_0_2_3__default_ = false;
-  termion_1_5_1_features."default".from_atty_0_2_3__default_ = true;
-  winapi_0_2_8_features."default".from_atty_0_2_3__default_ = true;
-  backtrace_0_3_3 = backtrace_0_3_3_ rec {
-    dependencies = [ cfg_if_0_1_2 rustc_demangle_0_1_5 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then [ backtrace_sys_0_1_16 ]
-      ++ (if lib.lists.any (x: x == "backtrace-sys") features then [backtrace_sys_0_1_16] else []) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ dbghelp_sys_0_2_0 kernel32_sys_0_2_2 winapi_0_2_8 ]
-      ++ (if lib.lists.any (x: x == "dbghelp-sys") features then [dbghelp_sys_0_2_0] else [])
-      ++ (if lib.lists.any (x: x == "kernel32-sys") features then [kernel32_sys_0_2_2] else [])
-      ++ (if lib.lists.any (x: x == "winapi") features then [winapi_0_2_8] else []) else []);
-    features = mkFeatures backtrace_0_3_3_features;
-  };
-  backtrace_0_3_3_features."".self = true;
-  backtrace_0_3_3_features."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
-  backtrace_0_3_3_features."winapi".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
-  backtrace_0_3_3_features."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
-  backtrace_0_3_3_features."libunwind".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."libbacktrace".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."coresymbolication".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."dladdr".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."dbghelp".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
-  backtrace_0_3_3_features."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
-  backtrace_0_3_3_features."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_3_features."libbacktrace" or {});
-  backtrace_0_3_3_features."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_3_features."serialize-rustc" or {});
-  backtrace_0_3_3_features."serde".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
-  backtrace_0_3_3_features."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
-  addr2line_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  backtrace_sys_0_1_16_features."default".from_backtrace_0_3_3__default_ = true;
-  cfg_if_0_1_2_features."default".from_backtrace_0_3_3__default_ = true;
-  cpp_demangle_0_0_0_features."default".from_backtrace_0_3_3__default_ = false;
-  dbghelp_sys_0_2_0_features."default".from_backtrace_0_3_3__default_ = true;
-  findshlibs_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_backtrace_0_3_3__default_ = true;
-  libc_0_2_33_features."default".from_backtrace_0_3_3__default_ = true;
-  rustc_demangle_0_1_5_features."default".from_backtrace_0_3_3__default_ = true;
-  rustc_serialize_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  serde_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  serde_derive_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  winapi_0_2_8_features."default".from_backtrace_0_3_3__default_ = true;
-  backtrace_sys_0_1_16 = backtrace_sys_0_1_16_ rec {
-    dependencies = [ libc_0_2_33 ];
-    buildDependencies = [ cc_1_0_3 ];
-  };
-  cc_1_0_3_features."default".from_backtrace_sys_0_1_16__default_ = true;
-  libc_0_2_33_features."default".from_backtrace_sys_0_1_16__default_ = true;
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_0_9_1 = bitflags_0_9_1_ rec {
-    features = mkFeatures bitflags_0_9_1_features;
-  };
-  bitflags_0_9_1_features."example_generated".self_default = hasDefault bitflags_0_9_1_features;
-  cargo_0_22_0 = cargo_0_22_0_ rec {
-    dependencies = [ atty_0_2_3 crates_io_0_11_0 crossbeam_0_2_10 curl_0_4_8 docopt_0_8_1 env_logger_0_4_3 error_chain_0_11_0 filetime_0_1_14 flate2_0_2_20 fs2_0_4_2 git2_0_6_8 git2_curl_0_7_0 glob_0_2_11 hex_0_2_0 home_0_3_0 ignore_0_2_2 jobserver_0_1_8 libc_0_2_33 libgit2_sys_0_6_16 log_0_3_8 num_cpus_1_7_0 same_file_0_1_3 scoped_tls_0_1_0 semver_0_7_0 serde_1_0_18 serde_derive_1_0_18 serde_ignored_0_0_3 serde_json_1_0_5 shell_escape_0_1_3 tar_0_4_13 tempdir_0_3_5 termcolor_0_3_3 toml_0_4_5 url_1_6_0 ]
-      ++ (if kernel == "darwin" then [ core_foundation_0_4_4 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_0_9_20 ] else [])
-      ++ (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 miow_0_2_1 psapi_sys_0_1_0 winapi_0_2_8 ] else []);
-  };
-  semver_0_7_0_features."serde".from_cargo_0_22_0 = true;
-  core_foundation_0_4_4_features."mac_os_10_7_support".from_cargo_0_22_0 = true;
-  advapi32_sys_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
-  atty_0_2_3_features."default".from_cargo_0_22_0__default_ = true;
-  core_foundation_0_4_4_features."default".from_cargo_0_22_0__default_ = true;
-  crates_io_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
-  crossbeam_0_2_10_features."default".from_cargo_0_22_0__default_ = true;
-  curl_0_4_8_features."default".from_cargo_0_22_0__default_ = true;
-  docopt_0_8_1_features."default".from_cargo_0_22_0__default_ = true;
-  env_logger_0_4_3_features."default".from_cargo_0_22_0__default_ = true;
-  error_chain_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
-  filetime_0_1_14_features."default".from_cargo_0_22_0__default_ = true;
-  flate2_0_2_20_features."default".from_cargo_0_22_0__default_ = true;
-  fs2_0_4_2_features."default".from_cargo_0_22_0__default_ = true;
-  git2_0_6_8_features."default".from_cargo_0_22_0__default_ = true;
-  git2_curl_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
-  glob_0_2_11_features."default".from_cargo_0_22_0__default_ = true;
-  hex_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
-  home_0_3_0_features."default".from_cargo_0_22_0__default_ = true;
-  ignore_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
-  jobserver_0_1_8_features."default".from_cargo_0_22_0__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
-  libc_0_2_33_features."default".from_cargo_0_22_0__default_ = true;
-  libgit2_sys_0_6_16_features."default".from_cargo_0_22_0__default_ = true;
-  log_0_3_8_features."default".from_cargo_0_22_0__default_ = true;
-  miow_0_2_1_features."default".from_cargo_0_22_0__default_ = true;
-  num_cpus_1_7_0_features."default".from_cargo_0_22_0__default_ = true;
-  openssl_0_9_20_features."default".from_cargo_0_22_0__default_ = true;
-  psapi_sys_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
-  same_file_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
-  scoped_tls_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
-  semver_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
-  serde_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
-  serde_derive_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
-  serde_ignored_0_0_3_features."default".from_cargo_0_22_0__default_ = true;
-  serde_json_1_0_5_features."default".from_cargo_0_22_0__default_ = true;
-  shell_escape_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
-  tar_0_4_13_features."default".from_cargo_0_22_0__default_ = false;
-  tempdir_0_3_5_features."default".from_cargo_0_22_0__default_ = true;
-  termcolor_0_3_3_features."default".from_cargo_0_22_0__default_ = true;
-  toml_0_4_5_features."default".from_cargo_0_22_0__default_ = true;
-  url_1_6_0_features."default".from_cargo_0_22_0__default_ = true;
-  winapi_0_2_8_features."default".from_cargo_0_22_0__default_ = true;
-  cargo_vendor_0_1_13 = cargo_vendor_0_1_13_ rec {
-    dependencies = [ cargo_0_22_0 env_logger_0_4_3 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 toml_0_4_5 ];
-  };
-  cargo_0_22_0_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  env_logger_0_4_3_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  serde_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  serde_derive_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  serde_json_1_0_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  toml_0_4_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  cc_1_0_3 = cc_1_0_3_ rec {
-    dependencies = [];
-    features = mkFeatures cc_1_0_3_features;
-  };
-  cc_1_0_3_features."rayon".self_parallel = hasFeature (cc_1_0_3_features."parallel" or {});
-  rayon_0_0_0_features."default".from_cc_1_0_3__default_ = true;
-  cfg_if_0_1_2 = cfg_if_0_1_2_ rec {};
-  cmake_0_1_26 = cmake_0_1_26_ rec {
-    dependencies = [ cc_1_0_3 ];
-  };
-  cc_1_0_3_features."default".from_cmake_0_1_26__default_ = true;
-  core_foundation_0_4_4 = core_foundation_0_4_4_ rec {
-    dependencies = [ core_foundation_sys_0_4_4 libc_0_2_33 ];
-    features = mkFeatures core_foundation_0_4_4_features;
-  };
-  core_foundation_0_4_4_features."".self = true;
-  core_foundation_sys_0_4_4_features."mac_os_10_7_support".from_core_foundation_0_4_4__mac_os_10_7_support = hasFeature (core_foundation_0_4_4_features."mac_os_10_7_support" or {});
-  core_foundation_sys_0_4_4_features."mac_os_10_8_features".from_core_foundation_0_4_4__mac_os_10_8_features = hasFeature (core_foundation_0_4_4_features."mac_os_10_8_features" or {});
-  core_foundation_sys_0_4_4_features."default".from_core_foundation_0_4_4__default_ = true;
-  libc_0_2_33_features."default".from_core_foundation_0_4_4__default_ = true;
-  core_foundation_sys_0_4_4 = core_foundation_sys_0_4_4_ rec {
-    dependencies = [ libc_0_2_33 ];
-    features = mkFeatures core_foundation_sys_0_4_4_features;
-  };
-  core_foundation_sys_0_4_4_features."".self = true;
-  libc_0_2_33_features."default".from_core_foundation_sys_0_4_4__default_ = true;
-  crates_io_0_11_0 = crates_io_0_11_0_ rec {
-    dependencies = [ curl_0_4_8 error_chain_0_11_0 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 url_1_6_0 ];
-  };
-  curl_0_4_8_features."default".from_crates_io_0_11_0__default_ = true;
-  error_chain_0_11_0_features."default".from_crates_io_0_11_0__default_ = true;
-  serde_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
-  serde_derive_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
-  serde_json_1_0_5_features."default".from_crates_io_0_11_0__default_ = true;
-  url_1_6_0_features."default".from_crates_io_0_11_0__default_ = true;
-  crossbeam_0_2_10 = crossbeam_0_2_10_ rec {
-    features = mkFeatures crossbeam_0_2_10_features;
-  };
-  crossbeam_0_2_10_features."".self = true;
-  curl_0_4_8 = curl_0_4_8_ rec {
-    dependencies = [ curl_sys_0_3_15 libc_0_2_33 socket2_0_2_4 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ] else [])
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-  };
-  curl_sys_0_3_15_features."default".from_curl_0_4_8__default_ = true;
-  libc_0_2_33_features."default".from_curl_0_4_8__default_ = true;
-  openssl_probe_0_1_1_features."default".from_curl_0_4_8__default_ = true;
-  openssl_sys_0_9_20_features."default".from_curl_0_4_8__default_ = true;
-  socket2_0_2_4_features."default".from_curl_0_4_8__default_ = true;
-  winapi_0_2_8_features."default".from_curl_0_4_8__default_ = true;
-  curl_sys_0_3_15 = curl_sys_0_3_15_ rec {
-    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_sys_0_9_20 ] else [])
-      ++ (if abi == "msvc" then [] else [])
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
-  };
-  cc_1_0_3_features."default".from_curl_sys_0_3_15__default_ = true;
-  libc_0_2_33_features."default".from_curl_sys_0_3_15__default_ = true;
-  libz_sys_1_0_18_features."default".from_curl_sys_0_3_15__default_ = true;
-  openssl_sys_0_9_20_features."default".from_curl_sys_0_3_15__default_ = true;
-  pkg_config_0_3_9_features."default".from_curl_sys_0_3_15__default_ = true;
-  winapi_0_2_8_features."default".from_curl_sys_0_3_15__default_ = true;
-  dbghelp_sys_0_2_0 = dbghelp_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_dbghelp_sys_0_2_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_dbghelp_sys_0_2_0__default_ = true;
-  docopt_0_8_1 = docopt_0_8_1_ rec {
-    dependencies = [ lazy_static_0_2_9 regex_0_2_2 serde_1_0_18 serde_derive_1_0_18 strsim_0_6_0 ];
-  };
-  lazy_static_0_2_9_features."default".from_docopt_0_8_1__default_ = true;
-  regex_0_2_2_features."default".from_docopt_0_8_1__default_ = true;
-  serde_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
-  serde_derive_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
-  strsim_0_6_0_features."default".from_docopt_0_8_1__default_ = true;
-  dtoa_0_4_2 = dtoa_0_4_2_ rec {};
-  env_logger_0_4_3 = env_logger_0_4_3_ rec {
-    dependencies = [ log_0_3_8 regex_0_2_2 ]
-      ++ (if lib.lists.any (x: x == "regex") features then [regex_0_2_2] else []);
-    features = mkFeatures env_logger_0_4_3_features;
-  };
-  env_logger_0_4_3_features."".self = true;
-  env_logger_0_4_3_features."regex".self_default = hasDefault env_logger_0_4_3_features;
-  log_0_3_8_features."default".from_env_logger_0_4_3__default_ = true;
-  regex_0_2_2_features."default".from_env_logger_0_4_3__default_ = true;
-  error_chain_0_11_0 = error_chain_0_11_0_ rec {
-    dependencies = [ backtrace_0_3_3 ]
-      ++ (if lib.lists.any (x: x == "backtrace") features then [backtrace_0_3_3] else []);
-    features = mkFeatures error_chain_0_11_0_features;
-  };
-  error_chain_0_11_0_features."".self = true;
-  error_chain_0_11_0_features."backtrace".self_default = hasDefault error_chain_0_11_0_features;
-  error_chain_0_11_0_features."example_generated".self_default = hasDefault error_chain_0_11_0_features;
-  backtrace_0_3_3_features."default".from_error_chain_0_11_0__default_ = true;
-  filetime_0_1_14 = filetime_0_1_14_ rec {
-    dependencies = [ cfg_if_0_1_2 ]
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_31 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []);
-  };
-  cfg_if_0_1_2_features."default".from_filetime_0_1_14__default_ = true;
-  libc_0_2_33_features."default".from_filetime_0_1_14__default_ = true;
-  redox_syscall_0_1_31_features."default".from_filetime_0_1_14__default_ = true;
-  flate2_0_2_20 = flate2_0_2_20_ rec {
-    dependencies = [ libc_0_2_33 miniz_sys_0_1_10 ]
-      ++ (if lib.lists.any (x: x == "miniz-sys") features then [miniz_sys_0_1_10] else []);
-    features = mkFeatures flate2_0_2_20_features;
-  };
-  flate2_0_2_20_features."".self = true;
-  flate2_0_2_20_features."miniz-sys".self_default = hasDefault flate2_0_2_20_features;
-  flate2_0_2_20_features."tokio-io".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
-  flate2_0_2_20_features."futures".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
-  flate2_0_2_20_features."libz-sys".self_zlib = hasFeature (flate2_0_2_20_features."zlib" or {});
-  futures_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
-  libc_0_2_33_features."default".from_flate2_0_2_20__default_ = true;
-  libz_sys_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
-  miniz_sys_0_1_10_features."default".from_flate2_0_2_20__default_ = true;
-  tokio_io_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
-  fnv_1_0_5 = fnv_1_0_5_ rec {};
-  foreign_types_0_2_0 = foreign_types_0_2_0_ rec {};
-  fs2_0_4_2 = fs2_0_4_2_ rec {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_fs2_0_4_2__default_ = true;
-  libc_0_2_33_features."default".from_fs2_0_4_2__default_ = true;
-  winapi_0_2_8_features."default".from_fs2_0_4_2__default_ = true;
-  fuchsia_zircon_0_2_1 = fuchsia_zircon_0_2_1_ rec {
-    dependencies = [ fuchsia_zircon_sys_0_2_0 ];
-  };
-  fuchsia_zircon_sys_0_2_0_features."default".from_fuchsia_zircon_0_2_1__default_ = true;
-  fuchsia_zircon_sys_0_2_0 = fuchsia_zircon_sys_0_2_0_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_fuchsia_zircon_sys_0_2_0__default_ = true;
-  git2_0_6_8 = git2_0_6_8_ rec {
-    dependencies = [ bitflags_0_9_1 libc_0_2_33 libgit2_sys_0_6_16 url_1_6_0 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ]
-      ++ (if lib.lists.any (x: x == "openssl-probe") features then [openssl_probe_0_1_1] else [])
-      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
-    features = mkFeatures git2_0_6_8_features;
-  };
-  git2_0_6_8_features."".self = true;
-  git2_0_6_8_features."ssh".self_default = hasDefault git2_0_6_8_features;
-  git2_0_6_8_features."https".self_default = hasDefault git2_0_6_8_features;
-  git2_0_6_8_features."curl".self_default = hasDefault git2_0_6_8_features;
-  git2_0_6_8_features."openssl-sys".self_https = hasFeature (git2_0_6_8_features."https" or {});
-  git2_0_6_8_features."openssl-probe".self_https = hasFeature (git2_0_6_8_features."https" or {});
-  libgit2_sys_0_6_16_features."curl".from_git2_0_6_8__curl = hasFeature (git2_0_6_8_features."curl" or {});
-  libgit2_sys_0_6_16_features."https".from_git2_0_6_8__https = hasFeature (git2_0_6_8_features."https" or {});
-  libgit2_sys_0_6_16_features."ssh".from_git2_0_6_8__ssh = hasFeature (git2_0_6_8_features."ssh" or {});
-  bitflags_0_9_1_features."default".from_git2_0_6_8__default_ = true;
-  libc_0_2_33_features."default".from_git2_0_6_8__default_ = true;
-  libgit2_sys_0_6_16_features."default".from_git2_0_6_8__default_ = true;
-  openssl_probe_0_1_1_features."default".from_git2_0_6_8__default_ = true;
-  openssl_sys_0_9_20_features."default".from_git2_0_6_8__default_ = true;
-  url_1_6_0_features."default".from_git2_0_6_8__default_ = true;
-  git2_curl_0_7_0 = git2_curl_0_7_0_ rec {
-    dependencies = [ curl_0_4_8 git2_0_6_8 log_0_3_8 url_1_6_0 ];
-  };
-  curl_0_4_8_features."default".from_git2_curl_0_7_0__default_ = true;
-  git2_0_6_8_features."default".from_git2_curl_0_7_0__default_ = false;
-  log_0_3_8_features."default".from_git2_curl_0_7_0__default_ = true;
-  url_1_6_0_features."default".from_git2_curl_0_7_0__default_ = true;
-  glob_0_2_11 = glob_0_2_11_ rec {};
-  globset_0_2_1 = globset_0_2_1_ rec {
-    dependencies = [ aho_corasick_0_6_3 fnv_1_0_5 log_0_3_8 memchr_2_0_0 regex_0_2_2 ];
-    features = mkFeatures globset_0_2_1_features;
-  };
-  globset_0_2_1_features."".self = true;
-  regex_0_2_2_features."simd-accel".from_globset_0_2_1__simd-accel = hasFeature (globset_0_2_1_features."simd-accel" or {});
-  aho_corasick_0_6_3_features."default".from_globset_0_2_1__default_ = true;
-  fnv_1_0_5_features."default".from_globset_0_2_1__default_ = true;
-  log_0_3_8_features."default".from_globset_0_2_1__default_ = true;
-  memchr_2_0_0_features."default".from_globset_0_2_1__default_ = true;
-  regex_0_2_2_features."default".from_globset_0_2_1__default_ = true;
-  hex_0_2_0 = hex_0_2_0_ rec {};
-  home_0_3_0 = home_0_3_0_ rec {
-    dependencies = (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 scopeguard_0_1_2 userenv_sys_0_2_0 winapi_0_2_8 ] else []);
-  };
-  advapi32_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_home_0_3_0__default_ = true;
-  scopeguard_0_1_2_features."default".from_home_0_3_0__default_ = true;
-  userenv_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
-  winapi_0_2_8_features."default".from_home_0_3_0__default_ = true;
-  idna_0_1_4 = idna_0_1_4_ rec {
-    dependencies = [ matches_0_1_6 unicode_bidi_0_3_4 unicode_normalization_0_1_5 ];
-  };
-  matches_0_1_6_features."default".from_idna_0_1_4__default_ = true;
-  unicode_bidi_0_3_4_features."default".from_idna_0_1_4__default_ = true;
-  unicode_normalization_0_1_5_features."default".from_idna_0_1_4__default_ = true;
-  ignore_0_2_2 = ignore_0_2_2_ rec {
-    dependencies = [ crossbeam_0_2_10 globset_0_2_1 lazy_static_0_2_9 log_0_3_8 memchr_1_0_2 regex_0_2_2 thread_local_0_3_4 walkdir_1_0_7 ];
-    features = mkFeatures ignore_0_2_2_features;
-  };
-  ignore_0_2_2_features."".self = true;
-  globset_0_2_1_features."simd-accel".from_ignore_0_2_2__simd-accel = hasFeature (ignore_0_2_2_features."simd-accel" or {});
-  crossbeam_0_2_10_features."default".from_ignore_0_2_2__default_ = true;
-  globset_0_2_1_features."default".from_ignore_0_2_2__default_ = true;
-  lazy_static_0_2_9_features."default".from_ignore_0_2_2__default_ = true;
-  log_0_3_8_features."default".from_ignore_0_2_2__default_ = true;
-  memchr_1_0_2_features."default".from_ignore_0_2_2__default_ = true;
-  regex_0_2_2_features."default".from_ignore_0_2_2__default_ = true;
-  thread_local_0_3_4_features."default".from_ignore_0_2_2__default_ = true;
-  walkdir_1_0_7_features."default".from_ignore_0_2_2__default_ = true;
-  itoa_0_3_4 = itoa_0_3_4_ rec {
-    features = mkFeatures itoa_0_3_4_features;
-  };
-  itoa_0_3_4_features."".self = true;
-  jobserver_0_1_8 = jobserver_0_1_8_ rec {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ rand_0_3_18 ] else []);
-  };
-  libc_0_2_33_features."default".from_jobserver_0_1_8__default_ = true;
-  rand_0_3_18_features."default".from_jobserver_0_1_8__default_ = true;
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default_ = true;
-  winapi_build_0_1_1_features."default".from_kernel32_sys_0_2_2__default_ = true;
-  lazy_static_0_2_9 = lazy_static_0_2_9_ rec {
-    dependencies = [];
-    features = mkFeatures lazy_static_0_2_9_features;
-  };
-  lazy_static_0_2_9_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
-  lazy_static_0_2_9_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
-  spin_0_0_0_features."default".from_lazy_static_0_2_9__default_ = true;
-  libc_0_2_33 = libc_0_2_33_ rec {
-    features = mkFeatures libc_0_2_33_features;
-  };
-  libc_0_2_33_features."use_std".self_default = hasDefault libc_0_2_33_features;
-  libgit2_sys_0_6_16 = libgit2_sys_0_6_16_ rec {
-    dependencies = [ curl_sys_0_3_15 libc_0_2_33 libssh2_sys_0_2_6 libz_sys_1_0_18 ]
-      ++ (if lib.lists.any (x: x == "curl-sys") features then [curl_sys_0_3_15] else [])
-      ++ (if lib.lists.any (x: x == "libssh2-sys") features then [libssh2_sys_0_2_6] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ]
-      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
-    buildDependencies = [ cc_1_0_3 cmake_0_1_26 pkg_config_0_3_9 ];
-    features = mkFeatures libgit2_sys_0_6_16_features;
-  };
-  libgit2_sys_0_6_16_features."".self = true;
-  libgit2_sys_0_6_16_features."curl-sys".self_curl = hasFeature (libgit2_sys_0_6_16_features."curl" or {});
-  libgit2_sys_0_6_16_features."openssl-sys".self_https = hasFeature (libgit2_sys_0_6_16_features."https" or {});
-  libgit2_sys_0_6_16_features."libssh2-sys".self_ssh = hasFeature (libgit2_sys_0_6_16_features."ssh" or {});
-  cc_1_0_3_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  cmake_0_1_26_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  curl_sys_0_3_15_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libc_0_2_33_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libssh2_sys_0_2_6_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libz_sys_1_0_18_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  openssl_sys_0_9_20_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  pkg_config_0_3_9_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libssh2_sys_0_2_6 = libssh2_sys_0_2_6_ rec {
-    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ] else []);
-    buildDependencies = [ cmake_0_1_26 pkg_config_0_3_9 ];
-  };
-  cmake_0_1_26_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  libc_0_2_33_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  libz_sys_1_0_18_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  openssl_sys_0_9_20_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  pkg_config_0_3_9_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  libz_sys_1_0_18 = libz_sys_1_0_18_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if abi == "msvc" then [] else []);
-    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
-  };
-  cc_1_0_3_features."default".from_libz_sys_1_0_18__default_ = true;
-  libc_0_2_33_features."default".from_libz_sys_1_0_18__default_ = true;
-  pkg_config_0_3_9_features."default".from_libz_sys_1_0_18__default_ = true;
-  log_0_3_8 = log_0_3_8_ rec {
-    features = mkFeatures log_0_3_8_features;
-  };
-  log_0_3_8_features."use_std".self_default = hasDefault log_0_3_8_features;
-  matches_0_1_6 = matches_0_1_6_ rec {};
-  memchr_1_0_2 = memchr_1_0_2_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
-    features = mkFeatures memchr_1_0_2_features;
-  };
-  memchr_1_0_2_features."".self = true;
-  memchr_1_0_2_features."use_std".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."use_std".from_memchr_1_0_2__use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."default".from_memchr_1_0_2__default_ = false;
-  memchr_2_0_0 = memchr_2_0_0_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
-    features = mkFeatures memchr_2_0_0_features;
-  };
-  memchr_2_0_0_features."".self = true;
-  memchr_2_0_0_features."use_std".self_default = hasDefault memchr_2_0_0_features;
-  memchr_2_0_0_features."libc".self_default = hasDefault memchr_2_0_0_features;
-  memchr_2_0_0_features."libc".self_use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
-  libc_0_2_33_features."use_std".from_memchr_2_0_0__use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
-  libc_0_2_33_features."default".from_memchr_2_0_0__default_ = false;
-  miniz_sys_0_1_10 = miniz_sys_0_1_10_ rec {
-    dependencies = [ libc_0_2_33 ];
-    buildDependencies = [ cc_1_0_3 ];
-  };
-  cc_1_0_3_features."default".from_miniz_sys_0_1_10__default_ = true;
-  libc_0_2_33_features."default".from_miniz_sys_0_1_10__default_ = true;
-  miow_0_2_1 = miow_0_2_1_ rec {
-    dependencies = [ kernel32_sys_0_2_2 net2_0_2_31 winapi_0_2_8 ws2_32_sys_0_2_1 ];
-  };
-  kernel32_sys_0_2_2_features."default".from_miow_0_2_1__default_ = true;
-  net2_0_2_31_features."default".from_miow_0_2_1__default_ = false;
-  winapi_0_2_8_features."default".from_miow_0_2_1__default_ = true;
-  ws2_32_sys_0_2_1_features."default".from_miow_0_2_1__default_ = true;
-  net2_0_2_31 = net2_0_2_31_ rec {
-    dependencies = [ cfg_if_0_1_2 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else [])
-      ++ (if kernel == "i686-apple-darwin" then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "i686-unknown-linux-gnu" then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "x86_64-apple-darwin" then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "x86_64-unknown-linux-gnu" then [ libc_0_2_33 ] else []);
-    features = mkFeatures net2_0_2_31_features;
-  };
-  net2_0_2_31_features."duration".self_default = hasDefault net2_0_2_31_features;
-  cfg_if_0_1_2_features."default".from_net2_0_2_31__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_net2_0_2_31__default_ = true;
-  libc_0_2_33_features."default".from_net2_0_2_31__default_ = true;
-  winapi_0_2_8_features."default".from_net2_0_2_31__default_ = true;
-  ws2_32_sys_0_2_1_features."default".from_net2_0_2_31__default_ = true;
-  num_traits_0_1_40 = num_traits_0_1_40_ rec {};
-  num_cpus_1_7_0 = num_cpus_1_7_0_ rec {
-    dependencies = [ libc_0_2_33 ];
-  };
-  libc_0_2_33_features."default".from_num_cpus_1_7_0__default_ = true;
-  openssl_0_9_20 = openssl_0_9_20_ rec {
-    dependencies = [ bitflags_0_9_1 foreign_types_0_2_0 lazy_static_0_2_9 libc_0_2_33 openssl_sys_0_9_20 ];
-    features = mkFeatures openssl_0_9_20_features;
-  };
-  openssl_0_9_20_features."".self = true;
-  bitflags_0_9_1_features."default".from_openssl_0_9_20__default_ = true;
-  foreign_types_0_2_0_features."default".from_openssl_0_9_20__default_ = true;
-  lazy_static_0_2_9_features."default".from_openssl_0_9_20__default_ = true;
-  libc_0_2_33_features."default".from_openssl_0_9_20__default_ = true;
-  openssl_sys_0_9_20_features."default".from_openssl_0_9_20__default_ = true;
-  openssl_probe_0_1_1 = openssl_probe_0_1_1_ rec {};
-  openssl_sys_0_9_20 = openssl_sys_0_9_20_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if abi == "msvc" then [] else []);
-    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
-  };
-  cc_1_0_3_features."default".from_openssl_sys_0_9_20__default_ = true;
-  libc_0_2_33_features."default".from_openssl_sys_0_9_20__default_ = true;
-  pkg_config_0_3_9_features."default".from_openssl_sys_0_9_20__default_ = true;
-  percent_encoding_1_0_0 = percent_encoding_1_0_0_ rec {};
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  psapi_sys_0_1_0 = psapi_sys_0_1_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_psapi_sys_0_1_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_psapi_sys_0_1_0__default_ = true;
-  quote_0_3_15 = quote_0_3_15_ rec {};
-  rand_0_3_18 = rand_0_3_18_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if kernel == "fuchsia" then [ fuchsia_zircon_0_2_1 ] else []);
-    features = mkFeatures rand_0_3_18_features;
-  };
-  rand_0_3_18_features."i128_support".self_nightly = hasFeature (rand_0_3_18_features."nightly" or {});
-  fuchsia_zircon_0_2_1_features."default".from_rand_0_3_18__default_ = true;
-  libc_0_2_33_features."default".from_rand_0_3_18__default_ = true;
-  redox_syscall_0_1_31 = redox_syscall_0_1_31_ rec {};
-  redox_termios_0_1_1 = redox_termios_0_1_1_ rec {
-    dependencies = [ redox_syscall_0_1_31 ];
-  };
-  redox_syscall_0_1_31_features."default".from_redox_termios_0_1_1__default_ = true;
-  regex_0_2_2 = regex_0_2_2_ rec {
-    dependencies = [ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ];
-    features = mkFeatures regex_0_2_2_features;
-  };
-  regex_0_2_2_features."simd".self_simd-accel = hasFeature (regex_0_2_2_features."simd-accel" or {});
-  aho_corasick_0_6_3_features."default".from_regex_0_2_2__default_ = true;
-  memchr_1_0_2_features."default".from_regex_0_2_2__default_ = true;
-  regex_syntax_0_4_1_features."default".from_regex_0_2_2__default_ = true;
-  simd_0_0_0_features."default".from_regex_0_2_2__default_ = true;
-  thread_local_0_3_4_features."default".from_regex_0_2_2__default_ = true;
-  utf8_ranges_1_0_0_features."default".from_regex_0_2_2__default_ = true;
-  regex_syntax_0_4_1 = regex_syntax_0_4_1_ rec {};
-  rustc_demangle_0_1_5 = rustc_demangle_0_1_5_ rec {};
-  same_file_0_1_3 = same_file_0_1_3_ rec {
-    dependencies = (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_same_file_0_1_3__default_ = true;
-  winapi_0_2_8_features."default".from_same_file_0_1_3__default_ = true;
-  scoped_tls_0_1_0 = scoped_tls_0_1_0_ rec {};
-  scopeguard_0_1_2 = scopeguard_0_1_2_ rec {};
-  semver_0_7_0 = semver_0_7_0_ rec {
-    dependencies = [ semver_parser_0_7_0 serde_1_0_18 ]
-      ++ (if lib.lists.any (x: x == "serde") features then [serde_1_0_18] else []);
-    features = mkFeatures semver_0_7_0_features;
-  };
-  semver_0_7_0_features."".self = true;
-  semver_0_7_0_features."serde".self_ci = hasFeature (semver_0_7_0_features."ci" or {});
-  semver_parser_0_7_0_features."default".from_semver_0_7_0__default_ = true;
-  serde_1_0_18_features."default".from_semver_0_7_0__default_ = true;
-  semver_parser_0_7_0 = semver_parser_0_7_0_ rec {};
-  serde_1_0_18 = serde_1_0_18_ rec {
-    dependencies = [];
-    features = mkFeatures serde_1_0_18_features;
-  };
-  serde_1_0_18_features."unstable".self_alloc = hasFeature (serde_1_0_18_features."alloc" or {});
-  serde_1_0_18_features."std".self_default = hasDefault serde_1_0_18_features;
-  serde_1_0_18_features."serde_derive".self_derive = hasFeature (serde_1_0_18_features."derive" or {});
-  serde_1_0_18_features."serde_derive".self_playground = hasFeature (serde_1_0_18_features."playground" or {});
-  serde_derive_0_0_0_features."default".from_serde_1_0_18__default_ = true;
-  serde_derive_1_0_18 = serde_derive_1_0_18_ rec {
-    dependencies = [ quote_0_3_15 serde_derive_internals_0_16_0 syn_0_11_11 ];
-  };
-  syn_0_11_11_features."visit".from_serde_derive_1_0_18 = true;
-  quote_0_3_15_features."default".from_serde_derive_1_0_18__default_ = true;
-  serde_derive_internals_0_16_0_features."default".from_serde_derive_1_0_18__default_ = false;
-  syn_0_11_11_features."default".from_serde_derive_1_0_18__default_ = true;
-  serde_derive_internals_0_16_0 = serde_derive_internals_0_16_0_ rec {
-    dependencies = [ syn_0_11_11 synom_0_11_3 ];
-  };
-  syn_0_11_11_features."parsing".from_serde_derive_internals_0_16_0 = true;
-  syn_0_11_11_features."default".from_serde_derive_internals_0_16_0__default_ = false;
-  synom_0_11_3_features."default".from_serde_derive_internals_0_16_0__default_ = true;
-  serde_ignored_0_0_3 = serde_ignored_0_0_3_ rec {
-    dependencies = [ serde_1_0_18 ];
-  };
-  serde_1_0_18_features."default".from_serde_ignored_0_0_3__default_ = true;
-  serde_json_1_0_5 = serde_json_1_0_5_ rec {
-    dependencies = [ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_18 ];
-    features = mkFeatures serde_json_1_0_5_features;
-  };
-  serde_json_1_0_5_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_5_features."preserve_order" or {});
-  dtoa_0_4_2_features."default".from_serde_json_1_0_5__default_ = true;
-  itoa_0_3_4_features."default".from_serde_json_1_0_5__default_ = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_1_0_5__default_ = true;
-  num_traits_0_1_40_features."default".from_serde_json_1_0_5__default_ = true;
-  serde_1_0_18_features."default".from_serde_json_1_0_5__default_ = true;
-  shell_escape_0_1_3 = shell_escape_0_1_3_ rec {};
-  socket2_0_2_4 = socket2_0_2_4_ rec {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ cfg_if_0_1_2 libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else []);
-    features = mkFeatures socket2_0_2_4_features;
-  };
-  socket2_0_2_4_features."".self = true;
-  cfg_if_0_1_2_features."default".from_socket2_0_2_4__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_socket2_0_2_4__default_ = true;
-  libc_0_2_33_features."default".from_socket2_0_2_4__default_ = true;
-  winapi_0_2_8_features."default".from_socket2_0_2_4__default_ = true;
-  ws2_32_sys_0_2_1_features."default".from_socket2_0_2_4__default_ = true;
-  strsim_0_6_0 = strsim_0_6_0_ rec {};
-  syn_0_11_11 = syn_0_11_11_ rec {
-    dependencies = [ quote_0_3_15 synom_0_11_3 unicode_xid_0_0_4 ]
-      ++ (if lib.lists.any (x: x == "quote") features then [quote_0_3_15] else [])
-      ++ (if lib.lists.any (x: x == "synom") features then [synom_0_11_3] else [])
-      ++ (if lib.lists.any (x: x == "unicode-xid") features then [unicode_xid_0_0_4] else []);
-    features = mkFeatures syn_0_11_11_features;
-  };
-  syn_0_11_11_features."".self = true;
-  syn_0_11_11_features."parsing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."printing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."unicode-xid".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."synom".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."quote".self_printing = hasFeature (syn_0_11_11_features."printing" or {});
-  quote_0_3_15_features."default".from_syn_0_11_11__default_ = true;
-  synom_0_11_3_features."default".from_syn_0_11_11__default_ = true;
-  unicode_xid_0_0_4_features."default".from_syn_0_11_11__default_ = true;
-  synom_0_11_3 = synom_0_11_3_ rec {
-    dependencies = [ unicode_xid_0_0_4 ];
-  };
-  unicode_xid_0_0_4_features."default".from_synom_0_11_3__default_ = true;
-  tar_0_4_13 = tar_0_4_13_ rec {
-    dependencies = [ filetime_0_1_14 libc_0_2_33 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [] else []);
-  };
-  tar_0_4_13_features."xattr".self_default = hasDefault tar_0_4_13_features;
-  filetime_0_1_14_features."default".from_tar_0_4_13__default_ = true;
-  libc_0_2_33_features."default".from_tar_0_4_13__default_ = true;
-  xattr_0_0_0_features."default".from_tar_0_4_13__default_ = true;
-  tempdir_0_3_5 = tempdir_0_3_5_ rec {
-    dependencies = [ rand_0_3_18 ];
-  };
-  rand_0_3_18_features."default".from_tempdir_0_3_5__default_ = true;
-  termcolor_0_3_3 = termcolor_0_3_3_ rec {
-    dependencies = (if kernel == "windows" then [ wincolor_0_1_4 ] else []);
-  };
-  wincolor_0_1_4_features."default".from_termcolor_0_3_3__default_ = true;
-  termion_1_5_1 = termion_1_5_1_ rec {
-    dependencies = (if !(kernel == "redox") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_31 redox_termios_0_1_1 ] else []);
-  };
-  libc_0_2_33_features."default".from_termion_1_5_1__default_ = true;
-  redox_syscall_0_1_31_features."default".from_termion_1_5_1__default_ = true;
-  redox_termios_0_1_1_features."default".from_termion_1_5_1__default_ = true;
-  thread_local_0_3_4 = thread_local_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_9 unreachable_1_0_0 ];
-  };
-  lazy_static_0_2_9_features."default".from_thread_local_0_3_4__default_ = true;
-  unreachable_1_0_0_features."default".from_thread_local_0_3_4__default_ = true;
-  toml_0_4_5 = toml_0_4_5_ rec {
-    dependencies = [ serde_1_0_18 ];
-  };
-  serde_1_0_18_features."default".from_toml_0_4_5__default_ = true;
-  unicode_bidi_0_3_4 = unicode_bidi_0_3_4_ rec {
-    dependencies = [ matches_0_1_6 ];
-    features = mkFeatures unicode_bidi_0_3_4_features;
-  };
-  unicode_bidi_0_3_4_features."flame".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
-  unicode_bidi_0_3_4_features."flamer".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
-  unicode_bidi_0_3_4_features."serde".self_with_serde = hasFeature (unicode_bidi_0_3_4_features."with_serde" or {});
-  serde_0_0_0_features."derive".from_unicode_bidi_0_3_4 = true;
-  flame_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  flamer_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  matches_0_1_6_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  serde_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  unicode_normalization_0_1_5 = unicode_normalization_0_1_5_ rec {};
-  unicode_xid_0_0_4 = unicode_xid_0_0_4_ rec {
-    features = mkFeatures unicode_xid_0_0_4_features;
-  };
-  unicode_xid_0_0_4_features."".self = true;
-  unreachable_1_0_0 = unreachable_1_0_0_ rec {
-    dependencies = [ void_1_0_2 ];
-  };
-  void_1_0_2_features."default".from_unreachable_1_0_0__default_ = false;
-  url_1_6_0 = url_1_6_0_ rec {
-    dependencies = [ idna_0_1_4 matches_0_1_6 percent_encoding_1_0_0 ];
-    features = mkFeatures url_1_6_0_features;
-  };
-  url_1_6_0_features."heapsize".self_heap_size = hasFeature (url_1_6_0_features."heap_size" or {});
-  url_1_6_0_features."encoding".self_query_encoding = hasFeature (url_1_6_0_features."query_encoding" or {});
-  encoding_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  heapsize_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  idna_0_1_4_features."default".from_url_1_6_0__default_ = true;
-  matches_0_1_6_features."default".from_url_1_6_0__default_ = true;
-  percent_encoding_1_0_0_features."default".from_url_1_6_0__default_ = true;
-  rustc_serialize_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  serde_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  userenv_sys_0_2_0 = userenv_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_userenv_sys_0_2_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_userenv_sys_0_2_0__default_ = true;
-  utf8_ranges_1_0_0 = utf8_ranges_1_0_0_ rec {};
-  vcpkg_0_2_2 = vcpkg_0_2_2_ rec {};
-  void_1_0_2 = void_1_0_2_ rec {
-    features = mkFeatures void_1_0_2_features;
-  };
-  void_1_0_2_features."std".self_default = hasDefault void_1_0_2_features;
-  walkdir_1_0_7 = walkdir_1_0_7_ rec {
-    dependencies = [ same_file_0_1_3 ]
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_walkdir_1_0_7__default_ = true;
-  same_file_0_1_3_features."default".from_walkdir_1_0_7__default_ = true;
-  winapi_0_2_8_features."default".from_walkdir_1_0_7__default_ = true;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
-  wincolor_0_1_4 = wincolor_0_1_4_ rec {
-    dependencies = [ kernel32_sys_0_2_2 winapi_0_2_8 ];
-  };
-  kernel32_sys_0_2_2_features."default".from_wincolor_0_1_4__default_ = true;
-  winapi_0_2_8_features."default".from_wincolor_0_1_4__default_ = true;
-  ws2_32_sys_0_2_1 = ws2_32_sys_0_2_1_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_ws2_32_sys_0_2_1__default_ = true;
-  winapi_build_0_1_1_features."default".from_ws2_32_sys_0_2_1__default_ = true;
+
+# end
+
+  };
+
+  cargo_vendor = crates.crates.cargo_vendor."0.1.23" deps;
+  __all = [ (cargo_vendor {}) ];
+  deps.adler32."1.0.3" = {};
+  deps.aho_corasick."0.7.3" = {
+    memchr = "2.2.0";
+  };
+  deps.ansi_term."0.11.0" = {
+    winapi = "0.3.7";
+  };
+  deps.atty."0.2.11" = {
+    termion = "1.5.1";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.autocfg."0.1.2" = {};
+  deps.backtrace."0.3.15" = {
+    cfg_if = "0.1.7";
+    rustc_demangle = "0.1.14";
+    autocfg = "0.1.2";
+    backtrace_sys = "0.1.28";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.backtrace_sys."0.1.28" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+  };
+  deps.bitflags."1.0.4" = {};
+  deps.bstr."0.1.2" = {
+    memchr = "2.2.0";
+  };
+  deps.build_const."0.2.1" = {};
+  deps.byteorder."1.3.1" = {};
+  deps.bytes."0.4.12" = {
+    byteorder = "1.3.1";
+    iovec = "0.1.2";
+  };
+  deps.bytesize."1.0.0" = {};
+  deps.cargo."0.35.0" = {
+    atty = "0.2.11";
+    byteorder = "1.3.1";
+    bytesize = "1.0.0";
+    clap = "2.33.0";
+    crates_io = "0.23.0";
+    crossbeam_utils = "0.6.5";
+    crypto_hash = "0.3.3";
+    curl = "0.4.21";
+    curl_sys = "0.4.18";
+    env_logger = "0.6.1";
+    failure = "0.1.5";
+    filetime = "0.2.4";
+    flate2 = "1.0.7";
+    fs2 = "0.4.3";
+    git2 = "0.8.0";
+    git2_curl = "0.9.0";
+    glob = "0.2.11";
+    hex = "0.3.2";
+    home = "0.3.4";
+    ignore = "0.4.7";
+    im_rc = "12.3.4";
+    jobserver = "0.1.13";
+    lazy_static = "1.3.0";
+    lazycell = "1.2.1";
+    libc = "0.2.51";
+    libgit2_sys = "0.7.11";
+    log = "0.4.6";
+    num_cpus = "1.10.0";
+    opener = "0.3.2";
+    rustc_workspace_hack = "1.0.0";
+    rustfix = "0.4.5";
+    same_file = "1.0.4";
+    semver = "0.9.0";
+    serde = "1.0.90";
+    serde_ignored = "0.0.4";
+    serde_json = "1.0.39";
+    shell_escape = "0.1.4";
+    tar = "0.4.22";
+    tempfile = "3.0.7";
+    termcolor = "1.0.4";
+    toml = "0.4.10";
+    unicode_width = "0.1.5";
+    url = "1.7.2";
+    url_serde = "0.2.0";
+    core_foundation = "0.6.4";
+    fwdansi = "1.0.1";
+    miow = "0.3.3";
+    winapi = "0.3.7";
+  };
+  deps.cargo_vendor."0.1.23" = {
+    cargo = "0.35.0";
+    docopt = "1.1.0";
+    env_logger = "0.6.1";
+    failure = "0.1.5";
+    openssl = "0.10.20";
+    serde = "1.0.90";
+    serde_json = "1.0.39";
+    toml = "0.5.0";
+  };
+  deps.cc."1.0.35" = {};
+  deps.cfg_if."0.1.7" = {};
+  deps.clap."2.33.0" = {
+    atty = "0.2.11";
+    bitflags = "1.0.4";
+    strsim = "0.8.0";
+    textwrap = "0.11.0";
+    unicode_width = "0.1.5";
+    vec_map = "0.8.1";
+    ansi_term = "0.11.0";
+  };
+  deps.cloudabi."0.0.3" = {
+    bitflags = "1.0.4";
+  };
+  deps.commoncrypto."0.2.0" = {
+    commoncrypto_sys = "0.2.0";
+  };
+  deps.commoncrypto_sys."0.2.0" = {
+    libc = "0.2.51";
+  };
+  deps.core_foundation."0.6.4" = {
+    core_foundation_sys = "0.6.2";
+    libc = "0.2.51";
+  };
+  deps.core_foundation_sys."0.6.2" = {};
+  deps.crates_io."0.23.0" = {
+    curl = "0.4.21";
+    failure = "0.1.5";
+    http = "0.1.17";
+    serde = "1.0.90";
+    serde_derive = "1.0.90";
+    serde_json = "1.0.39";
+    url = "1.7.2";
+  };
+  deps.crc."1.8.1" = {
+    build_const = "0.2.1";
+  };
+  deps.crc32fast."1.2.0" = {
+    cfg_if = "0.1.7";
+  };
+  deps.crossbeam_channel."0.3.8" = {
+    crossbeam_utils = "0.6.5";
+    smallvec = "0.6.9";
+  };
+  deps.crossbeam_utils."0.6.5" = {
+    cfg_if = "0.1.7";
+    lazy_static = "1.3.0";
+  };
+  deps.crypto_hash."0.3.3" = {
+    hex = "0.3.2";
+    commoncrypto = "0.2.0";
+    openssl = "0.10.20";
+    winapi = "0.3.7";
+  };
+  deps.curl."0.4.21" = {
+    curl_sys = "0.4.18";
+    libc = "0.2.51";
+    socket2 = "0.3.8";
+    openssl_probe = "0.1.2";
+    openssl_sys = "0.9.43";
+    kernel32_sys = "0.2.2";
+    schannel = "0.1.15";
+    winapi = "0.2.8";
+  };
+  deps.curl_sys."0.4.18" = {
+    libc = "0.2.51";
+    libnghttp2_sys = "0.1.1";
+    libz_sys = "1.0.25";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+    openssl_sys = "0.9.43";
+    winapi = "0.3.7";
+  };
+  deps.docopt."1.1.0" = {
+    lazy_static = "1.3.0";
+    regex = "1.1.6";
+    serde = "1.0.90";
+    strsim = "0.9.1";
+  };
+  deps.either."1.5.2" = {};
+  deps.env_logger."0.6.1" = {
+    atty = "0.2.11";
+    humantime = "1.2.0";
+    log = "0.4.6";
+    regex = "1.1.6";
+    termcolor = "1.0.4";
+  };
+  deps.failure."0.1.5" = {
+    backtrace = "0.3.15";
+    failure_derive = "0.1.5";
+  };
+  deps.failure_derive."0.1.5" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    syn = "0.15.32";
+    synstructure = "0.10.1";
+  };
+  deps.filetime."0.2.4" = {
+    cfg_if = "0.1.7";
+    redox_syscall = "0.1.54";
+    libc = "0.2.51";
+  };
+  deps.flate2."1.0.7" = {
+    crc32fast = "1.2.0";
+    libc = "0.2.51";
+    libz_sys = "1.0.25";
+    miniz_sys = "0.1.11";
+    miniz_oxide_c_api = "0.2.1";
+  };
+  deps.fnv."1.0.6" = {};
+  deps.foreign_types."0.3.2" = {
+    foreign_types_shared = "0.1.1";
+  };
+  deps.foreign_types_shared."0.1.1" = {};
+  deps.fs2."0.4.3" = {
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.fuchsia_cprng."0.1.1" = {};
+  deps.fwdansi."1.0.1" = {
+    memchr = "2.2.0";
+    termcolor = "1.0.4";
+  };
+  deps.git2."0.8.0" = {
+    bitflags = "1.0.4";
+    libc = "0.2.51";
+    libgit2_sys = "0.7.11";
+    log = "0.4.6";
+    url = "1.7.2";
+    openssl_probe = "0.1.2";
+    openssl_sys = "0.9.43";
+  };
+  deps.git2_curl."0.9.0" = {
+    curl = "0.4.21";
+    git2 = "0.8.0";
+    log = "0.4.6";
+    url = "1.7.2";
+  };
+  deps.glob."0.2.11" = {};
+  deps.globset."0.4.3" = {
+    aho_corasick = "0.7.3";
+    bstr = "0.1.2";
+    fnv = "1.0.6";
+    log = "0.4.6";
+    regex = "1.1.6";
+  };
+  deps.hashbrown."0.1.8" = {
+    byteorder = "1.3.1";
+    scopeguard = "0.3.3";
+  };
+  deps.hex."0.3.2" = {};
+  deps.home."0.3.4" = {
+    scopeguard = "0.3.3";
+    winapi = "0.3.7";
+  };
+  deps.http."0.1.17" = {
+    bytes = "0.4.12";
+    fnv = "1.0.6";
+    itoa = "0.4.3";
+  };
+  deps.humantime."1.2.0" = {
+    quick_error = "1.2.2";
+  };
+  deps.idna."0.1.5" = {
+    matches = "0.1.8";
+    unicode_bidi = "0.3.4";
+    unicode_normalization = "0.1.8";
+  };
+  deps.ignore."0.4.7" = {
+    crossbeam_channel = "0.3.8";
+    globset = "0.4.3";
+    lazy_static = "1.3.0";
+    log = "0.4.6";
+    memchr = "2.2.0";
+    regex = "1.1.6";
+    same_file = "1.0.4";
+    thread_local = "0.3.6";
+    walkdir = "2.2.7";
+    winapi_util = "0.1.2";
+  };
+  deps.im_rc."12.3.4" = {
+    sized_chunks = "0.1.3";
+    typenum = "1.10.0";
+    rustc_version = "0.2.3";
+  };
+  deps.iovec."0.1.2" = {
+    libc = "0.2.51";
+    winapi = "0.2.8";
+  };
+  deps.itertools."0.7.11" = {
+    either = "1.5.2";
+  };
+  deps.itoa."0.4.3" = {};
+  deps.jobserver."0.1.13" = {
+    log = "0.4.6";
+    libc = "0.2.51";
+    rand = "0.6.5";
+  };
+  deps.kernel32_sys."0.2.2" = {
+    winapi = "0.2.8";
+    winapi_build = "0.1.1";
+  };
+  deps.lazy_static."1.3.0" = {};
+  deps.lazycell."1.2.1" = {};
+  deps.libc."0.2.51" = {};
+  deps.libgit2_sys."0.7.11" = {
+    curl_sys = "0.4.18";
+    libc = "0.2.51";
+    libssh2_sys = "0.2.11";
+    libz_sys = "1.0.25";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+    openssl_sys = "0.9.43";
+  };
+  deps.libnghttp2_sys."0.1.1" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+  };
+  deps.libssh2_sys."0.2.11" = {
+    libc = "0.2.51";
+    libz_sys = "1.0.25";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+    openssl_sys = "0.9.43";
+  };
+  deps.libz_sys."1.0.25" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+  };
+  deps.lock_api."0.1.5" = {
+    scopeguard = "0.3.3";
+  };
+  deps.log."0.4.6" = {
+    cfg_if = "0.1.7";
+  };
+  deps.matches."0.1.8" = {};
+  deps.matrixmultiply."0.1.15" = {
+    rawpointer = "0.1.0";
+  };
+  deps.memchr."2.2.0" = {};
+  deps.miniz_sys."0.1.11" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+  };
+  deps.miniz_oxide."0.2.1" = {
+    adler32 = "1.0.3";
+  };
+  deps.miniz_oxide_c_api."0.2.1" = {
+    crc = "1.8.1";
+    libc = "0.2.51";
+    miniz_oxide = "0.2.1";
+    cc = "1.0.35";
+  };
+  deps.miow."0.3.3" = {
+    socket2 = "0.3.8";
+    winapi = "0.3.7";
+  };
+  deps.ndarray."0.12.1" = {
+    itertools = "0.7.11";
+    matrixmultiply = "0.1.15";
+    num_complex = "0.2.1";
+    num_traits = "0.2.6";
+  };
+  deps.num_complex."0.2.1" = {
+    num_traits = "0.2.6";
+  };
+  deps.num_traits."0.2.6" = {};
+  deps.num_cpus."1.10.0" = {
+    libc = "0.2.51";
+  };
+  deps.once_cell."0.1.8" = {
+    parking_lot = "0.7.1";
+  };
+  deps.opener."0.3.2" = {
+    failure = "0.1.5";
+    failure_derive = "0.1.5";
+    winapi = "0.3.7";
+  };
+  deps.openssl."0.10.20" = {
+    bitflags = "1.0.4";
+    cfg_if = "0.1.7";
+    foreign_types = "0.3.2";
+    lazy_static = "1.3.0";
+    libc = "0.2.51";
+    openssl_sys = "0.9.43";
+  };
+  deps.openssl_probe."0.1.2" = {};
+  deps.openssl_src."111.2.1+1.1.1b" = {
+    cc = "1.0.35";
+  };
+  deps.openssl_sys."0.9.43" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+    openssl_src = "111.2.1+1.1.1b";
+    pkg_config = "0.3.14";
+    rustc_version = "0.2.3";
+  };
+  deps.parking_lot."0.7.1" = {
+    lock_api = "0.1.5";
+    parking_lot_core = "0.4.0";
+  };
+  deps.parking_lot_core."0.4.0" = {
+    rand = "0.6.5";
+    smallvec = "0.6.9";
+    rustc_version = "0.2.3";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.percent_encoding."1.0.1" = {};
+  deps.pkg_config."0.3.14" = {};
+  deps.proc_macro2."0.4.27" = {
+    unicode_xid = "0.1.0";
+  };
+  deps.quick_error."1.2.2" = {};
+  deps.quote."0.6.12" = {
+    proc_macro2 = "0.4.27";
+  };
+  deps.rand."0.6.5" = {
+    rand_chacha = "0.1.1";
+    rand_core = "0.4.0";
+    rand_hc = "0.1.0";
+    rand_isaac = "0.1.1";
+    rand_jitter = "0.1.3";
+    rand_os = "0.1.3";
+    rand_pcg = "0.1.2";
+    rand_xorshift = "0.1.1";
+    autocfg = "0.1.2";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.rand_chacha."0.1.1" = {
+    rand_core = "0.3.1";
+    autocfg = "0.1.2";
+  };
+  deps.rand_core."0.3.1" = {
+    rand_core = "0.4.0";
+  };
+  deps.rand_core."0.4.0" = {};
+  deps.rand_hc."0.1.0" = {
+    rand_core = "0.3.1";
+  };
+  deps.rand_isaac."0.1.1" = {
+    rand_core = "0.3.1";
+  };
+  deps.rand_jitter."0.1.3" = {
+    rand_core = "0.4.0";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.rand_os."0.1.3" = {
+    rand_core = "0.4.0";
+    rdrand = "0.4.0";
+    cloudabi = "0.0.3";
+    fuchsia_cprng = "0.1.1";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.rand_pcg."0.1.2" = {
+    rand_core = "0.4.0";
+    autocfg = "0.1.2";
+  };
+  deps.rand_xorshift."0.1.1" = {
+    rand_core = "0.3.1";
+  };
+  deps.rawpointer."0.1.0" = {};
+  deps.rdrand."0.4.0" = {
+    rand_core = "0.3.1";
+  };
+  deps.redox_syscall."0.1.54" = {};
+  deps.redox_termios."0.1.1" = {
+    redox_syscall = "0.1.54";
+  };
+  deps.regex."1.1.6" = {
+    aho_corasick = "0.7.3";
+    memchr = "2.2.0";
+    regex_syntax = "0.6.6";
+    thread_local = "0.3.6";
+    utf8_ranges = "1.0.2";
+  };
+  deps.regex_syntax."0.6.6" = {
+    ucd_util = "0.1.3";
+  };
+  deps.remove_dir_all."0.5.1" = {
+    winapi = "0.3.7";
+  };
+  deps.rustc_demangle."0.1.14" = {};
+  deps.rustc_workspace_hack."1.0.0" = {};
+  deps.rustc_version."0.2.3" = {
+    semver = "0.9.0";
+  };
+  deps.rustfix."0.4.5" = {
+    failure = "0.1.5";
+    log = "0.4.6";
+    serde = "1.0.90";
+    serde_derive = "1.0.90";
+    serde_json = "1.0.39";
+  };
+  deps.ryu."0.2.7" = {};
+  deps.same_file."1.0.4" = {
+    winapi_util = "0.1.2";
+  };
+  deps.schannel."0.1.15" = {
+    lazy_static = "1.3.0";
+    winapi = "0.3.7";
+  };
+  deps.scopeguard."0.3.3" = {};
+  deps.semver."0.9.0" = {
+    semver_parser = "0.7.0";
+    serde = "1.0.90";
+  };
+  deps.semver_parser."0.7.0" = {};
+  deps.serde."1.0.90" = {
+    serde_derive = "1.0.90";
+  };
+  deps.serde_derive."1.0.90" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    syn = "0.15.32";
+  };
+  deps.serde_ignored."0.0.4" = {
+    serde = "1.0.90";
+  };
+  deps.serde_json."1.0.39" = {
+    itoa = "0.4.3";
+    ryu = "0.2.7";
+    serde = "1.0.90";
+  };
+  deps.shell_escape."0.1.4" = {};
+  deps.sized_chunks."0.1.3" = {
+    typenum = "1.10.0";
+  };
+  deps.smallvec."0.6.9" = {};
+  deps.socket2."0.3.8" = {
+    cfg_if = "0.1.7";
+    libc = "0.2.51";
+    redox_syscall = "0.1.54";
+    winapi = "0.3.7";
+  };
+  deps.strsim."0.8.0" = {};
+  deps.strsim."0.9.1" = {
+    hashbrown = "0.1.8";
+    ndarray = "0.12.1";
+  };
+  deps.syn."0.15.32" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    unicode_xid = "0.1.0";
+  };
+  deps.synstructure."0.10.1" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    syn = "0.15.32";
+    unicode_xid = "0.1.0";
+  };
+  deps.tar."0.4.22" = {
+    filetime = "0.2.4";
+    redox_syscall = "0.1.54";
+    libc = "0.2.51";
+  };
+  deps.tempfile."3.0.7" = {
+    cfg_if = "0.1.7";
+    rand = "0.6.5";
+    remove_dir_all = "0.5.1";
+    redox_syscall = "0.1.54";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.termcolor."1.0.4" = {
+    wincolor = "1.0.1";
+  };
+  deps.termion."1.5.1" = {
+    libc = "0.2.51";
+    redox_syscall = "0.1.54";
+    redox_termios = "0.1.1";
+  };
+  deps.textwrap."0.11.0" = {
+    unicode_width = "0.1.5";
+  };
+  deps.thread_local."0.3.6" = {
+    lazy_static = "1.3.0";
+  };
+  deps.toml."0.4.10" = {
+    serde = "1.0.90";
+  };
+  deps.toml."0.5.0" = {
+    serde = "1.0.90";
+  };
+  deps.typenum."1.10.0" = {};
+  deps.ucd_util."0.1.3" = {};
+  deps.unicode_bidi."0.3.4" = {
+    matches = "0.1.8";
+  };
+  deps.unicode_normalization."0.1.8" = {
+    smallvec = "0.6.9";
+  };
+  deps.unicode_width."0.1.5" = {};
+  deps.unicode_xid."0.1.0" = {};
+  deps.url."1.7.2" = {
+    idna = "0.1.5";
+    matches = "0.1.8";
+    percent_encoding = "1.0.1";
+  };
+  deps.url_serde."0.2.0" = {
+    serde = "1.0.90";
+    url = "1.7.2";
+  };
+  deps.utf8_ranges."1.0.2" = {};
+  deps.vcpkg."0.2.6" = {};
+  deps.vec_map."0.8.1" = {};
+  deps.walkdir."2.2.7" = {
+    same_file = "1.0.4";
+    winapi = "0.3.7";
+    winapi_util = "0.1.2";
+  };
+  deps.winapi."0.2.8" = {};
+  deps.winapi."0.3.7" = {
+    winapi_i686_pc_windows_gnu = "0.4.0";
+    winapi_x86_64_pc_windows_gnu = "0.4.0";
+  };
+  deps.winapi_build."0.1.1" = {};
+  deps.winapi_i686_pc_windows_gnu."0.4.0" = {};
+  deps.winapi_util."0.1.2" = {
+    winapi = "0.3.7";
+  };
+  deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {};
+  deps.wincolor."1.0.1" = {
+    winapi = "0.3.7";
+    winapi_util = "0.1.2";
+  };
 }
diff --git a/pkgs/build-support/rust/cargo-vendor/default.nix b/pkgs/build-support/rust/cargo-vendor/default.nix
index faeb6e03743c..f252c6a6cb1f 100644
--- a/pkgs/build-support/rust/cargo-vendor/default.nix
+++ b/pkgs/build-support/rust/cargo-vendor/default.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchFromGitHub }:
 
-(callPackage ./cargo-vendor.nix {}).cargo_vendor_0_1_13.overrideAttrs (attrs: {
+((callPackage ./cargo-vendor.nix {}).cargo_vendor {}).overrideAttrs (attrs: {
   src = fetchFromGitHub {
     owner = "alexcrichton";
     repo = "cargo-vendor";
-    rev = "0.1.13";
-    sha256 = "0ljh2d65zpxp26a95b3czy5ai2z2dm87x7ndfdc1s0v1fsy69kn4";
+    rev = "9355661303ce2870d68a69d99953fce22581e31e";
+    sha256 = "0d4j3r09am3ynwhczimzv39264f5xz37jxa9js123y46w5by3wd2";
   };
 })
diff --git a/pkgs/build-support/rust/crates-io.nix b/pkgs/build-support/rust/crates-io.nix
index 2475a62a3cd7..9dd2da28ad5b 100644
--- a/pkgs/build-support/rust/crates-io.nix
+++ b/pkgs/build-support/rust/crates-io.nix
@@ -3810,4 +3810,3947 @@ rec {
 
 
 # end
+# aho-corasick-0.7.3
+
+  crates.aho_corasick."0.7.3" = deps: { features?(features_.aho_corasick."0.7.3" deps {}) }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.7.3";
+    description = "Fast multiple substring searching.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0dn42fbdms4brigqphxrvzbjd1s4knyjlzky30kgvpnrcl4sqqdv";
+    libName = "aho_corasick";
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."aho_corasick"."0.7.3"."memchr"}" deps)
+    ]);
+    features = mkFeatures (features."aho_corasick"."0.7.3" or {});
+  };
+  features_.aho_corasick."0.7.3" = deps: f: updateFeatures f (rec {
+    aho_corasick = fold recursiveUpdate {} [
+      { "0.7.3"."std" =
+        (f.aho_corasick."0.7.3"."std" or false) ||
+        (f.aho_corasick."0.7.3".default or false) ||
+        (aho_corasick."0.7.3"."default" or false); }
+      { "0.7.3".default = (f.aho_corasick."0.7.3".default or true); }
+    ];
+    memchr = fold recursiveUpdate {} [
+      { "${deps.aho_corasick."0.7.3".memchr}"."use_std" =
+        (f.memchr."${deps.aho_corasick."0.7.3".memchr}"."use_std" or false) ||
+        (aho_corasick."0.7.3"."std" or false) ||
+        (f."aho_corasick"."0.7.3"."std" or false); }
+      { "${deps.aho_corasick."0.7.3".memchr}".default = (f.memchr."${deps.aho_corasick."0.7.3".memchr}".default or false); }
+    ];
+  }) [
+    (features_.memchr."${deps."aho_corasick"."0.7.3"."memchr"}" deps)
+  ];
+
+
+# end
+# backtrace-0.3.15
+
+  crates.backtrace."0.3.15" = deps: { features?(features_.backtrace."0.3.15" deps {}) }: buildRustCrate {
+    crateName = "backtrace";
+    version = "0.3.15";
+    description = "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
+    sha256 = "0qgbc07aq9kfixv29s60xx666lmdpgmf27a78fwjlhnfzhqvkn0p";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."backtrace"."0.3.15"."cfg_if"}" deps)
+      (crates."rustc_demangle"."${deps."backtrace"."0.3.15"."rustc_demangle"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([
+    ]
+      ++ (if features.backtrace."0.3.15".backtrace-sys or false then [ (crates.backtrace_sys."${deps."backtrace"."0.3.15".backtrace_sys}" deps) ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") || abi == "sgx" then mapFeatures features ([
+      (crates."libc"."${deps."backtrace"."0.3.15"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."backtrace"."0.3.15"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."backtrace"."0.3.15"."autocfg"}" deps)
+    ]);
+    features = mkFeatures (features."backtrace"."0.3.15" or {});
+  };
+  features_.backtrace."0.3.15" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.backtrace."0.3.15".autocfg}".default = true;
+    backtrace = fold recursiveUpdate {} [
+      { "0.3.15"."addr2line" =
+        (f.backtrace."0.3.15"."addr2line" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."backtrace-sys" =
+        (f.backtrace."0.3.15"."backtrace-sys" or false) ||
+        (f.backtrace."0.3.15".libbacktrace or false) ||
+        (backtrace."0.3.15"."libbacktrace" or false); }
+      { "0.3.15"."coresymbolication" =
+        (f.backtrace."0.3.15"."coresymbolication" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."dbghelp" =
+        (f.backtrace."0.3.15"."dbghelp" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."dladdr" =
+        (f.backtrace."0.3.15"."dladdr" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."findshlibs" =
+        (f.backtrace."0.3.15"."findshlibs" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."gimli" =
+        (f.backtrace."0.3.15"."gimli" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."libbacktrace" =
+        (f.backtrace."0.3.15"."libbacktrace" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."libunwind" =
+        (f.backtrace."0.3.15"."libunwind" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."memmap" =
+        (f.backtrace."0.3.15"."memmap" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."object" =
+        (f.backtrace."0.3.15"."object" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."rustc-serialize" =
+        (f.backtrace."0.3.15"."rustc-serialize" or false) ||
+        (f.backtrace."0.3.15".serialize-rustc or false) ||
+        (backtrace."0.3.15"."serialize-rustc" or false); }
+      { "0.3.15"."serde" =
+        (f.backtrace."0.3.15"."serde" or false) ||
+        (f.backtrace."0.3.15".serialize-serde or false) ||
+        (backtrace."0.3.15"."serialize-serde" or false); }
+      { "0.3.15"."serde_derive" =
+        (f.backtrace."0.3.15"."serde_derive" or false) ||
+        (f.backtrace."0.3.15".serialize-serde or false) ||
+        (backtrace."0.3.15"."serialize-serde" or false); }
+      { "0.3.15"."std" =
+        (f.backtrace."0.3.15"."std" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false) ||
+        (f.backtrace."0.3.15".libbacktrace or false) ||
+        (backtrace."0.3.15"."libbacktrace" or false); }
+      { "0.3.15".default = (f.backtrace."0.3.15".default or true); }
+    ];
+    backtrace_sys."${deps.backtrace."0.3.15".backtrace_sys}".default = true;
+    cfg_if."${deps.backtrace."0.3.15".cfg_if}".default = true;
+    libc."${deps.backtrace."0.3.15".libc}".default = (f.libc."${deps.backtrace."0.3.15".libc}".default or false);
+    rustc_demangle."${deps.backtrace."0.3.15".rustc_demangle}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.backtrace."0.3.15".winapi}"."dbghelp" = true; }
+      { "${deps.backtrace."0.3.15".winapi}"."minwindef" = true; }
+      { "${deps.backtrace."0.3.15".winapi}"."processthreadsapi" = true; }
+      { "${deps.backtrace."0.3.15".winapi}"."winnt" = true; }
+      { "${deps.backtrace."0.3.15".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."backtrace"."0.3.15"."cfg_if"}" deps)
+    (features_.rustc_demangle."${deps."backtrace"."0.3.15"."rustc_demangle"}" deps)
+    (features_.autocfg."${deps."backtrace"."0.3.15"."autocfg"}" deps)
+    (features_.backtrace_sys."${deps."backtrace"."0.3.15"."backtrace_sys"}" deps)
+    (features_.libc."${deps."backtrace"."0.3.15"."libc"}" deps)
+    (features_.winapi."${deps."backtrace"."0.3.15"."winapi"}" deps)
+  ];
+
+
+# end
+# bstr-0.1.2
+
+  crates.bstr."0.1.2" = deps: { features?(features_.bstr."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "bstr";
+    version = "0.1.2";
+    description = "A string type that is not required to be valid UTF-8.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1m30sssr8qghgf5fg17vvlrcr5mbbnv8fixzzfvzk3nan4bxyckf";
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."bstr"."0.1.2"."memchr"}" deps)
+    ]);
+    features = mkFeatures (features."bstr"."0.1.2" or {});
+  };
+  features_.bstr."0.1.2" = deps: f: updateFeatures f (rec {
+    bstr = fold recursiveUpdate {} [
+      { "0.1.2"."lazy_static" =
+        (f.bstr."0.1.2"."lazy_static" or false) ||
+        (f.bstr."0.1.2".unicode or false) ||
+        (bstr."0.1.2"."unicode" or false); }
+      { "0.1.2"."regex-automata" =
+        (f.bstr."0.1.2"."regex-automata" or false) ||
+        (f.bstr."0.1.2".unicode or false) ||
+        (bstr."0.1.2"."unicode" or false); }
+      { "0.1.2"."serde" =
+        (f.bstr."0.1.2"."serde" or false) ||
+        (f.bstr."0.1.2".serde1-nostd or false) ||
+        (bstr."0.1.2"."serde1-nostd" or false); }
+      { "0.1.2"."serde1-nostd" =
+        (f.bstr."0.1.2"."serde1-nostd" or false) ||
+        (f.bstr."0.1.2".serde1 or false) ||
+        (bstr."0.1.2"."serde1" or false); }
+      { "0.1.2"."std" =
+        (f.bstr."0.1.2"."std" or false) ||
+        (f.bstr."0.1.2".default or false) ||
+        (bstr."0.1.2"."default" or false) ||
+        (f.bstr."0.1.2".serde1 or false) ||
+        (bstr."0.1.2"."serde1" or false); }
+      { "0.1.2"."unicode" =
+        (f.bstr."0.1.2"."unicode" or false) ||
+        (f.bstr."0.1.2".default or false) ||
+        (bstr."0.1.2"."default" or false); }
+      { "0.1.2".default = (f.bstr."0.1.2".default or true); }
+    ];
+    memchr = fold recursiveUpdate {} [
+      { "${deps.bstr."0.1.2".memchr}"."use_std" =
+        (f.memchr."${deps.bstr."0.1.2".memchr}"."use_std" or false) ||
+        (bstr."0.1.2"."std" or false) ||
+        (f."bstr"."0.1.2"."std" or false); }
+      { "${deps.bstr."0.1.2".memchr}".default = (f.memchr."${deps.bstr."0.1.2".memchr}".default or false); }
+    ];
+  }) [
+    (features_.memchr."${deps."bstr"."0.1.2"."memchr"}" deps)
+  ];
+
+
+# end
+# build_const-0.2.1
+
+  crates.build_const."0.2.1" = deps: { features?(features_.build_const."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "build_const";
+    version = "0.2.1";
+    description = "library for creating importable constants from build.rs or a script";
+    authors = [ "Garrett Berg <vitiral@gmail.com>" ];
+    sha256 = "15249xzi3qlm72p4glxgavwyq70fx2sp4df6ii0sdlrixrrp77pl";
+    features = mkFeatures (features."build_const"."0.2.1" or {});
+  };
+  features_.build_const."0.2.1" = deps: f: updateFeatures f (rec {
+    build_const = fold recursiveUpdate {} [
+      { "0.2.1"."std" =
+        (f.build_const."0.2.1"."std" or false) ||
+        (f.build_const."0.2.1".default or false) ||
+        (build_const."0.2.1"."default" or false); }
+      { "0.2.1".default = (f.build_const."0.2.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# byteorder-1.3.1
+
+  crates.byteorder."1.3.1" = deps: { features?(features_.byteorder."1.3.1" deps {}) }: buildRustCrate {
+    crateName = "byteorder";
+    version = "1.3.1";
+    description = "Library for reading/writing numbers in big-endian and little-endian.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1dd46l7fvmxfq90kh6ip1ghsxzzcdybac8f0mh2jivsdv9vy8k4w";
+    build = "build.rs";
+    features = mkFeatures (features."byteorder"."1.3.1" or {});
+  };
+  features_.byteorder."1.3.1" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "1.3.1"."std" =
+        (f.byteorder."1.3.1"."std" or false) ||
+        (f.byteorder."1.3.1".default or false) ||
+        (byteorder."1.3.1"."default" or false); }
+      { "1.3.1".default = (f.byteorder."1.3.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# bytes-0.4.12
+
+  crates.bytes."0.4.12" = deps: { features?(features_.bytes."0.4.12" deps {}) }: buildRustCrate {
+    crateName = "bytes";
+    version = "0.4.12";
+    description = "Types and traits for working with bytes";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0cw577vll9qp0h3l1sy24anr5mcnd5j26q9q7nw4f0mddssvfphf";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."bytes"."0.4.12"."byteorder"}" deps)
+      (crates."iovec"."${deps."bytes"."0.4.12"."iovec"}" deps)
+    ]);
+    features = mkFeatures (features."bytes"."0.4.12" or {});
+  };
+  features_.bytes."0.4.12" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "${deps.bytes."0.4.12".byteorder}"."i128" =
+        (f.byteorder."${deps.bytes."0.4.12".byteorder}"."i128" or false) ||
+        (bytes."0.4.12"."i128" or false) ||
+        (f."bytes"."0.4.12"."i128" or false); }
+      { "${deps.bytes."0.4.12".byteorder}".default = true; }
+    ];
+    bytes."0.4.12".default = (f.bytes."0.4.12".default or true);
+    iovec."${deps.bytes."0.4.12".iovec}".default = true;
+  }) [
+    (features_.byteorder."${deps."bytes"."0.4.12"."byteorder"}" deps)
+    (features_.iovec."${deps."bytes"."0.4.12"."iovec"}" deps)
+  ];
+
+
+# end
+# bytesize-1.0.0
+
+  crates.bytesize."1.0.0" = deps: { features?(features_.bytesize."1.0.0" deps {}) }: buildRustCrate {
+    crateName = "bytesize";
+    version = "1.0.0";
+    description = "an utility for human-readable bytes representations";
+    authors = [ "Hyunsik Choi <hyunsik.choi@gmail.com>" ];
+    sha256 = "04j5hibh1sskjbifrm5d10vmd1fycfgm10cdfa9hpyir7lbkhbg9";
+    dependencies = mapFeatures features ([
+]);
+  };
+  features_.bytesize."1.0.0" = deps: f: updateFeatures f (rec {
+    bytesize."1.0.0".default = (f.bytesize."1.0.0".default or true);
+  }) [];
+
+
+# end
+# cargo-0.35.0
+
+  crates.cargo."0.35.0" = deps: { features?(features_.cargo."0.35.0" deps {}) }: buildRustCrate {
+    crateName = "cargo";
+    version = "0.35.0";
+    description = "Cargo, a package manager for Rust.\n";
+    authors = [ "Yehuda Katz <wycats@gmail.com>" "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+    edition = "2018";
+    sha256 = "17nqb1cr70igaaahk1lr859jaa57p05i1q4smqhqpq1jswwpdsnn";
+    libPath = "src/cargo/lib.rs";
+    crateBin =
+      [{  name = "cargo"; }];
+    dependencies = mapFeatures features ([
+      (crates."atty"."${deps."cargo"."0.35.0"."atty"}" deps)
+      (crates."byteorder"."${deps."cargo"."0.35.0"."byteorder"}" deps)
+      (crates."bytesize"."${deps."cargo"."0.35.0"."bytesize"}" deps)
+      (crates."clap"."${deps."cargo"."0.35.0"."clap"}" deps)
+      (crates."crates_io"."${deps."cargo"."0.35.0"."crates_io"}" deps)
+      (crates."crossbeam_utils"."${deps."cargo"."0.35.0"."crossbeam_utils"}" deps)
+      (crates."crypto_hash"."${deps."cargo"."0.35.0"."crypto_hash"}" deps)
+      (crates."curl"."${deps."cargo"."0.35.0"."curl"}" deps)
+      (crates."curl_sys"."${deps."cargo"."0.35.0"."curl_sys"}" deps)
+      (crates."env_logger"."${deps."cargo"."0.35.0"."env_logger"}" deps)
+      (crates."failure"."${deps."cargo"."0.35.0"."failure"}" deps)
+      (crates."filetime"."${deps."cargo"."0.35.0"."filetime"}" deps)
+      (crates."flate2"."${deps."cargo"."0.35.0"."flate2"}" deps)
+      (crates."fs2"."${deps."cargo"."0.35.0"."fs2"}" deps)
+      (crates."git2"."${deps."cargo"."0.35.0"."git2"}" deps)
+      (crates."git2_curl"."${deps."cargo"."0.35.0"."git2_curl"}" deps)
+      (crates."glob"."${deps."cargo"."0.35.0"."glob"}" deps)
+      (crates."hex"."${deps."cargo"."0.35.0"."hex"}" deps)
+      (crates."home"."${deps."cargo"."0.35.0"."home"}" deps)
+      (crates."ignore"."${deps."cargo"."0.35.0"."ignore"}" deps)
+      (crates."im_rc"."${deps."cargo"."0.35.0"."im_rc"}" deps)
+      (crates."jobserver"."${deps."cargo"."0.35.0"."jobserver"}" deps)
+      (crates."lazy_static"."${deps."cargo"."0.35.0"."lazy_static"}" deps)
+      (crates."lazycell"."${deps."cargo"."0.35.0"."lazycell"}" deps)
+      (crates."libc"."${deps."cargo"."0.35.0"."libc"}" deps)
+      (crates."libgit2_sys"."${deps."cargo"."0.35.0"."libgit2_sys"}" deps)
+      (crates."log"."${deps."cargo"."0.35.0"."log"}" deps)
+      (crates."num_cpus"."${deps."cargo"."0.35.0"."num_cpus"}" deps)
+      (crates."opener"."${deps."cargo"."0.35.0"."opener"}" deps)
+      (crates."rustc_workspace_hack"."${deps."cargo"."0.35.0"."rustc_workspace_hack"}" deps)
+      (crates."rustfix"."${deps."cargo"."0.35.0"."rustfix"}" deps)
+      (crates."same_file"."${deps."cargo"."0.35.0"."same_file"}" deps)
+      (crates."semver"."${deps."cargo"."0.35.0"."semver"}" deps)
+      (crates."serde"."${deps."cargo"."0.35.0"."serde"}" deps)
+      (crates."serde_ignored"."${deps."cargo"."0.35.0"."serde_ignored"}" deps)
+      (crates."serde_json"."${deps."cargo"."0.35.0"."serde_json"}" deps)
+      (crates."shell_escape"."${deps."cargo"."0.35.0"."shell_escape"}" deps)
+      (crates."tar"."${deps."cargo"."0.35.0"."tar"}" deps)
+      (crates."tempfile"."${deps."cargo"."0.35.0"."tempfile"}" deps)
+      (crates."termcolor"."${deps."cargo"."0.35.0"."termcolor"}" deps)
+      (crates."toml"."${deps."cargo"."0.35.0"."toml"}" deps)
+      (crates."unicode_width"."${deps."cargo"."0.35.0"."unicode_width"}" deps)
+      (crates."url"."${deps."cargo"."0.35.0"."url"}" deps)
+      (crates."url_serde"."${deps."cargo"."0.35.0"."url_serde"}" deps)
+    ])
+      ++ (if kernel == "darwin" then mapFeatures features ([
+      (crates."core_foundation"."${deps."cargo"."0.35.0"."core_foundation"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."fwdansi"."${deps."cargo"."0.35.0"."fwdansi"}" deps)
+      (crates."miow"."${deps."cargo"."0.35.0"."miow"}" deps)
+      (crates."winapi"."${deps."cargo"."0.35.0"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."cargo"."0.35.0" or {});
+  };
+  features_.cargo."0.35.0" = deps: f: updateFeatures f (rec {
+    atty."${deps.cargo."0.35.0".atty}".default = true;
+    byteorder."${deps.cargo."0.35.0".byteorder}".default = true;
+    bytesize."${deps.cargo."0.35.0".bytesize}".default = true;
+    cargo = fold recursiveUpdate {} [
+      { "0.35.0"."pretty_env_logger" =
+        (f.cargo."0.35.0"."pretty_env_logger" or false) ||
+        (f.cargo."0.35.0".pretty-env-logger or false) ||
+        (cargo."0.35.0"."pretty-env-logger" or false); }
+      { "0.35.0".default = (f.cargo."0.35.0".default or true); }
+    ];
+    clap."${deps.cargo."0.35.0".clap}".default = true;
+    core_foundation = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".core_foundation}"."mac_os_10_7_support" = true; }
+      { "${deps.cargo."0.35.0".core_foundation}".default = true; }
+    ];
+    crates_io."${deps.cargo."0.35.0".crates_io}".default = true;
+    crossbeam_utils."${deps.cargo."0.35.0".crossbeam_utils}".default = true;
+    crypto_hash."${deps.cargo."0.35.0".crypto_hash}".default = true;
+    curl = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".curl}"."http2" = true; }
+      { "${deps.cargo."0.35.0".curl}".default = true; }
+    ];
+    curl_sys."${deps.cargo."0.35.0".curl_sys}".default = true;
+    env_logger."${deps.cargo."0.35.0".env_logger}".default = true;
+    failure."${deps.cargo."0.35.0".failure}".default = true;
+    filetime."${deps.cargo."0.35.0".filetime}".default = true;
+    flate2 = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".flate2}"."zlib" = true; }
+      { "${deps.cargo."0.35.0".flate2}".default = true; }
+    ];
+    fs2."${deps.cargo."0.35.0".fs2}".default = true;
+    fwdansi."${deps.cargo."0.35.0".fwdansi}".default = true;
+    git2."${deps.cargo."0.35.0".git2}".default = true;
+    git2_curl."${deps.cargo."0.35.0".git2_curl}".default = true;
+    glob."${deps.cargo."0.35.0".glob}".default = true;
+    hex."${deps.cargo."0.35.0".hex}".default = true;
+    home."${deps.cargo."0.35.0".home}".default = true;
+    ignore."${deps.cargo."0.35.0".ignore}".default = true;
+    im_rc."${deps.cargo."0.35.0".im_rc}".default = true;
+    jobserver."${deps.cargo."0.35.0".jobserver}".default = true;
+    lazy_static."${deps.cargo."0.35.0".lazy_static}".default = true;
+    lazycell."${deps.cargo."0.35.0".lazycell}".default = true;
+    libc."${deps.cargo."0.35.0".libc}".default = true;
+    libgit2_sys."${deps.cargo."0.35.0".libgit2_sys}".default = true;
+    log."${deps.cargo."0.35.0".log}".default = true;
+    miow."${deps.cargo."0.35.0".miow}".default = true;
+    num_cpus."${deps.cargo."0.35.0".num_cpus}".default = true;
+    opener."${deps.cargo."0.35.0".opener}".default = true;
+    rustc_workspace_hack."${deps.cargo."0.35.0".rustc_workspace_hack}".default = true;
+    rustfix."${deps.cargo."0.35.0".rustfix}".default = true;
+    same_file."${deps.cargo."0.35.0".same_file}".default = true;
+    semver = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".semver}"."serde" = true; }
+      { "${deps.cargo."0.35.0".semver}".default = true; }
+    ];
+    serde = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".serde}"."derive" = true; }
+      { "${deps.cargo."0.35.0".serde}".default = true; }
+    ];
+    serde_ignored."${deps.cargo."0.35.0".serde_ignored}".default = true;
+    serde_json = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".serde_json}"."raw_value" = true; }
+      { "${deps.cargo."0.35.0".serde_json}".default = true; }
+    ];
+    shell_escape."${deps.cargo."0.35.0".shell_escape}".default = true;
+    tar."${deps.cargo."0.35.0".tar}".default = (f.tar."${deps.cargo."0.35.0".tar}".default or false);
+    tempfile."${deps.cargo."0.35.0".tempfile}".default = true;
+    termcolor."${deps.cargo."0.35.0".termcolor}".default = true;
+    toml."${deps.cargo."0.35.0".toml}".default = true;
+    unicode_width."${deps.cargo."0.35.0".unicode_width}".default = true;
+    url."${deps.cargo."0.35.0".url}".default = true;
+    url_serde."${deps.cargo."0.35.0".url_serde}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".winapi}"."basetsd" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."handleapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."jobapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."jobapi2" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."memoryapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."minwindef" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."ntdef" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."ntstatus" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."processenv" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."processthreadsapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."psapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."synchapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."winbase" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."wincon" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."winerror" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."winnt" = true; }
+      { "${deps.cargo."0.35.0".winapi}".default = true; }
+    ];
+  }) [
+    (features_.atty."${deps."cargo"."0.35.0"."atty"}" deps)
+    (features_.byteorder."${deps."cargo"."0.35.0"."byteorder"}" deps)
+    (features_.bytesize."${deps."cargo"."0.35.0"."bytesize"}" deps)
+    (features_.clap."${deps."cargo"."0.35.0"."clap"}" deps)
+    (features_.crates_io."${deps."cargo"."0.35.0"."crates_io"}" deps)
+    (features_.crossbeam_utils."${deps."cargo"."0.35.0"."crossbeam_utils"}" deps)
+    (features_.crypto_hash."${deps."cargo"."0.35.0"."crypto_hash"}" deps)
+    (features_.curl."${deps."cargo"."0.35.0"."curl"}" deps)
+    (features_.curl_sys."${deps."cargo"."0.35.0"."curl_sys"}" deps)
+    (features_.env_logger."${deps."cargo"."0.35.0"."env_logger"}" deps)
+    (features_.failure."${deps."cargo"."0.35.0"."failure"}" deps)
+    (features_.filetime."${deps."cargo"."0.35.0"."filetime"}" deps)
+    (features_.flate2."${deps."cargo"."0.35.0"."flate2"}" deps)
+    (features_.fs2."${deps."cargo"."0.35.0"."fs2"}" deps)
+    (features_.git2."${deps."cargo"."0.35.0"."git2"}" deps)
+    (features_.git2_curl."${deps."cargo"."0.35.0"."git2_curl"}" deps)
+    (features_.glob."${deps."cargo"."0.35.0"."glob"}" deps)
+    (features_.hex."${deps."cargo"."0.35.0"."hex"}" deps)
+    (features_.home."${deps."cargo"."0.35.0"."home"}" deps)
+    (features_.ignore."${deps."cargo"."0.35.0"."ignore"}" deps)
+    (features_.im_rc."${deps."cargo"."0.35.0"."im_rc"}" deps)
+    (features_.jobserver."${deps."cargo"."0.35.0"."jobserver"}" deps)
+    (features_.lazy_static."${deps."cargo"."0.35.0"."lazy_static"}" deps)
+    (features_.lazycell."${deps."cargo"."0.35.0"."lazycell"}" deps)
+    (features_.libc."${deps."cargo"."0.35.0"."libc"}" deps)
+    (features_.libgit2_sys."${deps."cargo"."0.35.0"."libgit2_sys"}" deps)
+    (features_.log."${deps."cargo"."0.35.0"."log"}" deps)
+    (features_.num_cpus."${deps."cargo"."0.35.0"."num_cpus"}" deps)
+    (features_.opener."${deps."cargo"."0.35.0"."opener"}" deps)
+    (features_.rustc_workspace_hack."${deps."cargo"."0.35.0"."rustc_workspace_hack"}" deps)
+    (features_.rustfix."${deps."cargo"."0.35.0"."rustfix"}" deps)
+    (features_.same_file."${deps."cargo"."0.35.0"."same_file"}" deps)
+    (features_.semver."${deps."cargo"."0.35.0"."semver"}" deps)
+    (features_.serde."${deps."cargo"."0.35.0"."serde"}" deps)
+    (features_.serde_ignored."${deps."cargo"."0.35.0"."serde_ignored"}" deps)
+    (features_.serde_json."${deps."cargo"."0.35.0"."serde_json"}" deps)
+    (features_.shell_escape."${deps."cargo"."0.35.0"."shell_escape"}" deps)
+    (features_.tar."${deps."cargo"."0.35.0"."tar"}" deps)
+    (features_.tempfile."${deps."cargo"."0.35.0"."tempfile"}" deps)
+    (features_.termcolor."${deps."cargo"."0.35.0"."termcolor"}" deps)
+    (features_.toml."${deps."cargo"."0.35.0"."toml"}" deps)
+    (features_.unicode_width."${deps."cargo"."0.35.0"."unicode_width"}" deps)
+    (features_.url."${deps."cargo"."0.35.0"."url"}" deps)
+    (features_.url_serde."${deps."cargo"."0.35.0"."url_serde"}" deps)
+    (features_.core_foundation."${deps."cargo"."0.35.0"."core_foundation"}" deps)
+    (features_.fwdansi."${deps."cargo"."0.35.0"."fwdansi"}" deps)
+    (features_.miow."${deps."cargo"."0.35.0"."miow"}" deps)
+    (features_.winapi."${deps."cargo"."0.35.0"."winapi"}" deps)
+  ];
+
+
+# end
+# cc-1.0.35
+
+  crates.cc."1.0.35" = deps: { features?(features_.cc."1.0.35" deps {}) }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.35";
+    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0dq3d2hgc5r14lk97ajj4mw30fibznjzrl9w745fqhwnq51jp7dj";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."cc"."1.0.35" or {});
+  };
+  features_.cc."1.0.35" = deps: f: updateFeatures f (rec {
+    cc = fold recursiveUpdate {} [
+      { "1.0.35"."rayon" =
+        (f.cc."1.0.35"."rayon" or false) ||
+        (f.cc."1.0.35".parallel or false) ||
+        (cc."1.0.35"."parallel" or false); }
+      { "1.0.35".default = (f.cc."1.0.35".default or true); }
+    ];
+  }) [];
+
+
+# end
+# clap-2.33.0
+
+  crates.clap."2.33.0" = deps: { features?(features_.clap."2.33.0" deps {}) }: buildRustCrate {
+    crateName = "clap";
+    version = "2.33.0";
+    description = "A simple to use, efficient, and full-featured Command Line Argument Parser\n";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "054n9ngh6pkknpmd4acgdsp40iw6f5jzq8a4h2b76gnbvk6p5xjh";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."clap"."2.33.0"."bitflags"}" deps)
+      (crates."textwrap"."${deps."clap"."2.33.0"."textwrap"}" deps)
+      (crates."unicode_width"."${deps."clap"."2.33.0"."unicode_width"}" deps)
+    ]
+      ++ (if features.clap."2.33.0".atty or false then [ (crates.atty."${deps."clap"."2.33.0".atty}" deps) ] else [])
+      ++ (if features.clap."2.33.0".strsim or false then [ (crates.strsim."${deps."clap"."2.33.0".strsim}" deps) ] else [])
+      ++ (if features.clap."2.33.0".vec_map or false then [ (crates.vec_map."${deps."clap"."2.33.0".vec_map}" deps) ] else []))
+      ++ (if !(kernel == "windows") then mapFeatures features ([
+    ]
+      ++ (if features.clap."2.33.0".ansi_term or false then [ (crates.ansi_term."${deps."clap"."2.33.0".ansi_term}" deps) ] else [])) else []);
+    features = mkFeatures (features."clap"."2.33.0" or {});
+  };
+  features_.clap."2.33.0" = deps: f: updateFeatures f (rec {
+    ansi_term."${deps.clap."2.33.0".ansi_term}".default = true;
+    atty."${deps.clap."2.33.0".atty}".default = true;
+    bitflags."${deps.clap."2.33.0".bitflags}".default = true;
+    clap = fold recursiveUpdate {} [
+      { "2.33.0"."ansi_term" =
+        (f.clap."2.33.0"."ansi_term" or false) ||
+        (f.clap."2.33.0".color or false) ||
+        (clap."2.33.0"."color" or false); }
+      { "2.33.0"."atty" =
+        (f.clap."2.33.0"."atty" or false) ||
+        (f.clap."2.33.0".color or false) ||
+        (clap."2.33.0"."color" or false); }
+      { "2.33.0"."clippy" =
+        (f.clap."2.33.0"."clippy" or false) ||
+        (f.clap."2.33.0".lints or false) ||
+        (clap."2.33.0"."lints" or false); }
+      { "2.33.0"."color" =
+        (f.clap."2.33.0"."color" or false) ||
+        (f.clap."2.33.0".default or false) ||
+        (clap."2.33.0"."default" or false); }
+      { "2.33.0"."strsim" =
+        (f.clap."2.33.0"."strsim" or false) ||
+        (f.clap."2.33.0".suggestions or false) ||
+        (clap."2.33.0"."suggestions" or false); }
+      { "2.33.0"."suggestions" =
+        (f.clap."2.33.0"."suggestions" or false) ||
+        (f.clap."2.33.0".default or false) ||
+        (clap."2.33.0"."default" or false); }
+      { "2.33.0"."term_size" =
+        (f.clap."2.33.0"."term_size" or false) ||
+        (f.clap."2.33.0".wrap_help or false) ||
+        (clap."2.33.0"."wrap_help" or false); }
+      { "2.33.0"."vec_map" =
+        (f.clap."2.33.0"."vec_map" or false) ||
+        (f.clap."2.33.0".default or false) ||
+        (clap."2.33.0"."default" or false); }
+      { "2.33.0"."yaml" =
+        (f.clap."2.33.0"."yaml" or false) ||
+        (f.clap."2.33.0".doc or false) ||
+        (clap."2.33.0"."doc" or false); }
+      { "2.33.0"."yaml-rust" =
+        (f.clap."2.33.0"."yaml-rust" or false) ||
+        (f.clap."2.33.0".yaml or false) ||
+        (clap."2.33.0"."yaml" or false); }
+      { "2.33.0".default = (f.clap."2.33.0".default or true); }
+    ];
+    strsim."${deps.clap."2.33.0".strsim}".default = true;
+    textwrap = fold recursiveUpdate {} [
+      { "${deps.clap."2.33.0".textwrap}"."term_size" =
+        (f.textwrap."${deps.clap."2.33.0".textwrap}"."term_size" or false) ||
+        (clap."2.33.0"."wrap_help" or false) ||
+        (f."clap"."2.33.0"."wrap_help" or false); }
+      { "${deps.clap."2.33.0".textwrap}".default = true; }
+    ];
+    unicode_width."${deps.clap."2.33.0".unicode_width}".default = true;
+    vec_map."${deps.clap."2.33.0".vec_map}".default = true;
+  }) [
+    (features_.atty."${deps."clap"."2.33.0"."atty"}" deps)
+    (features_.bitflags."${deps."clap"."2.33.0"."bitflags"}" deps)
+    (features_.strsim."${deps."clap"."2.33.0"."strsim"}" deps)
+    (features_.textwrap."${deps."clap"."2.33.0"."textwrap"}" deps)
+    (features_.unicode_width."${deps."clap"."2.33.0"."unicode_width"}" deps)
+    (features_.vec_map."${deps."clap"."2.33.0"."vec_map"}" deps)
+    (features_.ansi_term."${deps."clap"."2.33.0"."ansi_term"}" deps)
+  ];
+
+
+# end
+# commoncrypto-0.2.0
+
+  crates.commoncrypto."0.2.0" = deps: { features?(features_.commoncrypto."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "commoncrypto";
+    version = "0.2.0";
+    description = "Idiomatic Rust wrappers for Mac OS X's CommonCrypto library";
+    authors = [ "Mark Lee" ];
+    sha256 = "1ywgmv5ai4f6yskr3wv3j1wzfsdm9km8j8lm4x4j5ccln5362xdf";
+    dependencies = mapFeatures features ([
+      (crates."commoncrypto_sys"."${deps."commoncrypto"."0.2.0"."commoncrypto_sys"}" deps)
+    ]);
+    features = mkFeatures (features."commoncrypto"."0.2.0" or {});
+  };
+  features_.commoncrypto."0.2.0" = deps: f: updateFeatures f (rec {
+    commoncrypto = fold recursiveUpdate {} [
+      { "0.2.0"."clippy" =
+        (f.commoncrypto."0.2.0"."clippy" or false) ||
+        (f.commoncrypto."0.2.0".lint or false) ||
+        (commoncrypto."0.2.0"."lint" or false); }
+      { "0.2.0".default = (f.commoncrypto."0.2.0".default or true); }
+    ];
+    commoncrypto_sys."${deps.commoncrypto."0.2.0".commoncrypto_sys}".default = true;
+  }) [
+    (features_.commoncrypto_sys."${deps."commoncrypto"."0.2.0"."commoncrypto_sys"}" deps)
+  ];
+
+
+# end
+# commoncrypto-sys-0.2.0
+
+  crates.commoncrypto_sys."0.2.0" = deps: { features?(features_.commoncrypto_sys."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "commoncrypto-sys";
+    version = "0.2.0";
+    description = "FFI bindings to Mac OS X's CommonCrypto library";
+    authors = [ "Mark Lee" ];
+    sha256 = "001i2g7xbfi48r2xjgxwrgjjjf00x9c24vfrs3g6p2q2djhwww4i";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."commoncrypto_sys"."0.2.0"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."commoncrypto_sys"."0.2.0" or {});
+  };
+  features_.commoncrypto_sys."0.2.0" = deps: f: updateFeatures f (rec {
+    commoncrypto_sys = fold recursiveUpdate {} [
+      { "0.2.0"."clippy" =
+        (f.commoncrypto_sys."0.2.0"."clippy" or false) ||
+        (f.commoncrypto_sys."0.2.0".lint or false) ||
+        (commoncrypto_sys."0.2.0"."lint" or false); }
+      { "0.2.0".default = (f.commoncrypto_sys."0.2.0".default or true); }
+    ];
+    libc."${deps.commoncrypto_sys."0.2.0".libc}".default = true;
+  }) [
+    (features_.libc."${deps."commoncrypto_sys"."0.2.0"."libc"}" deps)
+  ];
+
+
+# end
+# core-foundation-0.6.4
+
+  crates.core_foundation."0.6.4" = deps: { features?(features_.core_foundation."0.6.4" deps {}) }: buildRustCrate {
+    crateName = "core-foundation";
+    version = "0.6.4";
+    description = "Bindings to Core Foundation for macOS";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "1kabsqxh01m6l2b1gz8wgn0d1k6fyczww9kaks0sbmsz5g78ngzx";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation_sys"."${deps."core_foundation"."0.6.4"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."core_foundation"."0.6.4"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."core_foundation"."0.6.4" or {});
+  };
+  features_.core_foundation."0.6.4" = deps: f: updateFeatures f (rec {
+    core_foundation = fold recursiveUpdate {} [
+      { "0.6.4"."chrono" =
+        (f.core_foundation."0.6.4"."chrono" or false) ||
+        (f.core_foundation."0.6.4".with-chrono or false) ||
+        (core_foundation."0.6.4"."with-chrono" or false); }
+      { "0.6.4"."uuid" =
+        (f.core_foundation."0.6.4"."uuid" or false) ||
+        (f.core_foundation."0.6.4".with-uuid or false) ||
+        (core_foundation."0.6.4"."with-uuid" or false); }
+      { "0.6.4".default = (f.core_foundation."0.6.4".default or true); }
+    ];
+    core_foundation_sys = fold recursiveUpdate {} [
+      { "${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_7_support" =
+        (f.core_foundation_sys."${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_7_support" or false) ||
+        (core_foundation."0.6.4"."mac_os_10_7_support" or false) ||
+        (f."core_foundation"."0.6.4"."mac_os_10_7_support" or false); }
+      { "${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_8_features" =
+        (f.core_foundation_sys."${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_8_features" or false) ||
+        (core_foundation."0.6.4"."mac_os_10_8_features" or false) ||
+        (f."core_foundation"."0.6.4"."mac_os_10_8_features" or false); }
+      { "${deps.core_foundation."0.6.4".core_foundation_sys}".default = true; }
+    ];
+    libc."${deps.core_foundation."0.6.4".libc}".default = true;
+  }) [
+    (features_.core_foundation_sys."${deps."core_foundation"."0.6.4"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."core_foundation"."0.6.4"."libc"}" deps)
+  ];
+
+
+# end
+# core-foundation-sys-0.6.2
+
+  crates.core_foundation_sys."0.6.2" = deps: { features?(features_.core_foundation_sys."0.6.2" deps {}) }: buildRustCrate {
+    crateName = "core-foundation-sys";
+    version = "0.6.2";
+    description = "Bindings to Core Foundation for OS X";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "1n2v6wlqkmqwhl7k6y50irx51p37xb0fcm3njbman82gnyq8di2c";
+    build = "build.rs";
+    features = mkFeatures (features."core_foundation_sys"."0.6.2" or {});
+  };
+  features_.core_foundation_sys."0.6.2" = deps: f: updateFeatures f (rec {
+    core_foundation_sys."0.6.2".default = (f.core_foundation_sys."0.6.2".default or true);
+  }) [];
+
+
+# end
+# crates-io-0.23.0
+
+  crates.crates_io."0.23.0" = deps: { features?(features_.crates_io."0.23.0" deps {}) }: buildRustCrate {
+    crateName = "crates-io";
+    version = "0.23.0";
+    description = "Helpers for interacting with crates.io\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    edition = "2018";
+    sha256 = "0yf7zhlqnyci12rl9x6xrwlcp8slf8ldfn3d72ad6j2hyp2cb59y";
+    libPath = "lib.rs";
+    libName = "crates_io";
+    dependencies = mapFeatures features ([
+      (crates."curl"."${deps."crates_io"."0.23.0"."curl"}" deps)
+      (crates."failure"."${deps."crates_io"."0.23.0"."failure"}" deps)
+      (crates."http"."${deps."crates_io"."0.23.0"."http"}" deps)
+      (crates."serde"."${deps."crates_io"."0.23.0"."serde"}" deps)
+      (crates."serde_derive"."${deps."crates_io"."0.23.0"."serde_derive"}" deps)
+      (crates."serde_json"."${deps."crates_io"."0.23.0"."serde_json"}" deps)
+      (crates."url"."${deps."crates_io"."0.23.0"."url"}" deps)
+    ]);
+  };
+  features_.crates_io."0.23.0" = deps: f: updateFeatures f (rec {
+    crates_io."0.23.0".default = (f.crates_io."0.23.0".default or true);
+    curl."${deps.crates_io."0.23.0".curl}".default = true;
+    failure."${deps.crates_io."0.23.0".failure}".default = true;
+    http."${deps.crates_io."0.23.0".http}".default = true;
+    serde = fold recursiveUpdate {} [
+      { "${deps.crates_io."0.23.0".serde}"."derive" = true; }
+      { "${deps.crates_io."0.23.0".serde}".default = true; }
+    ];
+    serde_derive."${deps.crates_io."0.23.0".serde_derive}".default = true;
+    serde_json."${deps.crates_io."0.23.0".serde_json}".default = true;
+    url."${deps.crates_io."0.23.0".url}".default = true;
+  }) [
+    (features_.curl."${deps."crates_io"."0.23.0"."curl"}" deps)
+    (features_.failure."${deps."crates_io"."0.23.0"."failure"}" deps)
+    (features_.http."${deps."crates_io"."0.23.0"."http"}" deps)
+    (features_.serde."${deps."crates_io"."0.23.0"."serde"}" deps)
+    (features_.serde_derive."${deps."crates_io"."0.23.0"."serde_derive"}" deps)
+    (features_.serde_json."${deps."crates_io"."0.23.0"."serde_json"}" deps)
+    (features_.url."${deps."crates_io"."0.23.0"."url"}" deps)
+  ];
+
+
+# end
+# crc-1.8.1
+
+  crates.crc."1.8.1" = deps: { features?(features_.crc."1.8.1" deps {}) }: buildRustCrate {
+    crateName = "crc";
+    version = "1.8.1";
+    description = "Rust implementation of CRC(16, 32, 64) with support of various standards";
+    authors = [ "Rui Hu <code@mrhooray.com>" ];
+    sha256 = "00m9jjqrddp3bqyanvyxv0hf6s56bx1wy51vcdcxg4n2jdhg109s";
+
+    buildDependencies = mapFeatures features ([
+      (crates."build_const"."${deps."crc"."1.8.1"."build_const"}" deps)
+    ]);
+    features = mkFeatures (features."crc"."1.8.1" or {});
+  };
+  features_.crc."1.8.1" = deps: f: updateFeatures f (rec {
+    build_const."${deps.crc."1.8.1".build_const}".default = true;
+    crc = fold recursiveUpdate {} [
+      { "1.8.1"."std" =
+        (f.crc."1.8.1"."std" or false) ||
+        (f.crc."1.8.1".default or false) ||
+        (crc."1.8.1"."default" or false); }
+      { "1.8.1".default = (f.crc."1.8.1".default or true); }
+    ];
+  }) [
+    (features_.build_const."${deps."crc"."1.8.1"."build_const"}" deps)
+  ];
+
+
+# end
+# crc32fast-1.2.0
+
+  crates.crc32fast."1.2.0" = deps: { features?(features_.crc32fast."1.2.0" deps {}) }: buildRustCrate {
+    crateName = "crc32fast";
+    version = "1.2.0";
+    description = "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation";
+    authors = [ "Sam Rijs <srijs@airpost.net>" "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1mx88ndqln6vzg7hjhjp8b7g0qggpqggsjrlsdqrfsrbpdzffcn8";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."crc32fast"."1.2.0"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."crc32fast"."1.2.0" or {});
+  };
+  features_.crc32fast."1.2.0" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.crc32fast."1.2.0".cfg_if}".default = true;
+    crc32fast = fold recursiveUpdate {} [
+      { "1.2.0"."std" =
+        (f.crc32fast."1.2.0"."std" or false) ||
+        (f.crc32fast."1.2.0".default or false) ||
+        (crc32fast."1.2.0"."default" or false); }
+      { "1.2.0".default = (f.crc32fast."1.2.0".default or true); }
+    ];
+  }) [
+    (features_.cfg_if."${deps."crc32fast"."1.2.0"."cfg_if"}" deps)
+  ];
+
+
+# end
+# crossbeam-channel-0.3.8
+
+  crates.crossbeam_channel."0.3.8" = deps: { features?(features_.crossbeam_channel."0.3.8" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-channel";
+    version = "0.3.8";
+    description = "Multi-producer multi-consumer channels for message passing";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "0apm8why2qsgr8ykh9x677kc9ml7qp71mvirfkdzdn4c1jyqyyzm";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_utils"."${deps."crossbeam_channel"."0.3.8"."crossbeam_utils"}" deps)
+      (crates."smallvec"."${deps."crossbeam_channel"."0.3.8"."smallvec"}" deps)
+    ]);
+  };
+  features_.crossbeam_channel."0.3.8" = deps: f: updateFeatures f (rec {
+    crossbeam_channel."0.3.8".default = (f.crossbeam_channel."0.3.8".default or true);
+    crossbeam_utils."${deps.crossbeam_channel."0.3.8".crossbeam_utils}".default = true;
+    smallvec."${deps.crossbeam_channel."0.3.8".smallvec}".default = true;
+  }) [
+    (features_.crossbeam_utils."${deps."crossbeam_channel"."0.3.8"."crossbeam_utils"}" deps)
+    (features_.smallvec."${deps."crossbeam_channel"."0.3.8"."smallvec"}" deps)
+  ];
+
+
+# end
+# crossbeam-utils-0.6.5
+
+  crates.crossbeam_utils."0.6.5" = deps: { features?(features_.crossbeam_utils."0.6.5" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-utils";
+    version = "0.6.5";
+    description = "Utilities for concurrent programming";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "1z7wgcl9d22r2x6769r5945rnwf3jqfrrmb16q7kzk292r1d4rdg";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."crossbeam_utils"."0.6.5"."cfg_if"}" deps)
+    ]
+      ++ (if features.crossbeam_utils."0.6.5".lazy_static or false then [ (crates.lazy_static."${deps."crossbeam_utils"."0.6.5".lazy_static}" deps) ] else []));
+    features = mkFeatures (features."crossbeam_utils"."0.6.5" or {});
+  };
+  features_.crossbeam_utils."0.6.5" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.crossbeam_utils."0.6.5".cfg_if}".default = true;
+    crossbeam_utils = fold recursiveUpdate {} [
+      { "0.6.5"."lazy_static" =
+        (f.crossbeam_utils."0.6.5"."lazy_static" or false) ||
+        (f.crossbeam_utils."0.6.5".std or false) ||
+        (crossbeam_utils."0.6.5"."std" or false); }
+      { "0.6.5"."std" =
+        (f.crossbeam_utils."0.6.5"."std" or false) ||
+        (f.crossbeam_utils."0.6.5".default or false) ||
+        (crossbeam_utils."0.6.5"."default" or false); }
+      { "0.6.5".default = (f.crossbeam_utils."0.6.5".default or true); }
+    ];
+    lazy_static."${deps.crossbeam_utils."0.6.5".lazy_static}".default = true;
+  }) [
+    (features_.cfg_if."${deps."crossbeam_utils"."0.6.5"."cfg_if"}" deps)
+    (features_.lazy_static."${deps."crossbeam_utils"."0.6.5"."lazy_static"}" deps)
+  ];
+
+
+# end
+# crypto-hash-0.3.3
+
+  crates.crypto_hash."0.3.3" = deps: { features?(features_.crypto_hash."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "crypto-hash";
+    version = "0.3.3";
+    description = "A wrapper for OS-level cryptographic hash functions";
+    authors = [ "Mark Lee" ];
+    sha256 = "0ybl3q06snf0p0w5c743yipf1gyhim2z0yqczgdhclfmzgj4gxqy";
+    dependencies = mapFeatures features ([
+      (crates."hex"."${deps."crypto_hash"."0.3.3"."hex"}" deps)
+    ])
+      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([
+      (crates."commoncrypto"."${deps."crypto_hash"."0.3.3"."commoncrypto"}" deps)
+    ]) else [])
+      ++ (if !(kernel == "windows" || kernel == "darwin" || kernel == "ios") then mapFeatures features ([
+      (crates."openssl"."${deps."crypto_hash"."0.3.3"."openssl"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."crypto_hash"."0.3.3"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.crypto_hash."0.3.3" = deps: f: updateFeatures f (rec {
+    commoncrypto."${deps.crypto_hash."0.3.3".commoncrypto}".default = true;
+    crypto_hash."0.3.3".default = (f.crypto_hash."0.3.3".default or true);
+    hex."${deps.crypto_hash."0.3.3".hex}".default = true;
+    openssl."${deps.crypto_hash."0.3.3".openssl}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.crypto_hash."0.3.3".winapi}"."minwindef" = true; }
+      { "${deps.crypto_hash."0.3.3".winapi}"."wincrypt" = true; }
+      { "${deps.crypto_hash."0.3.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.hex."${deps."crypto_hash"."0.3.3"."hex"}" deps)
+    (features_.commoncrypto."${deps."crypto_hash"."0.3.3"."commoncrypto"}" deps)
+    (features_.openssl."${deps."crypto_hash"."0.3.3"."openssl"}" deps)
+    (features_.winapi."${deps."crypto_hash"."0.3.3"."winapi"}" deps)
+  ];
+
+
+# end
+# curl-0.4.21
+
+  crates.curl."0.4.21" = deps: { features?(features_.curl."0.4.21" deps {}) }: buildRustCrate {
+    crateName = "curl";
+    version = "0.4.21";
+    description = "Rust bindings to libcurl for making HTTP requests";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1n13h0scc4s77ryf3w19n3myh4k1ls4bfxrx6y6ffvayjfnh13qy";
+    dependencies = mapFeatures features ([
+      (crates."curl_sys"."${deps."curl"."0.4.21"."curl_sys"}" deps)
+      (crates."libc"."${deps."curl"."0.4.21"."libc"}" deps)
+      (crates."socket2"."${deps."curl"."0.4.21"."socket2"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.curl."0.4.21".openssl-probe or false then [ (crates.openssl_probe."${deps."curl"."0.4.21".openssl_probe}" deps) ] else [])
+      ++ (if features.curl."0.4.21".openssl-sys or false then [ (crates.openssl_sys."${deps."curl"."0.4.21".openssl_sys}" deps) ] else [])) else [])
+      ++ (if abi == "msvc" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."curl"."0.4.21"."kernel32_sys"}" deps)
+      (crates."schannel"."${deps."curl"."0.4.21"."schannel"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."curl"."0.4.21"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."curl"."0.4.21" or {});
+  };
+  features_.curl."0.4.21" = deps: f: updateFeatures f (rec {
+    curl = fold recursiveUpdate {} [
+      { "0.4.21"."openssl-probe" =
+        (f.curl."0.4.21"."openssl-probe" or false) ||
+        (f.curl."0.4.21".ssl or false) ||
+        (curl."0.4.21"."ssl" or false); }
+      { "0.4.21"."openssl-sys" =
+        (f.curl."0.4.21"."openssl-sys" or false) ||
+        (f.curl."0.4.21".ssl or false) ||
+        (curl."0.4.21"."ssl" or false); }
+      { "0.4.21"."ssl" =
+        (f.curl."0.4.21"."ssl" or false) ||
+        (f.curl."0.4.21".default or false) ||
+        (curl."0.4.21"."default" or false); }
+      { "0.4.21".default = (f.curl."0.4.21".default or true); }
+    ];
+    curl_sys = fold recursiveUpdate {} [
+      { "${deps.curl."0.4.21".curl_sys}"."force-system-lib-on-osx" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."force-system-lib-on-osx" or false) ||
+        (curl."0.4.21"."force-system-lib-on-osx" or false) ||
+        (f."curl"."0.4.21"."force-system-lib-on-osx" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."http2" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."http2" or false) ||
+        (curl."0.4.21"."http2" or false) ||
+        (f."curl"."0.4.21"."http2" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."ssl" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."ssl" or false) ||
+        (curl."0.4.21"."ssl" or false) ||
+        (f."curl"."0.4.21"."ssl" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."static-curl" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."static-curl" or false) ||
+        (curl."0.4.21"."static-curl" or false) ||
+        (f."curl"."0.4.21"."static-curl" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."static-ssl" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."static-ssl" or false) ||
+        (curl."0.4.21"."static-ssl" or false) ||
+        (f."curl"."0.4.21"."static-ssl" or false); }
+      { "${deps.curl."0.4.21".curl_sys}".default = (f.curl_sys."${deps.curl."0.4.21".curl_sys}".default or false); }
+    ];
+    kernel32_sys."${deps.curl."0.4.21".kernel32_sys}".default = true;
+    libc."${deps.curl."0.4.21".libc}".default = true;
+    openssl_probe."${deps.curl."0.4.21".openssl_probe}".default = true;
+    openssl_sys."${deps.curl."0.4.21".openssl_sys}".default = true;
+    schannel."${deps.curl."0.4.21".schannel}".default = true;
+    socket2."${deps.curl."0.4.21".socket2}".default = true;
+    winapi."${deps.curl."0.4.21".winapi}".default = true;
+  }) [
+    (features_.curl_sys."${deps."curl"."0.4.21"."curl_sys"}" deps)
+    (features_.libc."${deps."curl"."0.4.21"."libc"}" deps)
+    (features_.socket2."${deps."curl"."0.4.21"."socket2"}" deps)
+    (features_.openssl_probe."${deps."curl"."0.4.21"."openssl_probe"}" deps)
+    (features_.openssl_sys."${deps."curl"."0.4.21"."openssl_sys"}" deps)
+    (features_.kernel32_sys."${deps."curl"."0.4.21"."kernel32_sys"}" deps)
+    (features_.schannel."${deps."curl"."0.4.21"."schannel"}" deps)
+    (features_.winapi."${deps."curl"."0.4.21"."winapi"}" deps)
+  ];
+
+
+# end
+# curl-sys-0.4.18
+
+  crates.curl_sys."0.4.18" = deps: { features?(features_.curl_sys."0.4.18" deps {}) }: buildRustCrate {
+    crateName = "curl-sys";
+    version = "0.4.18";
+    description = "Native bindings to the libcurl library";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1y9qglyirlxhp62gh5vlzpq67jw7cyccvsajvmj30dv1sn7cn3vk";
+    libPath = "lib.rs";
+    libName = "curl_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."curl_sys"."0.4.18"."libc"}" deps)
+      (crates."libz_sys"."${deps."curl_sys"."0.4.18"."libz_sys"}" deps)
+    ]
+      ++ (if features.curl_sys."0.4.18".libnghttp2-sys or false then [ (crates.libnghttp2_sys."${deps."curl_sys"."0.4.18".libnghttp2_sys}" deps) ] else []))
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.curl_sys."0.4.18".openssl-sys or false then [ (crates.openssl_sys."${deps."curl_sys"."0.4.18".openssl_sys}" deps) ] else [])) else [])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."curl_sys"."0.4.18"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."curl_sys"."0.4.18"."cc"}" deps)
+      (crates."pkg_config"."${deps."curl_sys"."0.4.18"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."curl_sys"."0.4.18" or {});
+  };
+  features_.curl_sys."0.4.18" = deps: f: updateFeatures f (rec {
+    cc."${deps.curl_sys."0.4.18".cc}".default = true;
+    curl_sys = fold recursiveUpdate {} [
+      { "0.4.18"."libnghttp2-sys" =
+        (f.curl_sys."0.4.18"."libnghttp2-sys" or false) ||
+        (f.curl_sys."0.4.18".http2 or false) ||
+        (curl_sys."0.4.18"."http2" or false); }
+      { "0.4.18"."openssl-sys" =
+        (f.curl_sys."0.4.18"."openssl-sys" or false) ||
+        (f.curl_sys."0.4.18".ssl or false) ||
+        (curl_sys."0.4.18"."ssl" or false); }
+      { "0.4.18"."ssl" =
+        (f.curl_sys."0.4.18"."ssl" or false) ||
+        (f.curl_sys."0.4.18".default or false) ||
+        (curl_sys."0.4.18"."default" or false); }
+      { "0.4.18".default = (f.curl_sys."0.4.18".default or true); }
+    ];
+    libc."${deps.curl_sys."0.4.18".libc}".default = true;
+    libnghttp2_sys."${deps.curl_sys."0.4.18".libnghttp2_sys}".default = true;
+    libz_sys."${deps.curl_sys."0.4.18".libz_sys}".default = true;
+    openssl_sys."${deps.curl_sys."0.4.18".openssl_sys}".default = true;
+    pkg_config."${deps.curl_sys."0.4.18".pkg_config}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.curl_sys."0.4.18".winapi}"."winsock2" = true; }
+      { "${deps.curl_sys."0.4.18".winapi}"."ws2def" = true; }
+      { "${deps.curl_sys."0.4.18".winapi}".default = true; }
+    ];
+  }) [
+    (features_.libc."${deps."curl_sys"."0.4.18"."libc"}" deps)
+    (features_.libnghttp2_sys."${deps."curl_sys"."0.4.18"."libnghttp2_sys"}" deps)
+    (features_.libz_sys."${deps."curl_sys"."0.4.18"."libz_sys"}" deps)
+    (features_.cc."${deps."curl_sys"."0.4.18"."cc"}" deps)
+    (features_.pkg_config."${deps."curl_sys"."0.4.18"."pkg_config"}" deps)
+    (features_.openssl_sys."${deps."curl_sys"."0.4.18"."openssl_sys"}" deps)
+    (features_.winapi."${deps."curl_sys"."0.4.18"."winapi"}" deps)
+  ];
+
+
+# end
+# docopt-1.1.0
+
+  crates.docopt."1.1.0" = deps: { features?(features_.docopt."1.1.0" deps {}) }: buildRustCrate {
+    crateName = "docopt";
+    version = "1.1.0";
+    description = "Command line argument parsing.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    edition = "2018";
+    sha256 = "1xjvfw8398qcxwhdmak1bw2j6zn125ch24dmrmghv50vnlbb997x";
+    crateBin =
+      [{  name = "docopt-wordlist";  path = "src/wordlist.rs"; }];
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."docopt"."1.1.0"."lazy_static"}" deps)
+      (crates."regex"."${deps."docopt"."1.1.0"."regex"}" deps)
+      (crates."serde"."${deps."docopt"."1.1.0"."serde"}" deps)
+      (crates."strsim"."${deps."docopt"."1.1.0"."strsim"}" deps)
+    ]);
+  };
+  features_.docopt."1.1.0" = deps: f: updateFeatures f (rec {
+    docopt."1.1.0".default = (f.docopt."1.1.0".default or true);
+    lazy_static."${deps.docopt."1.1.0".lazy_static}".default = true;
+    regex."${deps.docopt."1.1.0".regex}".default = true;
+    serde = fold recursiveUpdate {} [
+      { "${deps.docopt."1.1.0".serde}"."derive" = true; }
+      { "${deps.docopt."1.1.0".serde}".default = true; }
+    ];
+    strsim."${deps.docopt."1.1.0".strsim}".default = true;
+  }) [
+    (features_.lazy_static."${deps."docopt"."1.1.0"."lazy_static"}" deps)
+    (features_.regex."${deps."docopt"."1.1.0"."regex"}" deps)
+    (features_.serde."${deps."docopt"."1.1.0"."serde"}" deps)
+    (features_.strsim."${deps."docopt"."1.1.0"."strsim"}" deps)
+  ];
+
+
+# end
+# either-1.5.2
+
+  crates.either."1.5.2" = deps: { features?(features_.either."1.5.2" deps {}) }: buildRustCrate {
+    crateName = "either";
+    version = "1.5.2";
+    description = "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.\n";
+    authors = [ "bluss" ];
+    sha256 = "1zqq1057c51f53ga4p9l4dd8ax6md27h1xjrjp2plkvml5iymks5";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."either"."1.5.2" or {});
+  };
+  features_.either."1.5.2" = deps: f: updateFeatures f (rec {
+    either = fold recursiveUpdate {} [
+      { "1.5.2"."use_std" =
+        (f.either."1.5.2"."use_std" or false) ||
+        (f.either."1.5.2".default or false) ||
+        (either."1.5.2"."default" or false); }
+      { "1.5.2".default = (f.either."1.5.2".default or true); }
+    ];
+  }) [];
+
+
+# end
+# filetime-0.2.4
+
+  crates.filetime."0.2.4" = deps: { features?(features_.filetime."0.2.4" deps {}) }: buildRustCrate {
+    crateName = "filetime";
+    version = "0.2.4";
+    description = "Platform-agnostic accessors of timestamps in File metadata\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1lsc0qjihr8y56rlzdcldzr0nbljm8qqi691msgwhy6wrkawwx5d";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."filetime"."0.2.4"."cfg_if"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."filetime"."0.2.4"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."filetime"."0.2.4"."libc"}" deps)
+    ]) else []);
+  };
+  features_.filetime."0.2.4" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.filetime."0.2.4".cfg_if}".default = true;
+    filetime."0.2.4".default = (f.filetime."0.2.4".default or true);
+    libc."${deps.filetime."0.2.4".libc}".default = true;
+    redox_syscall."${deps.filetime."0.2.4".redox_syscall}".default = true;
+  }) [
+    (features_.cfg_if."${deps."filetime"."0.2.4"."cfg_if"}" deps)
+    (features_.redox_syscall."${deps."filetime"."0.2.4"."redox_syscall"}" deps)
+    (features_.libc."${deps."filetime"."0.2.4"."libc"}" deps)
+  ];
+
+
+# end
+# flate2-1.0.7
+
+  crates.flate2."1.0.7" = deps: { features?(features_.flate2."1.0.7" deps {}) }: buildRustCrate {
+    crateName = "flate2";
+    version = "1.0.7";
+    description = "Bindings to miniz.c for DEFLATE compression and decompression exposed as\nReader/Writer streams. Contains bindings for zlib, deflate, and gzip-based\nstreams.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "012vi948sap09hm1nmd228fqn7i5kp6wfb9zlz0m8ysq5if1s9mc";
+    dependencies = mapFeatures features ([
+      (crates."crc32fast"."${deps."flate2"."1.0.7"."crc32fast"}" deps)
+      (crates."libc"."${deps."flate2"."1.0.7"."libc"}" deps)
+    ]
+      ++ (if features.flate2."1.0.7".libz-sys or false then [ (crates.libz_sys."${deps."flate2"."1.0.7".libz_sys}" deps) ] else [])
+      ++ (if features.flate2."1.0.7".miniz-sys or false then [ (crates.miniz_sys."${deps."flate2"."1.0.7".miniz_sys}" deps) ] else [])
+      ++ (if features.flate2."1.0.7".miniz_oxide_c_api or false then [ (crates.miniz_oxide_c_api."${deps."flate2"."1.0.7".miniz_oxide_c_api}" deps) ] else []))
+      ++ (if cpu == "wasm32" && !(kernel == "emscripten") then mapFeatures features ([
+      (crates."miniz_oxide_c_api"."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps)
+    ]) else []);
+    features = mkFeatures (features."flate2"."1.0.7" or {});
+  };
+  features_.flate2."1.0.7" = deps: f: updateFeatures f (rec {
+    crc32fast."${deps.flate2."1.0.7".crc32fast}".default = true;
+    flate2 = fold recursiveUpdate {} [
+      { "1.0.7"."futures" =
+        (f.flate2."1.0.7"."futures" or false) ||
+        (f.flate2."1.0.7".tokio or false) ||
+        (flate2."1.0.7"."tokio" or false); }
+      { "1.0.7"."libz-sys" =
+        (f.flate2."1.0.7"."libz-sys" or false) ||
+        (f.flate2."1.0.7".zlib or false) ||
+        (flate2."1.0.7"."zlib" or false); }
+      { "1.0.7"."miniz-sys" =
+        (f.flate2."1.0.7"."miniz-sys" or false) ||
+        (f.flate2."1.0.7".default or false) ||
+        (flate2."1.0.7"."default" or false); }
+      { "1.0.7"."miniz_oxide_c_api" =
+        (f.flate2."1.0.7"."miniz_oxide_c_api" or false) ||
+        (f.flate2."1.0.7".rust_backend or false) ||
+        (flate2."1.0.7"."rust_backend" or false); }
+      { "1.0.7"."tokio-io" =
+        (f.flate2."1.0.7"."tokio-io" or false) ||
+        (f.flate2."1.0.7".tokio or false) ||
+        (flate2."1.0.7"."tokio" or false); }
+      { "1.0.7".default = (f.flate2."1.0.7".default or true); }
+    ];
+    libc."${deps.flate2."1.0.7".libc}".default = true;
+    libz_sys."${deps.flate2."1.0.7".libz_sys}".default = true;
+    miniz_oxide_c_api = fold recursiveUpdate {} [
+      { "${deps.flate2."1.0.7".miniz_oxide_c_api}"."no_c_export" =
+        (f.miniz_oxide_c_api."${deps.flate2."1.0.7".miniz_oxide_c_api}"."no_c_export" or false) ||
+        true ||
+        true; }
+      { "${deps.flate2."1.0.7".miniz_oxide_c_api}".default = true; }
+    ];
+    miniz_sys."${deps.flate2."1.0.7".miniz_sys}".default = true;
+  }) [
+    (features_.crc32fast."${deps."flate2"."1.0.7"."crc32fast"}" deps)
+    (features_.libc."${deps."flate2"."1.0.7"."libc"}" deps)
+    (features_.libz_sys."${deps."flate2"."1.0.7"."libz_sys"}" deps)
+    (features_.miniz_sys."${deps."flate2"."1.0.7"."miniz_sys"}" deps)
+    (features_.miniz_oxide_c_api."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps)
+    (features_.miniz_oxide_c_api."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps)
+  ];
+
+
+# end
+# fnv-1.0.6
+
+  crates.fnv."1.0.6" = deps: { features?(features_.fnv."1.0.6" deps {}) }: buildRustCrate {
+    crateName = "fnv";
+    version = "1.0.6";
+    description = "Fowler–Noll–Vo hash function";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "128mlh23y3gg6ag5h8iiqlcbl59smisdzraqy88ldrf75kbw27ip";
+    libPath = "lib.rs";
+  };
+  features_.fnv."1.0.6" = deps: f: updateFeatures f (rec {
+    fnv."1.0.6".default = (f.fnv."1.0.6".default or true);
+  }) [];
+
+
+# end
+# foreign-types-0.3.2
+
+  crates.foreign_types."0.3.2" = deps: { features?(features_.foreign_types."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "foreign-types";
+    version = "0.3.2";
+    description = "A framework for Rust wrappers over C APIs";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "105n8sp2djb1s5lzrw04p7ss3dchr5qa3canmynx396nh3vwm2p8";
+    dependencies = mapFeatures features ([
+      (crates."foreign_types_shared"."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+    ]);
+  };
+  features_.foreign_types."0.3.2" = deps: f: updateFeatures f (rec {
+    foreign_types."0.3.2".default = (f.foreign_types."0.3.2".default or true);
+    foreign_types_shared."${deps.foreign_types."0.3.2".foreign_types_shared}".default = true;
+  }) [
+    (features_.foreign_types_shared."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+  ];
+
+
+# end
+# foreign-types-shared-0.1.1
+
+  crates.foreign_types_shared."0.1.1" = deps: { features?(features_.foreign_types_shared."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "foreign-types-shared";
+    version = "0.1.1";
+    description = "An internal crate used by foreign-types";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5";
+  };
+  features_.foreign_types_shared."0.1.1" = deps: f: updateFeatures f (rec {
+    foreign_types_shared."0.1.1".default = (f.foreign_types_shared."0.1.1".default or true);
+  }) [];
+
+
+# end
+# fs2-0.4.3
+
+  crates.fs2."0.4.3" = deps: { features?(features_.fs2."0.4.3" deps {}) }: buildRustCrate {
+    crateName = "fs2";
+    version = "0.4.3";
+    description = "Cross-platform file locks and file duplication.";
+    authors = [ "Dan Burkert <dan@danburkert.com>" ];
+    sha256 = "1crj36rhhpk3qby9yj7r77w7sld0mzab2yicmphbdkfymbmp3ldp";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."fs2"."0.4.3"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."fs2"."0.4.3"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.fs2."0.4.3" = deps: f: updateFeatures f (rec {
+    fs2."0.4.3".default = (f.fs2."0.4.3".default or true);
+    libc."${deps.fs2."0.4.3".libc}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.fs2."0.4.3".winapi}"."fileapi" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."handleapi" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."processthreadsapi" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."std" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."winbase" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."winerror" = true; }
+      { "${deps.fs2."0.4.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.libc."${deps."fs2"."0.4.3"."libc"}" deps)
+    (features_.winapi."${deps."fs2"."0.4.3"."winapi"}" deps)
+  ];
+
+
+# end
+# fwdansi-1.0.1
+
+  crates.fwdansi."1.0.1" = deps: { features?(features_.fwdansi."1.0.1" deps {}) }: buildRustCrate {
+    crateName = "fwdansi";
+    version = "1.0.1";
+    description = "Forwards a byte string with ANSI escape code to a termcolor terminal";
+    authors = [ "kennytm <kennytm@gmail.com>" ];
+    sha256 = "00mzclq1wx55p6x5xx4yhpj70vsrivk2w1wbzq8bnf6xnl2km0xn";
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."fwdansi"."1.0.1"."memchr"}" deps)
+      (crates."termcolor"."${deps."fwdansi"."1.0.1"."termcolor"}" deps)
+    ]);
+  };
+  features_.fwdansi."1.0.1" = deps: f: updateFeatures f (rec {
+    fwdansi."1.0.1".default = (f.fwdansi."1.0.1".default or true);
+    memchr."${deps.fwdansi."1.0.1".memchr}".default = true;
+    termcolor."${deps.fwdansi."1.0.1".termcolor}".default = true;
+  }) [
+    (features_.memchr."${deps."fwdansi"."1.0.1"."memchr"}" deps)
+    (features_.termcolor."${deps."fwdansi"."1.0.1"."termcolor"}" deps)
+  ];
+
+
+# end
+# git2-0.8.0
+
+  crates.git2."0.8.0" = deps: { features?(features_.git2."0.8.0" deps {}) }: buildRustCrate {
+    crateName = "git2";
+    version = "0.8.0";
+    description = "Bindings to libgit2 for interoperating with git repositories. This library is\nboth threadsafe and memory safe and allows both reading and writing git\nrepositories.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0nkzglhq7lrdzv23jakygv6h5kks2mdr7xh73chnr7bqdc36mi43";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."git2"."0.8.0"."bitflags"}" deps)
+      (crates."libc"."${deps."git2"."0.8.0"."libc"}" deps)
+      (crates."libgit2_sys"."${deps."git2"."0.8.0"."libgit2_sys"}" deps)
+      (crates."log"."${deps."git2"."0.8.0"."log"}" deps)
+      (crates."url"."${deps."git2"."0.8.0"."url"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.git2."0.8.0".openssl-probe or false then [ (crates.openssl_probe."${deps."git2"."0.8.0".openssl_probe}" deps) ] else [])
+      ++ (if features.git2."0.8.0".openssl-sys or false then [ (crates.openssl_sys."${deps."git2"."0.8.0".openssl_sys}" deps) ] else [])) else []);
+    features = mkFeatures (features."git2"."0.8.0" or {});
+  };
+  features_.git2."0.8.0" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.git2."0.8.0".bitflags}".default = true;
+    git2 = fold recursiveUpdate {} [
+      { "0.8.0"."curl" =
+        (f.git2."0.8.0"."curl" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0"."https" =
+        (f.git2."0.8.0"."https" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0"."openssl-probe" =
+        (f.git2."0.8.0"."openssl-probe" or false) ||
+        (f.git2."0.8.0".https or false) ||
+        (git2."0.8.0"."https" or false); }
+      { "0.8.0"."openssl-sys" =
+        (f.git2."0.8.0"."openssl-sys" or false) ||
+        (f.git2."0.8.0".https or false) ||
+        (git2."0.8.0"."https" or false); }
+      { "0.8.0"."ssh" =
+        (f.git2."0.8.0"."ssh" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0"."ssh_key_from_memory" =
+        (f.git2."0.8.0"."ssh_key_from_memory" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0".default = (f.git2."0.8.0".default or true); }
+    ];
+    libc."${deps.git2."0.8.0".libc}".default = true;
+    libgit2_sys = fold recursiveUpdate {} [
+      { "${deps.git2."0.8.0".libgit2_sys}"."curl" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."curl" or false) ||
+        (git2."0.8.0"."curl" or false) ||
+        (f."git2"."0.8.0"."curl" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}"."https" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."https" or false) ||
+        (git2."0.8.0"."https" or false) ||
+        (f."git2"."0.8.0"."https" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}"."ssh" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."ssh" or false) ||
+        (git2."0.8.0"."ssh" or false) ||
+        (f."git2"."0.8.0"."ssh" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}"."ssh_key_from_memory" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."ssh_key_from_memory" or false) ||
+        (git2."0.8.0"."ssh_key_from_memory" or false) ||
+        (f."git2"."0.8.0"."ssh_key_from_memory" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}".default = true; }
+    ];
+    log."${deps.git2."0.8.0".log}".default = true;
+    openssl_probe."${deps.git2."0.8.0".openssl_probe}".default = true;
+    openssl_sys."${deps.git2."0.8.0".openssl_sys}".default = true;
+    url."${deps.git2."0.8.0".url}".default = true;
+  }) [
+    (features_.bitflags."${deps."git2"."0.8.0"."bitflags"}" deps)
+    (features_.libc."${deps."git2"."0.8.0"."libc"}" deps)
+    (features_.libgit2_sys."${deps."git2"."0.8.0"."libgit2_sys"}" deps)
+    (features_.log."${deps."git2"."0.8.0"."log"}" deps)
+    (features_.url."${deps."git2"."0.8.0"."url"}" deps)
+    (features_.openssl_probe."${deps."git2"."0.8.0"."openssl_probe"}" deps)
+    (features_.openssl_sys."${deps."git2"."0.8.0"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# git2-curl-0.9.0
+
+  crates.git2_curl."0.9.0" = deps: { features?(features_.git2_curl."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "git2-curl";
+    version = "0.9.0";
+    description = "Backend for an HTTP transport in libgit2 powered by libcurl.\n\nIntended to be used with the git2 crate.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0m7bjx7pbrd7hiwwbazgigv9anici9jfwgzhp3q47smbwszdv2hh";
+    dependencies = mapFeatures features ([
+      (crates."curl"."${deps."git2_curl"."0.9.0"."curl"}" deps)
+      (crates."git2"."${deps."git2_curl"."0.9.0"."git2"}" deps)
+      (crates."log"."${deps."git2_curl"."0.9.0"."log"}" deps)
+      (crates."url"."${deps."git2_curl"."0.9.0"."url"}" deps)
+    ]);
+  };
+  features_.git2_curl."0.9.0" = deps: f: updateFeatures f (rec {
+    curl."${deps.git2_curl."0.9.0".curl}".default = true;
+    git2."${deps.git2_curl."0.9.0".git2}".default = (f.git2."${deps.git2_curl."0.9.0".git2}".default or false);
+    git2_curl."0.9.0".default = (f.git2_curl."0.9.0".default or true);
+    log."${deps.git2_curl."0.9.0".log}".default = true;
+    url."${deps.git2_curl."0.9.0".url}".default = true;
+  }) [
+    (features_.curl."${deps."git2_curl"."0.9.0"."curl"}" deps)
+    (features_.git2."${deps."git2_curl"."0.9.0"."git2"}" deps)
+    (features_.log."${deps."git2_curl"."0.9.0"."log"}" deps)
+    (features_.url."${deps."git2_curl"."0.9.0"."url"}" deps)
+  ];
+
+
+# end
+# glob-0.2.11
+
+  crates.glob."0.2.11" = deps: { features?(features_.glob."0.2.11" deps {}) }: buildRustCrate {
+    crateName = "glob";
+    version = "0.2.11";
+    description = "Support for matching file paths against Unix shell style patterns.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
+  };
+  features_.glob."0.2.11" = deps: f: updateFeatures f (rec {
+    glob."0.2.11".default = (f.glob."0.2.11".default or true);
+  }) [];
+
+
+# end
+# globset-0.4.3
+
+  crates.globset."0.4.3" = deps: { features?(features_.globset."0.4.3" deps {}) }: buildRustCrate {
+    crateName = "globset";
+    version = "0.4.3";
+    description = "Cross platform single glob and glob set matching. Glob set matching is the\nprocess of matching one or more glob patterns against a single candidate path\nsimultaneously, and returning all of the globs that matched.\n";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0vj99vw55mp7w44p1157f9c44q5lms6sn0mllhavwrwdn3iyfrij";
+    dependencies = mapFeatures features ([
+      (crates."aho_corasick"."${deps."globset"."0.4.3"."aho_corasick"}" deps)
+      (crates."bstr"."${deps."globset"."0.4.3"."bstr"}" deps)
+      (crates."fnv"."${deps."globset"."0.4.3"."fnv"}" deps)
+      (crates."log"."${deps."globset"."0.4.3"."log"}" deps)
+      (crates."regex"."${deps."globset"."0.4.3"."regex"}" deps)
+    ]);
+    features = mkFeatures (features."globset"."0.4.3" or {});
+  };
+  features_.globset."0.4.3" = deps: f: updateFeatures f (rec {
+    aho_corasick."${deps.globset."0.4.3".aho_corasick}".default = true;
+    bstr = fold recursiveUpdate {} [
+      { "${deps.globset."0.4.3".bstr}"."std" = true; }
+      { "${deps.globset."0.4.3".bstr}".default = (f.bstr."${deps.globset."0.4.3".bstr}".default or false); }
+    ];
+    fnv."${deps.globset."0.4.3".fnv}".default = true;
+    globset."0.4.3".default = (f.globset."0.4.3".default or true);
+    log."${deps.globset."0.4.3".log}".default = true;
+    regex."${deps.globset."0.4.3".regex}".default = true;
+  }) [
+    (features_.aho_corasick."${deps."globset"."0.4.3"."aho_corasick"}" deps)
+    (features_.bstr."${deps."globset"."0.4.3"."bstr"}" deps)
+    (features_.fnv."${deps."globset"."0.4.3"."fnv"}" deps)
+    (features_.log."${deps."globset"."0.4.3"."log"}" deps)
+    (features_.regex."${deps."globset"."0.4.3"."regex"}" deps)
+  ];
+
+
+# end
+# hashbrown-0.1.8
+
+  crates.hashbrown."0.1.8" = deps: { features?(features_.hashbrown."0.1.8" deps {}) }: buildRustCrate {
+    crateName = "hashbrown";
+    version = "0.1.8";
+    description = "A Rust port of Google's SwissTable hash map";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "047fk80pg59cdn5lz4h2a514fmgmya896dvy3dqqviia52a27fzh";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."hashbrown"."0.1.8"."byteorder"}" deps)
+      (crates."scopeguard"."${deps."hashbrown"."0.1.8"."scopeguard"}" deps)
+    ]);
+    features = mkFeatures (features."hashbrown"."0.1.8" or {});
+  };
+  features_.hashbrown."0.1.8" = deps: f: updateFeatures f (rec {
+    byteorder."${deps.hashbrown."0.1.8".byteorder}".default = (f.byteorder."${deps.hashbrown."0.1.8".byteorder}".default or false);
+    hashbrown."0.1.8".default = (f.hashbrown."0.1.8".default or true);
+    scopeguard."${deps.hashbrown."0.1.8".scopeguard}".default = (f.scopeguard."${deps.hashbrown."0.1.8".scopeguard}".default or false);
+  }) [
+    (features_.byteorder."${deps."hashbrown"."0.1.8"."byteorder"}" deps)
+    (features_.scopeguard."${deps."hashbrown"."0.1.8"."scopeguard"}" deps)
+  ];
+
+
+# end
+# hex-0.3.2
+
+  crates.hex."0.3.2" = deps: { features?(features_.hex."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "hex";
+    version = "0.3.2";
+    description = "Encoding and decoding data into/from hexadecimal representation.";
+    authors = [ "KokaKiwi <kokakiwi@kokakiwi.net>" ];
+    sha256 = "0hs0xfb4x67y4ss9mmbjmibkwakbn3xf23i21m409bw2zqk9b6kz";
+    features = mkFeatures (features."hex"."0.3.2" or {});
+  };
+  features_.hex."0.3.2" = deps: f: updateFeatures f (rec {
+    hex."0.3.2".default = (f.hex."0.3.2".default or true);
+  }) [];
+
+
+# end
+# home-0.3.4
+
+  crates.home."0.3.4" = deps: { features?(features_.home."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "home";
+    version = "0.3.4";
+    description = "Shared definitions of home directories";
+    authors = [ "Brian Anderson <andersrb@gmail.com>" ];
+    sha256 = "19fbzvv74wqxqpdlz6ri1p270i8hp17h8njjj68k98sgrabkcr0n";
+    dependencies = (if kernel == "windows" then mapFeatures features ([
+      (crates."scopeguard"."${deps."home"."0.3.4"."scopeguard"}" deps)
+      (crates."winapi"."${deps."home"."0.3.4"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.home."0.3.4" = deps: f: updateFeatures f (rec {
+    home."0.3.4".default = (f.home."0.3.4".default or true);
+    scopeguard."${deps.home."0.3.4".scopeguard}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.home."0.3.4".winapi}"."errhandlingapi" = true; }
+      { "${deps.home."0.3.4".winapi}"."handleapi" = true; }
+      { "${deps.home."0.3.4".winapi}"."processthreadsapi" = true; }
+      { "${deps.home."0.3.4".winapi}"."std" = true; }
+      { "${deps.home."0.3.4".winapi}"."userenv" = true; }
+      { "${deps.home."0.3.4".winapi}"."winerror" = true; }
+      { "${deps.home."0.3.4".winapi}"."winnt" = true; }
+      { "${deps.home."0.3.4".winapi}".default = true; }
+    ];
+  }) [
+    (features_.scopeguard."${deps."home"."0.3.4"."scopeguard"}" deps)
+    (features_.winapi."${deps."home"."0.3.4"."winapi"}" deps)
+  ];
+
+
+# end
+# http-0.1.17
+
+  crates.http."0.1.17" = deps: { features?(features_.http."0.1.17" deps {}) }: buildRustCrate {
+    crateName = "http";
+    version = "0.1.17";
+    description = "A set of types for representing HTTP requests and responses.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Carl Lerche <me@carllerche.com>" "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "0q71wgggg1h5kjyg1gb4m70g3ian9qwrkx2b9wwvfyafrkmjpg9c";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."http"."0.1.17"."bytes"}" deps)
+      (crates."fnv"."${deps."http"."0.1.17"."fnv"}" deps)
+      (crates."itoa"."${deps."http"."0.1.17"."itoa"}" deps)
+    ]);
+  };
+  features_.http."0.1.17" = deps: f: updateFeatures f (rec {
+    bytes."${deps.http."0.1.17".bytes}".default = true;
+    fnv."${deps.http."0.1.17".fnv}".default = true;
+    http."0.1.17".default = (f.http."0.1.17".default or true);
+    itoa."${deps.http."0.1.17".itoa}".default = true;
+  }) [
+    (features_.bytes."${deps."http"."0.1.17"."bytes"}" deps)
+    (features_.fnv."${deps."http"."0.1.17"."fnv"}" deps)
+    (features_.itoa."${deps."http"."0.1.17"."itoa"}" deps)
+  ];
+
+
+# end
+# ignore-0.4.7
+
+  crates.ignore."0.4.7" = deps: { features?(features_.ignore."0.4.7" deps {}) }: buildRustCrate {
+    crateName = "ignore";
+    version = "0.4.7";
+    description = "A fast library for efficiently matching ignore files such as `.gitignore`\nagainst file paths.\n";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "10ky0pnkzk6spa416sxvhcpc1nxq56n6mxkmhzy3ws57x9v75nkj";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_channel"."${deps."ignore"."0.4.7"."crossbeam_channel"}" deps)
+      (crates."globset"."${deps."ignore"."0.4.7"."globset"}" deps)
+      (crates."lazy_static"."${deps."ignore"."0.4.7"."lazy_static"}" deps)
+      (crates."log"."${deps."ignore"."0.4.7"."log"}" deps)
+      (crates."memchr"."${deps."ignore"."0.4.7"."memchr"}" deps)
+      (crates."regex"."${deps."ignore"."0.4.7"."regex"}" deps)
+      (crates."same_file"."${deps."ignore"."0.4.7"."same_file"}" deps)
+      (crates."thread_local"."${deps."ignore"."0.4.7"."thread_local"}" deps)
+      (crates."walkdir"."${deps."ignore"."0.4.7"."walkdir"}" deps)
+    ])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi_util"."${deps."ignore"."0.4.7"."winapi_util"}" deps)
+    ]) else []);
+    features = mkFeatures (features."ignore"."0.4.7" or {});
+  };
+  features_.ignore."0.4.7" = deps: f: updateFeatures f (rec {
+    crossbeam_channel."${deps.ignore."0.4.7".crossbeam_channel}".default = true;
+    globset = fold recursiveUpdate {} [
+      { "${deps.ignore."0.4.7".globset}"."simd-accel" =
+        (f.globset."${deps.ignore."0.4.7".globset}"."simd-accel" or false) ||
+        (ignore."0.4.7"."simd-accel" or false) ||
+        (f."ignore"."0.4.7"."simd-accel" or false); }
+      { "${deps.ignore."0.4.7".globset}".default = true; }
+    ];
+    ignore."0.4.7".default = (f.ignore."0.4.7".default or true);
+    lazy_static."${deps.ignore."0.4.7".lazy_static}".default = true;
+    log."${deps.ignore."0.4.7".log}".default = true;
+    memchr."${deps.ignore."0.4.7".memchr}".default = true;
+    regex."${deps.ignore."0.4.7".regex}".default = true;
+    same_file."${deps.ignore."0.4.7".same_file}".default = true;
+    thread_local."${deps.ignore."0.4.7".thread_local}".default = true;
+    walkdir."${deps.ignore."0.4.7".walkdir}".default = true;
+    winapi_util."${deps.ignore."0.4.7".winapi_util}".default = true;
+  }) [
+    (features_.crossbeam_channel."${deps."ignore"."0.4.7"."crossbeam_channel"}" deps)
+    (features_.globset."${deps."ignore"."0.4.7"."globset"}" deps)
+    (features_.lazy_static."${deps."ignore"."0.4.7"."lazy_static"}" deps)
+    (features_.log."${deps."ignore"."0.4.7"."log"}" deps)
+    (features_.memchr."${deps."ignore"."0.4.7"."memchr"}" deps)
+    (features_.regex."${deps."ignore"."0.4.7"."regex"}" deps)
+    (features_.same_file."${deps."ignore"."0.4.7"."same_file"}" deps)
+    (features_.thread_local."${deps."ignore"."0.4.7"."thread_local"}" deps)
+    (features_.walkdir."${deps."ignore"."0.4.7"."walkdir"}" deps)
+    (features_.winapi_util."${deps."ignore"."0.4.7"."winapi_util"}" deps)
+  ];
+
+
+# end
+# im-rc-12.3.4
+
+  crates.im_rc."12.3.4" = deps: { features?(features_.im_rc."12.3.4" deps {}) }: buildRustCrate {
+    crateName = "im-rc";
+    version = "12.3.4";
+    description = "Immutable collection datatypes (the fast but not thread safe version)";
+    authors = [ "Bodil Stokke <bodil@bodil.org>" ];
+    edition = "2018";
+    sha256 = "0l53vjm7ycccb0lxj1zpgvlik5rpngnf9gggvgb3jbdv2jxjkdhz";
+    libPath = "./src/lib.rs";
+    build = "./build.rs";
+    dependencies = mapFeatures features ([
+      (crates."sized_chunks"."${deps."im_rc"."12.3.4"."sized_chunks"}" deps)
+      (crates."typenum"."${deps."im_rc"."12.3.4"."typenum"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."im_rc"."12.3.4"."rustc_version"}" deps)
+    ]);
+  };
+  features_.im_rc."12.3.4" = deps: f: updateFeatures f (rec {
+    im_rc."12.3.4".default = (f.im_rc."12.3.4".default or true);
+    rustc_version."${deps.im_rc."12.3.4".rustc_version}".default = true;
+    sized_chunks."${deps.im_rc."12.3.4".sized_chunks}".default = true;
+    typenum."${deps.im_rc."12.3.4".typenum}".default = true;
+  }) [
+    (features_.sized_chunks."${deps."im_rc"."12.3.4"."sized_chunks"}" deps)
+    (features_.typenum."${deps."im_rc"."12.3.4"."typenum"}" deps)
+    (features_.rustc_version."${deps."im_rc"."12.3.4"."rustc_version"}" deps)
+  ];
+
+
+# end
+# iovec-0.1.2
+
+  crates.iovec."0.1.2" = deps: { features?(features_.iovec."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "iovec";
+    version = "0.1.2";
+    description = "Portable buffer type for scatter/gather I/O operations\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0vjymmb7wj4v4kza5jjn48fcdb85j3k37y7msjl3ifz0p9yiyp2r";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."iovec"."0.1.2"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."iovec"."0.1.2"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.iovec."0.1.2" = deps: f: updateFeatures f (rec {
+    iovec."0.1.2".default = (f.iovec."0.1.2".default or true);
+    libc."${deps.iovec."0.1.2".libc}".default = true;
+    winapi."${deps.iovec."0.1.2".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."iovec"."0.1.2"."libc"}" deps)
+    (features_.winapi."${deps."iovec"."0.1.2"."winapi"}" deps)
+  ];
+
+
+# end
+# itertools-0.7.11
+
+  crates.itertools."0.7.11" = deps: { features?(features_.itertools."0.7.11" deps {}) }: buildRustCrate {
+    crateName = "itertools";
+    version = "0.7.11";
+    description = "Extra iterator adaptors, iterator methods, free functions, and macros.";
+    authors = [ "bluss" ];
+    sha256 = "0gavmkvn2c3cwfwk5zl5p7saiqn4ww227am5ykn6pgfm7c6ppz56";
+    dependencies = mapFeatures features ([
+      (crates."either"."${deps."itertools"."0.7.11"."either"}" deps)
+    ]);
+    features = mkFeatures (features."itertools"."0.7.11" or {});
+  };
+  features_.itertools."0.7.11" = deps: f: updateFeatures f (rec {
+    either."${deps.itertools."0.7.11".either}".default = (f.either."${deps.itertools."0.7.11".either}".default or false);
+    itertools = fold recursiveUpdate {} [
+      { "0.7.11"."use_std" =
+        (f.itertools."0.7.11"."use_std" or false) ||
+        (f.itertools."0.7.11".default or false) ||
+        (itertools."0.7.11"."default" or false); }
+      { "0.7.11".default = (f.itertools."0.7.11".default or true); }
+    ];
+  }) [
+    (features_.either."${deps."itertools"."0.7.11"."either"}" deps)
+  ];
+
+
+# end
+# jobserver-0.1.13
+
+  crates.jobserver."0.1.13" = deps: { features?(features_.jobserver."0.1.13" deps {}) }: buildRustCrate {
+    crateName = "jobserver";
+    version = "0.1.13";
+    description = "An implementation of the GNU make jobserver for Rust\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "01h08h0k9i7cvlnlw53jf398d03k5kxrs7m30xl7h9s5dlw0vi9i";
+    dependencies = mapFeatures features ([
+      (crates."log"."${deps."jobserver"."0.1.13"."log"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."jobserver"."0.1.13"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."rand"."${deps."jobserver"."0.1.13"."rand"}" deps)
+    ]) else []);
+  };
+  features_.jobserver."0.1.13" = deps: f: updateFeatures f (rec {
+    jobserver."0.1.13".default = (f.jobserver."0.1.13".default or true);
+    libc."${deps.jobserver."0.1.13".libc}".default = true;
+    log."${deps.jobserver."0.1.13".log}".default = true;
+    rand."${deps.jobserver."0.1.13".rand}".default = true;
+  }) [
+    (features_.log."${deps."jobserver"."0.1.13"."log"}" deps)
+    (features_.libc."${deps."jobserver"."0.1.13"."libc"}" deps)
+    (features_.rand."${deps."jobserver"."0.1.13"."rand"}" deps)
+  ];
+
+
+# end
+# kernel32-sys-0.2.2
+
+  crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+    ]);
+  };
+  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f (rec {
+    kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
+    winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
+    winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
+  }) [
+    (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+  ];
+
+
+# end
+# lazycell-1.2.1
+
+  crates.lazycell."1.2.1" = deps: { features?(features_.lazycell."1.2.1" deps {}) }: buildRustCrate {
+    crateName = "lazycell";
+    version = "1.2.1";
+    description = "A library providing a lazily filled Cell struct";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Nikita Pekin <contact@nikitapek.in>" ];
+    sha256 = "1m4h2q9rgxrgc7xjnws1x81lrb68jll8w3pykx1a9bhr29q2mcwm";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazycell"."1.2.1" or {});
+  };
+  features_.lazycell."1.2.1" = deps: f: updateFeatures f (rec {
+    lazycell = fold recursiveUpdate {} [
+      { "1.2.1"."clippy" =
+        (f.lazycell."1.2.1"."clippy" or false) ||
+        (f.lazycell."1.2.1".nightly-testing or false) ||
+        (lazycell."1.2.1"."nightly-testing" or false); }
+      { "1.2.1"."nightly" =
+        (f.lazycell."1.2.1"."nightly" or false) ||
+        (f.lazycell."1.2.1".nightly-testing or false) ||
+        (lazycell."1.2.1"."nightly-testing" or false); }
+      { "1.2.1".default = (f.lazycell."1.2.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libc-0.2.51
+
+  crates.libc."0.2.51" = deps: { features?(features_.libc."0.2.51" deps {}) }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.51";
+    description = "Raw FFI bindings to platform libraries like libc.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1lzavxj1ymm7vghs6nmzq9shprdlqby73py9k30gwvv0dwy365cv";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."libc"."0.2.51" or {});
+  };
+  features_.libc."0.2.51" = deps: f: updateFeatures f (rec {
+    libc = fold recursiveUpdate {} [
+      { "0.2.51"."align" =
+        (f.libc."0.2.51"."align" or false) ||
+        (f.libc."0.2.51".rustc-dep-of-std or false) ||
+        (libc."0.2.51"."rustc-dep-of-std" or false); }
+      { "0.2.51"."rustc-std-workspace-core" =
+        (f.libc."0.2.51"."rustc-std-workspace-core" or false) ||
+        (f.libc."0.2.51".rustc-dep-of-std or false) ||
+        (libc."0.2.51"."rustc-dep-of-std" or false); }
+      { "0.2.51"."use_std" =
+        (f.libc."0.2.51"."use_std" or false) ||
+        (f.libc."0.2.51".default or false) ||
+        (libc."0.2.51"."default" or false); }
+      { "0.2.51".default = (f.libc."0.2.51".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libgit2-sys-0.7.11
+
+  crates.libgit2_sys."0.7.11" = deps: { features?(features_.libgit2_sys."0.7.11" deps {}) }: buildRustCrate {
+    crateName = "libgit2-sys";
+    version = "0.7.11";
+    description = "Native bindings to the libgit2 library";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "12wyfl7xl7lpz65s17j5rf9xfkn461792f67jqsz0ign3daaac9h";
+    libPath = "lib.rs";
+    libName = "libgit2_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libgit2_sys"."0.7.11"."libc"}" deps)
+      (crates."libz_sys"."${deps."libgit2_sys"."0.7.11"."libz_sys"}" deps)
+    ]
+      ++ (if features.libgit2_sys."0.7.11".curl-sys or false then [ (crates.curl_sys."${deps."libgit2_sys"."0.7.11".curl_sys}" deps) ] else [])
+      ++ (if features.libgit2_sys."0.7.11".libssh2-sys or false then [ (crates.libssh2_sys."${deps."libgit2_sys"."0.7.11".libssh2_sys}" deps) ] else []))
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.libgit2_sys."0.7.11".openssl-sys or false then [ (crates.openssl_sys."${deps."libgit2_sys"."0.7.11".openssl_sys}" deps) ] else [])) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libgit2_sys"."0.7.11"."cc"}" deps)
+      (crates."pkg_config"."${deps."libgit2_sys"."0.7.11"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."libgit2_sys"."0.7.11" or {});
+  };
+  features_.libgit2_sys."0.7.11" = deps: f: updateFeatures f (rec {
+    cc."${deps.libgit2_sys."0.7.11".cc}".default = true;
+    curl_sys."${deps.libgit2_sys."0.7.11".curl_sys}".default = true;
+    libc."${deps.libgit2_sys."0.7.11".libc}".default = true;
+    libgit2_sys = fold recursiveUpdate {} [
+      { "0.7.11"."curl-sys" =
+        (f.libgit2_sys."0.7.11"."curl-sys" or false) ||
+        (f.libgit2_sys."0.7.11".curl or false) ||
+        (libgit2_sys."0.7.11"."curl" or false); }
+      { "0.7.11"."libssh2-sys" =
+        (f.libgit2_sys."0.7.11"."libssh2-sys" or false) ||
+        (f.libgit2_sys."0.7.11".ssh or false) ||
+        (libgit2_sys."0.7.11"."ssh" or false); }
+      { "0.7.11"."openssl-sys" =
+        (f.libgit2_sys."0.7.11"."openssl-sys" or false) ||
+        (f.libgit2_sys."0.7.11".https or false) ||
+        (libgit2_sys."0.7.11"."https" or false); }
+      { "0.7.11".default = (f.libgit2_sys."0.7.11".default or true); }
+    ];
+    libssh2_sys."${deps.libgit2_sys."0.7.11".libssh2_sys}".default = true;
+    libz_sys."${deps.libgit2_sys."0.7.11".libz_sys}".default = true;
+    openssl_sys."${deps.libgit2_sys."0.7.11".openssl_sys}".default = true;
+    pkg_config."${deps.libgit2_sys."0.7.11".pkg_config}".default = true;
+  }) [
+    (features_.curl_sys."${deps."libgit2_sys"."0.7.11"."curl_sys"}" deps)
+    (features_.libc."${deps."libgit2_sys"."0.7.11"."libc"}" deps)
+    (features_.libssh2_sys."${deps."libgit2_sys"."0.7.11"."libssh2_sys"}" deps)
+    (features_.libz_sys."${deps."libgit2_sys"."0.7.11"."libz_sys"}" deps)
+    (features_.cc."${deps."libgit2_sys"."0.7.11"."cc"}" deps)
+    (features_.pkg_config."${deps."libgit2_sys"."0.7.11"."pkg_config"}" deps)
+    (features_.openssl_sys."${deps."libgit2_sys"."0.7.11"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# libnghttp2-sys-0.1.1
+
+  crates.libnghttp2_sys."0.1.1" = deps: { features?(features_.libnghttp2_sys."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "libnghttp2-sys";
+    version = "0.1.1";
+    description = "FFI bindings for libnghttp2 (nghttp2)\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "08z41i7d8pm0jzv6p77kp22hh0a4psdy109n6nxr8x2k1ibjxk8w";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libnghttp2_sys"."0.1.1"."libc"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libnghttp2_sys"."0.1.1"."cc"}" deps)
+    ]);
+  };
+  features_.libnghttp2_sys."0.1.1" = deps: f: updateFeatures f (rec {
+    cc."${deps.libnghttp2_sys."0.1.1".cc}".default = true;
+    libc."${deps.libnghttp2_sys."0.1.1".libc}".default = true;
+    libnghttp2_sys."0.1.1".default = (f.libnghttp2_sys."0.1.1".default or true);
+  }) [
+    (features_.libc."${deps."libnghttp2_sys"."0.1.1"."libc"}" deps)
+    (features_.cc."${deps."libnghttp2_sys"."0.1.1"."cc"}" deps)
+  ];
+
+
+# end
+# libssh2-sys-0.2.11
+
+  crates.libssh2_sys."0.2.11" = deps: { features?(features_.libssh2_sys."0.2.11" deps {}) }: buildRustCrate {
+    crateName = "libssh2-sys";
+    version = "0.2.11";
+    description = "Native bindings to the libssh2 library";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1mjily9qjjjf31pzvlxyqnp1midjc77s6sd303j46d14igna7nhi";
+    libPath = "lib.rs";
+    libName = "libssh2_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libssh2_sys"."0.2.11"."libc"}" deps)
+      (crates."libz_sys"."${deps."libssh2_sys"."0.2.11"."libz_sys"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."openssl_sys"."${deps."libssh2_sys"."0.2.11"."openssl_sys"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libssh2_sys"."0.2.11"."cc"}" deps)
+      (crates."pkg_config"."${deps."libssh2_sys"."0.2.11"."pkg_config"}" deps)
+    ]);
+  };
+  features_.libssh2_sys."0.2.11" = deps: f: updateFeatures f (rec {
+    cc."${deps.libssh2_sys."0.2.11".cc}".default = true;
+    libc."${deps.libssh2_sys."0.2.11".libc}".default = true;
+    libssh2_sys."0.2.11".default = (f.libssh2_sys."0.2.11".default or true);
+    libz_sys."${deps.libssh2_sys."0.2.11".libz_sys}".default = true;
+    openssl_sys."${deps.libssh2_sys."0.2.11".openssl_sys}".default = true;
+    pkg_config."${deps.libssh2_sys."0.2.11".pkg_config}".default = true;
+  }) [
+    (features_.libc."${deps."libssh2_sys"."0.2.11"."libc"}" deps)
+    (features_.libz_sys."${deps."libssh2_sys"."0.2.11"."libz_sys"}" deps)
+    (features_.cc."${deps."libssh2_sys"."0.2.11"."cc"}" deps)
+    (features_.pkg_config."${deps."libssh2_sys"."0.2.11"."pkg_config"}" deps)
+    (features_.openssl_sys."${deps."libssh2_sys"."0.2.11"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# libz-sys-1.0.25
+
+  crates.libz_sys."1.0.25" = deps: { features?(features_.libz_sys."1.0.25" deps {}) }: buildRustCrate {
+    crateName = "libz-sys";
+    version = "1.0.25";
+    description = "Bindings to the system libz library (also known as zlib).\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "195jzg8mgjbvmkbpx1rzkzrqm0g2fdivk79v44c9lzl64r3f9fym";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libz_sys"."1.0.25"."libc"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libz_sys"."1.0.25"."cc"}" deps)
+      (crates."pkg_config"."${deps."libz_sys"."1.0.25"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."libz_sys"."1.0.25" or {});
+  };
+  features_.libz_sys."1.0.25" = deps: f: updateFeatures f (rec {
+    cc."${deps.libz_sys."1.0.25".cc}".default = true;
+    libc."${deps.libz_sys."1.0.25".libc}".default = true;
+    libz_sys."1.0.25".default = (f.libz_sys."1.0.25".default or true);
+    pkg_config."${deps.libz_sys."1.0.25".pkg_config}".default = true;
+  }) [
+    (features_.libc."${deps."libz_sys"."1.0.25"."libc"}" deps)
+    (features_.cc."${deps."libz_sys"."1.0.25"."cc"}" deps)
+    (features_.pkg_config."${deps."libz_sys"."1.0.25"."pkg_config"}" deps)
+  ];
+
+
+# end
+# lock_api-0.1.5
+
+  crates.lock_api."0.1.5" = deps: { features?(features_.lock_api."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "lock_api";
+    version = "0.1.5";
+    description = "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "132sidr5hvjfkaqm3l95zpcpi8yk5ddd0g79zf1ad4v65sxirqqm";
+    dependencies = mapFeatures features ([
+      (crates."scopeguard"."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+    ]);
+    features = mkFeatures (features."lock_api"."0.1.5" or {});
+  };
+  features_.lock_api."0.1.5" = deps: f: updateFeatures f (rec {
+    lock_api."0.1.5".default = (f.lock_api."0.1.5".default or true);
+    scopeguard."${deps.lock_api."0.1.5".scopeguard}".default = (f.scopeguard."${deps.lock_api."0.1.5".scopeguard}".default or false);
+  }) [
+    (features_.scopeguard."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+  ];
+
+
+# end
+# matrixmultiply-0.1.15
+
+  crates.matrixmultiply."0.1.15" = deps: { features?(features_.matrixmultiply."0.1.15" deps {}) }: buildRustCrate {
+    crateName = "matrixmultiply";
+    version = "0.1.15";
+    description = "General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. `RUSTFLAGS=\"-C target-cpu=native\"` is your friend here.";
+    authors = [ "bluss" ];
+    sha256 = "0ix1i4lnkfqnzv8f9wr34bf0mlr1sx5hr7yr70k4npxmwxscvdj5";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rawpointer"."${deps."matrixmultiply"."0.1.15"."rawpointer"}" deps)
+    ]);
+  };
+  features_.matrixmultiply."0.1.15" = deps: f: updateFeatures f (rec {
+    matrixmultiply."0.1.15".default = (f.matrixmultiply."0.1.15".default or true);
+    rawpointer."${deps.matrixmultiply."0.1.15".rawpointer}".default = true;
+  }) [
+    (features_.rawpointer."${deps."matrixmultiply"."0.1.15"."rawpointer"}" deps)
+  ];
+
+
+# end
+# miniz-sys-0.1.11
+
+  crates.miniz_sys."0.1.11" = deps: { features?(features_.miniz_sys."0.1.11" deps {}) }: buildRustCrate {
+    crateName = "miniz-sys";
+    version = "0.1.11";
+    description = "Bindings to the miniz.c library.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0l2wsakqjj7kc06dwxlpz4h8wih0f9d1idrz5gb1svipvh81khsm";
+    libPath = "lib.rs";
+    libName = "miniz_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."miniz_sys"."0.1.11"."libc"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."miniz_sys"."0.1.11"."cc"}" deps)
+    ]);
+  };
+  features_.miniz_sys."0.1.11" = deps: f: updateFeatures f (rec {
+    cc."${deps.miniz_sys."0.1.11".cc}".default = true;
+    libc."${deps.miniz_sys."0.1.11".libc}".default = true;
+    miniz_sys."0.1.11".default = (f.miniz_sys."0.1.11".default or true);
+  }) [
+    (features_.libc."${deps."miniz_sys"."0.1.11"."libc"}" deps)
+    (features_.cc."${deps."miniz_sys"."0.1.11"."cc"}" deps)
+  ];
+
+
+# end
+# miniz_oxide-0.2.1
+
+  crates.miniz_oxide."0.2.1" = deps: { features?(features_.miniz_oxide."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "miniz_oxide";
+    version = "0.2.1";
+    description = "DEFLATE compression and decompression library rewritten in Rust based on miniz";
+    authors = [ "Frommi <daniil.liferenko@gmail.com>" ];
+    sha256 = "1ly14vlk0gq7czi1323l2dsy5y8dpvdwld4h9083i0y3hx9iyfdz";
+    dependencies = mapFeatures features ([
+      (crates."adler32"."${deps."miniz_oxide"."0.2.1"."adler32"}" deps)
+    ]);
+  };
+  features_.miniz_oxide."0.2.1" = deps: f: updateFeatures f (rec {
+    adler32."${deps.miniz_oxide."0.2.1".adler32}".default = true;
+    miniz_oxide."0.2.1".default = (f.miniz_oxide."0.2.1".default or true);
+  }) [
+    (features_.adler32."${deps."miniz_oxide"."0.2.1"."adler32"}" deps)
+  ];
+
+
+# end
+# miniz_oxide_c_api-0.2.1
+
+  crates.miniz_oxide_c_api."0.2.1" = deps: { features?(features_.miniz_oxide_c_api."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "miniz_oxide_c_api";
+    version = "0.2.1";
+    description = "DEFLATE compression and decompression API designed to be Rust drop-in replacement for miniz";
+    authors = [ "Frommi <daniil.liferenko@gmail.com>" ];
+    sha256 = "1zsk334nhy2rvyhbr0815l0gp6w40al6rxxafkycaafx3m9j8cj2";
+    build = "src/build.rs";
+    dependencies = mapFeatures features ([
+      (crates."crc"."${deps."miniz_oxide_c_api"."0.2.1"."crc"}" deps)
+      (crates."libc"."${deps."miniz_oxide_c_api"."0.2.1"."libc"}" deps)
+      (crates."miniz_oxide"."${deps."miniz_oxide_c_api"."0.2.1"."miniz_oxide"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."miniz_oxide_c_api"."0.2.1"."cc"}" deps)
+    ]);
+    features = mkFeatures (features."miniz_oxide_c_api"."0.2.1" or {});
+  };
+  features_.miniz_oxide_c_api."0.2.1" = deps: f: updateFeatures f (rec {
+    cc."${deps.miniz_oxide_c_api."0.2.1".cc}".default = true;
+    crc."${deps.miniz_oxide_c_api."0.2.1".crc}".default = true;
+    libc."${deps.miniz_oxide_c_api."0.2.1".libc}".default = true;
+    miniz_oxide."${deps.miniz_oxide_c_api."0.2.1".miniz_oxide}".default = true;
+    miniz_oxide_c_api = fold recursiveUpdate {} [
+      { "0.2.1"."build_orig_miniz" =
+        (f.miniz_oxide_c_api."0.2.1"."build_orig_miniz" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".benching or false) ||
+        (miniz_oxide_c_api."0.2.1"."benching" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".fuzzing or false) ||
+        (miniz_oxide_c_api."0.2.1"."fuzzing" or false); }
+      { "0.2.1"."build_stub_miniz" =
+        (f.miniz_oxide_c_api."0.2.1"."build_stub_miniz" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".miniz_zip or false) ||
+        (miniz_oxide_c_api."0.2.1"."miniz_zip" or false); }
+      { "0.2.1"."no_c_export" =
+        (f.miniz_oxide_c_api."0.2.1"."no_c_export" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".benching or false) ||
+        (miniz_oxide_c_api."0.2.1"."benching" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".fuzzing or false) ||
+        (miniz_oxide_c_api."0.2.1"."fuzzing" or false); }
+      { "0.2.1".default = (f.miniz_oxide_c_api."0.2.1".default or true); }
+    ];
+  }) [
+    (features_.crc."${deps."miniz_oxide_c_api"."0.2.1"."crc"}" deps)
+    (features_.libc."${deps."miniz_oxide_c_api"."0.2.1"."libc"}" deps)
+    (features_.miniz_oxide."${deps."miniz_oxide_c_api"."0.2.1"."miniz_oxide"}" deps)
+    (features_.cc."${deps."miniz_oxide_c_api"."0.2.1"."cc"}" deps)
+  ];
+
+
+# end
+# miow-0.3.3
+
+  crates.miow."0.3.3" = deps: { features?(features_.miow."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "miow";
+    version = "0.3.3";
+    description = "A zero overhead I/O library for Windows, focusing on IOCP and Async I/O\nabstractions.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1mlk5mn00cl6bmf8qlpc6r85dxf4l45vbkbzshsr1mrkb3hn1j57";
+    dependencies = mapFeatures features ([
+      (crates."socket2"."${deps."miow"."0.3.3"."socket2"}" deps)
+      (crates."winapi"."${deps."miow"."0.3.3"."winapi"}" deps)
+    ]);
+  };
+  features_.miow."0.3.3" = deps: f: updateFeatures f (rec {
+    miow."0.3.3".default = (f.miow."0.3.3".default or true);
+    socket2."${deps.miow."0.3.3".socket2}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.miow."0.3.3".winapi}"."fileapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."handleapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ioapiset" = true; }
+      { "${deps.miow."0.3.3".winapi}"."minwindef" = true; }
+      { "${deps.miow."0.3.3".winapi}"."namedpipeapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ntdef" = true; }
+      { "${deps.miow."0.3.3".winapi}"."std" = true; }
+      { "${deps.miow."0.3.3".winapi}"."synchapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."winerror" = true; }
+      { "${deps.miow."0.3.3".winapi}"."winsock2" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ws2def" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ws2ipdef" = true; }
+      { "${deps.miow."0.3.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.socket2."${deps."miow"."0.3.3"."socket2"}" deps)
+    (features_.winapi."${deps."miow"."0.3.3"."winapi"}" deps)
+  ];
+
+
+# end
+# ndarray-0.12.1
+
+  crates.ndarray."0.12.1" = deps: { features?(features_.ndarray."0.12.1" deps {}) }: buildRustCrate {
+    crateName = "ndarray";
+    version = "0.12.1";
+    description = "An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.";
+    authors = [ "bluss" "Jim Turner" ];
+    sha256 = "13708k97kdjfj6g4z1yapjln0v4m7zj0114h8snw44fj79l00346";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."itertools"."${deps."ndarray"."0.12.1"."itertools"}" deps)
+      (crates."matrixmultiply"."${deps."ndarray"."0.12.1"."matrixmultiply"}" deps)
+      (crates."num_complex"."${deps."ndarray"."0.12.1"."num_complex"}" deps)
+      (crates."num_traits"."${deps."ndarray"."0.12.1"."num_traits"}" deps)
+    ]);
+    features = mkFeatures (features."ndarray"."0.12.1" or {});
+  };
+  features_.ndarray."0.12.1" = deps: f: updateFeatures f (rec {
+    itertools."${deps.ndarray."0.12.1".itertools}".default = (f.itertools."${deps.ndarray."0.12.1".itertools}".default or false);
+    matrixmultiply."${deps.ndarray."0.12.1".matrixmultiply}".default = true;
+    ndarray = fold recursiveUpdate {} [
+      { "0.12.1"."blas" =
+        (f.ndarray."0.12.1"."blas" or false) ||
+        (f.ndarray."0.12.1".test-blas-openblas-sys or false) ||
+        (ndarray."0.12.1"."test-blas-openblas-sys" or false); }
+      { "0.12.1"."blas-src" =
+        (f.ndarray."0.12.1"."blas-src" or false) ||
+        (f.ndarray."0.12.1".blas or false) ||
+        (ndarray."0.12.1"."blas" or false); }
+      { "0.12.1"."cblas-sys" =
+        (f.ndarray."0.12.1"."cblas-sys" or false) ||
+        (f.ndarray."0.12.1".blas or false) ||
+        (ndarray."0.12.1"."blas" or false); }
+      { "0.12.1"."rustc-serialize" =
+        (f.ndarray."0.12.1"."rustc-serialize" or false) ||
+        (f.ndarray."0.12.1".docs or false) ||
+        (ndarray."0.12.1"."docs" or false); }
+      { "0.12.1"."serde" =
+        (f.ndarray."0.12.1"."serde" or false) ||
+        (f.ndarray."0.12.1".serde-1 or false) ||
+        (ndarray."0.12.1"."serde-1" or false); }
+      { "0.12.1"."serde-1" =
+        (f.ndarray."0.12.1"."serde-1" or false) ||
+        (f.ndarray."0.12.1".docs or false) ||
+        (ndarray."0.12.1"."docs" or false); }
+      { "0.12.1"."test-blas-openblas-sys" =
+        (f.ndarray."0.12.1"."test-blas-openblas-sys" or false) ||
+        (f.ndarray."0.12.1".test or false) ||
+        (ndarray."0.12.1"."test" or false); }
+      { "0.12.1".default = (f.ndarray."0.12.1".default or true); }
+    ];
+    num_complex."${deps.ndarray."0.12.1".num_complex}".default = true;
+    num_traits."${deps.ndarray."0.12.1".num_traits}".default = true;
+  }) [
+    (features_.itertools."${deps."ndarray"."0.12.1"."itertools"}" deps)
+    (features_.matrixmultiply."${deps."ndarray"."0.12.1"."matrixmultiply"}" deps)
+    (features_.num_complex."${deps."ndarray"."0.12.1"."num_complex"}" deps)
+    (features_.num_traits."${deps."ndarray"."0.12.1"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-complex-0.2.1
+
+  crates.num_complex."0.2.1" = deps: { features?(features_.num_complex."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "num-complex";
+    version = "0.2.1";
+    description = "Complex numbers implementation for Rust";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "12lpp62ahc80p33cpw2771l8bwl0q13rl5vq0jzkqib1l5z8q80z";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."num_traits"."${deps."num_complex"."0.2.1"."num_traits"}" deps)
+    ]);
+    features = mkFeatures (features."num_complex"."0.2.1" or {});
+  };
+  features_.num_complex."0.2.1" = deps: f: updateFeatures f (rec {
+    num_complex = fold recursiveUpdate {} [
+      { "0.2.1"."std" =
+        (f.num_complex."0.2.1"."std" or false) ||
+        (f.num_complex."0.2.1".default or false) ||
+        (num_complex."0.2.1"."default" or false); }
+      { "0.2.1".default = (f.num_complex."0.2.1".default or true); }
+    ];
+    num_traits = fold recursiveUpdate {} [
+      { "${deps.num_complex."0.2.1".num_traits}"."i128" =
+        (f.num_traits."${deps.num_complex."0.2.1".num_traits}"."i128" or false) ||
+        (num_complex."0.2.1"."i128" or false) ||
+        (f."num_complex"."0.2.1"."i128" or false); }
+      { "${deps.num_complex."0.2.1".num_traits}"."std" =
+        (f.num_traits."${deps.num_complex."0.2.1".num_traits}"."std" or false) ||
+        (num_complex."0.2.1"."std" or false) ||
+        (f."num_complex"."0.2.1"."std" or false); }
+      { "${deps.num_complex."0.2.1".num_traits}".default = (f.num_traits."${deps.num_complex."0.2.1".num_traits}".default or false); }
+    ];
+  }) [
+    (features_.num_traits."${deps."num_complex"."0.2.1"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-traits-0.2.6
+
+  crates.num_traits."0.2.6" = deps: { features?(features_.num_traits."0.2.6" deps {}) }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.2.6";
+    description = "Numeric traits for generic mathematics";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1d20sil9n0wgznd1nycm3yjfj1mzyl41ambb7by1apxlyiil1azk";
+    build = "build.rs";
+    features = mkFeatures (features."num_traits"."0.2.6" or {});
+  };
+  features_.num_traits."0.2.6" = deps: f: updateFeatures f (rec {
+    num_traits = fold recursiveUpdate {} [
+      { "0.2.6"."std" =
+        (f.num_traits."0.2.6"."std" or false) ||
+        (f.num_traits."0.2.6".default or false) ||
+        (num_traits."0.2.6"."default" or false); }
+      { "0.2.6".default = (f.num_traits."0.2.6".default or true); }
+    ];
+  }) [];
+
+
+# end
+# num_cpus-1.10.0
+
+  crates.num_cpus."1.10.0" = deps: { features?(features_.num_cpus."1.10.0" deps {}) }: buildRustCrate {
+    crateName = "num_cpus";
+    version = "1.10.0";
+    description = "Get the number of CPUs on a machine.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1411jyxy1wd8d59mv7cf6ynkvvar92czmwhb9l2c1brdkxbbiqn7";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."num_cpus"."1.10.0"."libc"}" deps)
+    ]);
+  };
+  features_.num_cpus."1.10.0" = deps: f: updateFeatures f (rec {
+    libc."${deps.num_cpus."1.10.0".libc}".default = true;
+    num_cpus."1.10.0".default = (f.num_cpus."1.10.0".default or true);
+  }) [
+    (features_.libc."${deps."num_cpus"."1.10.0"."libc"}" deps)
+  ];
+
+
+# end
+# once_cell-0.1.8
+
+  crates.once_cell."0.1.8" = deps: { features?(features_.once_cell."0.1.8" deps {}) }: buildRustCrate {
+    crateName = "once_cell";
+    version = "0.1.8";
+    description = "Single assignment cells and lazy static values without macros.";
+    authors = [ "Aleksey Kladov <aleksey.kladov@gmail.com>" ];
+    sha256 = "1n1da1x3cf3qbq9a925pimy6i0r12gcicwqjxc63nfb2bnzkg074";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.once_cell."0.1.8".parking_lot or false then [ (crates.parking_lot."${deps."once_cell"."0.1.8".parking_lot}" deps) ] else []));
+    features = mkFeatures (features."once_cell"."0.1.8" or {});
+  };
+  features_.once_cell."0.1.8" = deps: f: updateFeatures f (rec {
+    once_cell = fold recursiveUpdate {} [
+      { "0.1.8"."parking_lot" =
+        (f.once_cell."0.1.8"."parking_lot" or false) ||
+        (f.once_cell."0.1.8".default or false) ||
+        (once_cell."0.1.8"."default" or false); }
+      { "0.1.8".default = (f.once_cell."0.1.8".default or true); }
+    ];
+    parking_lot."${deps.once_cell."0.1.8".parking_lot}".default = true;
+  }) [
+    (features_.parking_lot."${deps."once_cell"."0.1.8"."parking_lot"}" deps)
+  ];
+
+
+# end
+# opener-0.3.2
+
+  crates.opener."0.3.2" = deps: { features?(features_.opener."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "opener";
+    version = "0.3.2";
+    description = "Open a file or link using the system default program.";
+    authors = [ "Brian Bowman <seeker14491@gmail.com>" ];
+    sha256 = "1ql2snax07n3xxn4nz9r6d95rhrri66qy5s5zl9jfsdbs193hzcm";
+    dependencies = mapFeatures features ([
+      (crates."failure"."${deps."opener"."0.3.2"."failure"}" deps)
+      (crates."failure_derive"."${deps."opener"."0.3.2"."failure_derive"}" deps)
+    ])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."opener"."0.3.2"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.opener."0.3.2" = deps: f: updateFeatures f (rec {
+    failure."${deps.opener."0.3.2".failure}".default = true;
+    failure_derive."${deps.opener."0.3.2".failure_derive}".default = true;
+    opener."0.3.2".default = (f.opener."0.3.2".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.opener."0.3.2".winapi}"."shellapi" = true; }
+      { "${deps.opener."0.3.2".winapi}".default = true; }
+    ];
+  }) [
+    (features_.failure."${deps."opener"."0.3.2"."failure"}" deps)
+    (features_.failure_derive."${deps."opener"."0.3.2"."failure_derive"}" deps)
+    (features_.winapi."${deps."opener"."0.3.2"."winapi"}" deps)
+  ];
+
+
+# end
+# openssl-0.10.20
+
+  crates.openssl."0.10.20" = deps: { features?(features_.openssl."0.10.20" deps {}) }: buildRustCrate {
+    crateName = "openssl";
+    version = "0.10.20";
+    description = "OpenSSL bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1y3zkq988vx48a4j0i23mr7vm1wy5w71yws2v6hyf4vb5iw3r5s5";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."openssl"."0.10.20"."bitflags"}" deps)
+      (crates."cfg_if"."${deps."openssl"."0.10.20"."cfg_if"}" deps)
+      (crates."foreign_types"."${deps."openssl"."0.10.20"."foreign_types"}" deps)
+      (crates."lazy_static"."${deps."openssl"."0.10.20"."lazy_static"}" deps)
+      (crates."libc"."${deps."openssl"."0.10.20"."libc"}" deps)
+      (crates."openssl_sys"."${deps."openssl"."0.10.20"."openssl_sys"}" deps)
+    ]);
+    features = mkFeatures (features."openssl"."0.10.20" or {});
+  };
+  features_.openssl."0.10.20" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.openssl."0.10.20".bitflags}".default = true;
+    cfg_if."${deps.openssl."0.10.20".cfg_if}".default = true;
+    foreign_types."${deps.openssl."0.10.20".foreign_types}".default = true;
+    lazy_static."${deps.openssl."0.10.20".lazy_static}".default = true;
+    libc."${deps.openssl."0.10.20".libc}".default = true;
+    openssl."0.10.20".default = (f.openssl."0.10.20".default or true);
+    openssl_sys = fold recursiveUpdate {} [
+      { "${deps.openssl."0.10.20".openssl_sys}"."vendored" =
+        (f.openssl_sys."${deps.openssl."0.10.20".openssl_sys}"."vendored" or false) ||
+        (openssl."0.10.20"."vendored" or false) ||
+        (f."openssl"."0.10.20"."vendored" or false); }
+      { "${deps.openssl."0.10.20".openssl_sys}".default = true; }
+    ];
+  }) [
+    (features_.bitflags."${deps."openssl"."0.10.20"."bitflags"}" deps)
+    (features_.cfg_if."${deps."openssl"."0.10.20"."cfg_if"}" deps)
+    (features_.foreign_types."${deps."openssl"."0.10.20"."foreign_types"}" deps)
+    (features_.lazy_static."${deps."openssl"."0.10.20"."lazy_static"}" deps)
+    (features_.libc."${deps."openssl"."0.10.20"."libc"}" deps)
+    (features_.openssl_sys."${deps."openssl"."0.10.20"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# openssl-probe-0.1.2
+
+  crates.openssl_probe."0.1.2" = deps: { features?(features_.openssl_probe."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "openssl-probe";
+    version = "0.1.2";
+    description = "Tool for helping to find SSL certificate locations on the system for OpenSSL\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1a89fznx26vvaxyrxdvgf6iwai5xvs6xjvpjin68fgvrslv6n15a";
+  };
+  features_.openssl_probe."0.1.2" = deps: f: updateFeatures f (rec {
+    openssl_probe."0.1.2".default = (f.openssl_probe."0.1.2".default or true);
+  }) [];
+
+
+# end
+# openssl-src-111.2.1+1.1.1b
+
+  crates.openssl_src."111.2.1+1.1.1b" = deps: { features?(features_.openssl_src."111.2.1+1.1.1b" deps {}) }: buildRustCrate {
+    crateName = "openssl-src";
+    version = "111.2.1+1.1.1b";
+    description = "Source of OpenSSL and logic to build it.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0gfa29r16ds88a3sjcgkc2q5dkhgnxk58gly313r05xqj4zi2pxc";
+    dependencies = mapFeatures features ([
+      (crates."cc"."${deps."openssl_src"."111.2.1+1.1.1b"."cc"}" deps)
+    ]);
+  };
+  features_.openssl_src."111.2.1+1.1.1b" = deps: f: updateFeatures f (rec {
+    cc."${deps.openssl_src."111.2.1+1.1.1b".cc}".default = true;
+    openssl_src."111.2.1+1.1.1b".default = (f.openssl_src."111.2.1+1.1.1b".default or true);
+  }) [
+    (features_.cc."${deps."openssl_src"."111.2.1+1.1.1b"."cc"}" deps)
+  ];
+
+
+# end
+# openssl-sys-0.9.43
+
+  crates.openssl_sys."0.9.43" = deps: { features?(features_.openssl_sys."0.9.43" deps {}) }: buildRustCrate {
+    crateName = "openssl-sys";
+    version = "0.9.43";
+    description = "FFI bindings to OpenSSL";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1ip0f94jakr85pxjhrkg9w9lgiiy1yga3ckm6c8xb13klsr7ky9y";
+    build = "build/main.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."openssl_sys"."0.9.43"."libc"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."openssl_sys"."0.9.43"."cc"}" deps)
+      (crates."pkg_config"."${deps."openssl_sys"."0.9.43"."pkg_config"}" deps)
+      (crates."rustc_version"."${deps."openssl_sys"."0.9.43"."rustc_version"}" deps)
+    ]
+      ++ (if features.openssl_sys."0.9.43".openssl-src or false then [ (crates.openssl_src."${deps."openssl_sys"."0.9.43".openssl_src}" deps) ] else []));
+    features = mkFeatures (features."openssl_sys"."0.9.43" or {});
+  };
+  features_.openssl_sys."0.9.43" = deps: f: updateFeatures f (rec {
+    cc."${deps.openssl_sys."0.9.43".cc}".default = true;
+    libc."${deps.openssl_sys."0.9.43".libc}".default = true;
+    openssl_src."${deps.openssl_sys."0.9.43".openssl_src}".default = true;
+    openssl_sys = fold recursiveUpdate {} [
+      { "0.9.43"."openssl-src" =
+        (f.openssl_sys."0.9.43"."openssl-src" or false) ||
+        (f.openssl_sys."0.9.43".vendored or false) ||
+        (openssl_sys."0.9.43"."vendored" or false); }
+      { "0.9.43".default = (f.openssl_sys."0.9.43".default or true); }
+    ];
+    pkg_config."${deps.openssl_sys."0.9.43".pkg_config}".default = true;
+    rustc_version."${deps.openssl_sys."0.9.43".rustc_version}".default = true;
+  }) [
+    (features_.libc."${deps."openssl_sys"."0.9.43"."libc"}" deps)
+    (features_.cc."${deps."openssl_sys"."0.9.43"."cc"}" deps)
+    (features_.openssl_src."${deps."openssl_sys"."0.9.43"."openssl_src"}" deps)
+    (features_.pkg_config."${deps."openssl_sys"."0.9.43"."pkg_config"}" deps)
+    (features_.rustc_version."${deps."openssl_sys"."0.9.43"."rustc_version"}" deps)
+  ];
+
+
+# end
+# parking_lot-0.7.1
+
+  crates.parking_lot."0.7.1" = deps: { features?(features_.parking_lot."0.7.1" deps {}) }: buildRustCrate {
+    crateName = "parking_lot";
+    version = "0.7.1";
+    description = "More compact and efficient implementations of the standard synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1qpb49xd176hqqabxdb48f1hvylfbf68rpz8yfrhw0x68ys0lkq1";
+    dependencies = mapFeatures features ([
+      (crates."lock_api"."${deps."parking_lot"."0.7.1"."lock_api"}" deps)
+      (crates."parking_lot_core"."${deps."parking_lot"."0.7.1"."parking_lot_core"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot"."0.7.1" or {});
+  };
+  features_.parking_lot."0.7.1" = deps: f: updateFeatures f (rec {
+    lock_api = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.7.1".lock_api}"."nightly" =
+        (f.lock_api."${deps.parking_lot."0.7.1".lock_api}"."nightly" or false) ||
+        (parking_lot."0.7.1"."nightly" or false) ||
+        (f."parking_lot"."0.7.1"."nightly" or false); }
+      { "${deps.parking_lot."0.7.1".lock_api}"."owning_ref" =
+        (f.lock_api."${deps.parking_lot."0.7.1".lock_api}"."owning_ref" or false) ||
+        (parking_lot."0.7.1"."owning_ref" or false) ||
+        (f."parking_lot"."0.7.1"."owning_ref" or false); }
+      { "${deps.parking_lot."0.7.1".lock_api}".default = true; }
+    ];
+    parking_lot = fold recursiveUpdate {} [
+      { "0.7.1"."owning_ref" =
+        (f.parking_lot."0.7.1"."owning_ref" or false) ||
+        (f.parking_lot."0.7.1".default or false) ||
+        (parking_lot."0.7.1"."default" or false); }
+      { "0.7.1".default = (f.parking_lot."0.7.1".default or true); }
+    ];
+    parking_lot_core = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.7.1".parking_lot_core}"."deadlock_detection" =
+        (f.parking_lot_core."${deps.parking_lot."0.7.1".parking_lot_core}"."deadlock_detection" or false) ||
+        (parking_lot."0.7.1"."deadlock_detection" or false) ||
+        (f."parking_lot"."0.7.1"."deadlock_detection" or false); }
+      { "${deps.parking_lot."0.7.1".parking_lot_core}"."nightly" =
+        (f.parking_lot_core."${deps.parking_lot."0.7.1".parking_lot_core}"."nightly" or false) ||
+        (parking_lot."0.7.1"."nightly" or false) ||
+        (f."parking_lot"."0.7.1"."nightly" or false); }
+      { "${deps.parking_lot."0.7.1".parking_lot_core}".default = true; }
+    ];
+  }) [
+    (features_.lock_api."${deps."parking_lot"."0.7.1"."lock_api"}" deps)
+    (features_.parking_lot_core."${deps."parking_lot"."0.7.1"."parking_lot_core"}" deps)
+  ];
+
+
+# end
+# parking_lot_core-0.4.0
+
+  crates.parking_lot_core."0.4.0" = deps: { features?(features_.parking_lot_core."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "parking_lot_core";
+    version = "0.4.0";
+    description = "An advanced API for creating custom synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1mzk5i240ddvhwnz65hhjk4cq61z235g1n8bd7al4mg6vx437c16";
+    dependencies = mapFeatures features ([
+      (crates."rand"."${deps."parking_lot_core"."0.4.0"."rand"}" deps)
+      (crates."smallvec"."${deps."parking_lot_core"."0.4.0"."smallvec"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."parking_lot_core"."0.4.0"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."parking_lot_core"."0.4.0"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."parking_lot_core"."0.4.0"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot_core"."0.4.0" or {});
+  };
+  features_.parking_lot_core."0.4.0" = deps: f: updateFeatures f (rec {
+    libc."${deps.parking_lot_core."0.4.0".libc}".default = true;
+    parking_lot_core = fold recursiveUpdate {} [
+      { "0.4.0"."backtrace" =
+        (f.parking_lot_core."0.4.0"."backtrace" or false) ||
+        (f.parking_lot_core."0.4.0".deadlock_detection or false) ||
+        (parking_lot_core."0.4.0"."deadlock_detection" or false); }
+      { "0.4.0"."petgraph" =
+        (f.parking_lot_core."0.4.0"."petgraph" or false) ||
+        (f.parking_lot_core."0.4.0".deadlock_detection or false) ||
+        (parking_lot_core."0.4.0"."deadlock_detection" or false); }
+      { "0.4.0"."thread-id" =
+        (f.parking_lot_core."0.4.0"."thread-id" or false) ||
+        (f.parking_lot_core."0.4.0".deadlock_detection or false) ||
+        (parking_lot_core."0.4.0"."deadlock_detection" or false); }
+      { "0.4.0".default = (f.parking_lot_core."0.4.0".default or true); }
+    ];
+    rand."${deps.parking_lot_core."0.4.0".rand}".default = true;
+    rustc_version."${deps.parking_lot_core."0.4.0".rustc_version}".default = true;
+    smallvec."${deps.parking_lot_core."0.4.0".smallvec}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.parking_lot_core."0.4.0".winapi}"."errhandlingapi" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."handleapi" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."minwindef" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."ntstatus" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."winbase" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."winerror" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."winnt" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand."${deps."parking_lot_core"."0.4.0"."rand"}" deps)
+    (features_.smallvec."${deps."parking_lot_core"."0.4.0"."smallvec"}" deps)
+    (features_.rustc_version."${deps."parking_lot_core"."0.4.0"."rustc_version"}" deps)
+    (features_.libc."${deps."parking_lot_core"."0.4.0"."libc"}" deps)
+    (features_.winapi."${deps."parking_lot_core"."0.4.0"."winapi"}" deps)
+  ];
+
+
+# end
+# pkg-config-0.3.14
+
+  crates.pkg_config."0.3.14" = deps: { features?(features_.pkg_config."0.3.14" deps {}) }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.14";
+    description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0207fsarrm412j0dh87lfcas72n8mxar7q3mgflsbsrqnb140sv6";
+  };
+  features_.pkg_config."0.3.14" = deps: f: updateFeatures f (rec {
+    pkg_config."0.3.14".default = (f.pkg_config."0.3.14".default or true);
+  }) [];
+
+
+# end
+# quote-0.6.12
+
+  crates.quote."0.6.12" = deps: { features?(features_.quote."0.6.12" deps {}) }: buildRustCrate {
+    crateName = "quote";
+    version = "0.6.12";
+    description = "Quasi-quoting macro quote!(...)";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1ckd2d2sy0hrwrqcr47dn0n3hyh7ygpc026l8xaycccyg27mihv9";
+    dependencies = mapFeatures features ([
+      (crates."proc_macro2"."${deps."quote"."0.6.12"."proc_macro2"}" deps)
+    ]);
+    features = mkFeatures (features."quote"."0.6.12" or {});
+  };
+  features_.quote."0.6.12" = deps: f: updateFeatures f (rec {
+    proc_macro2 = fold recursiveUpdate {} [
+      { "${deps.quote."0.6.12".proc_macro2}"."proc-macro" =
+        (f.proc_macro2."${deps.quote."0.6.12".proc_macro2}"."proc-macro" or false) ||
+        (quote."0.6.12"."proc-macro" or false) ||
+        (f."quote"."0.6.12"."proc-macro" or false); }
+      { "${deps.quote."0.6.12".proc_macro2}".default = (f.proc_macro2."${deps.quote."0.6.12".proc_macro2}".default or false); }
+    ];
+    quote = fold recursiveUpdate {} [
+      { "0.6.12"."proc-macro" =
+        (f.quote."0.6.12"."proc-macro" or false) ||
+        (f.quote."0.6.12".default or false) ||
+        (quote."0.6.12"."default" or false); }
+      { "0.6.12".default = (f.quote."0.6.12".default or true); }
+    ];
+  }) [
+    (features_.proc_macro2."${deps."quote"."0.6.12"."proc_macro2"}" deps)
+  ];
+
+
+# end
+# rand-0.6.5
+
+  crates.rand."0.6.5" = deps: { features?(features_.rand."0.6.5" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.6.5";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0zbck48159aj8zrwzf80sd9xxh96w4f4968nshwjpysjvflimvgb";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_chacha"."${deps."rand"."0.6.5"."rand_chacha"}" deps)
+      (crates."rand_core"."${deps."rand"."0.6.5"."rand_core"}" deps)
+      (crates."rand_hc"."${deps."rand"."0.6.5"."rand_hc"}" deps)
+      (crates."rand_isaac"."${deps."rand"."0.6.5"."rand_isaac"}" deps)
+      (crates."rand_jitter"."${deps."rand"."0.6.5"."rand_jitter"}" deps)
+      (crates."rand_pcg"."${deps."rand"."0.6.5"."rand_pcg"}" deps)
+      (crates."rand_xorshift"."${deps."rand"."0.6.5"."rand_xorshift"}" deps)
+    ]
+      ++ (if features.rand."0.6.5".rand_os or false then [ (crates.rand_os."${deps."rand"."0.6.5".rand_os}" deps) ] else []))
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."rand"."0.6.5"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."rand"."0.6.5"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."rand"."0.6.5"."autocfg"}" deps)
+    ]);
+    features = mkFeatures (features."rand"."0.6.5" or {});
+  };
+  features_.rand."0.6.5" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.rand."0.6.5".autocfg}".default = true;
+    libc."${deps.rand."0.6.5".libc}".default = (f.libc."${deps.rand."0.6.5".libc}".default or false);
+    rand = fold recursiveUpdate {} [
+      { "0.6.5"."alloc" =
+        (f.rand."0.6.5"."alloc" or false) ||
+        (f.rand."0.6.5".std or false) ||
+        (rand."0.6.5"."std" or false); }
+      { "0.6.5"."packed_simd" =
+        (f.rand."0.6.5"."packed_simd" or false) ||
+        (f.rand."0.6.5".simd_support or false) ||
+        (rand."0.6.5"."simd_support" or false); }
+      { "0.6.5"."rand_os" =
+        (f.rand."0.6.5"."rand_os" or false) ||
+        (f.rand."0.6.5".std or false) ||
+        (rand."0.6.5"."std" or false); }
+      { "0.6.5"."simd_support" =
+        (f.rand."0.6.5"."simd_support" or false) ||
+        (f.rand."0.6.5".nightly or false) ||
+        (rand."0.6.5"."nightly" or false); }
+      { "0.6.5"."std" =
+        (f.rand."0.6.5"."std" or false) ||
+        (f.rand."0.6.5".default or false) ||
+        (rand."0.6.5"."default" or false); }
+      { "0.6.5".default = (f.rand."0.6.5".default or true); }
+    ];
+    rand_chacha."${deps.rand."0.6.5".rand_chacha}".default = true;
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand."0.6.5".rand_core}"."alloc" or false) ||
+        (rand."0.6.5"."alloc" or false) ||
+        (f."rand"."0.6.5"."alloc" or false); }
+      { "${deps.rand."0.6.5".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand."0.6.5".rand_core}"."serde1" or false) ||
+        (rand."0.6.5"."serde1" or false) ||
+        (f."rand"."0.6.5"."serde1" or false); }
+      { "${deps.rand."0.6.5".rand_core}"."std" =
+        (f.rand_core."${deps.rand."0.6.5".rand_core}"."std" or false) ||
+        (rand."0.6.5"."std" or false) ||
+        (f."rand"."0.6.5"."std" or false); }
+      { "${deps.rand."0.6.5".rand_core}".default = true; }
+    ];
+    rand_hc."${deps.rand."0.6.5".rand_hc}".default = true;
+    rand_isaac = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_isaac}"."serde1" =
+        (f.rand_isaac."${deps.rand."0.6.5".rand_isaac}"."serde1" or false) ||
+        (rand."0.6.5"."serde1" or false) ||
+        (f."rand"."0.6.5"."serde1" or false); }
+      { "${deps.rand."0.6.5".rand_isaac}".default = true; }
+    ];
+    rand_jitter = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_jitter}"."std" =
+        (f.rand_jitter."${deps.rand."0.6.5".rand_jitter}"."std" or false) ||
+        (rand."0.6.5"."std" or false) ||
+        (f."rand"."0.6.5"."std" or false); }
+      { "${deps.rand."0.6.5".rand_jitter}".default = true; }
+    ];
+    rand_os = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_os}"."stdweb" =
+        (f.rand_os."${deps.rand."0.6.5".rand_os}"."stdweb" or false) ||
+        (rand."0.6.5"."stdweb" or false) ||
+        (f."rand"."0.6.5"."stdweb" or false); }
+      { "${deps.rand."0.6.5".rand_os}"."wasm-bindgen" =
+        (f.rand_os."${deps.rand."0.6.5".rand_os}"."wasm-bindgen" or false) ||
+        (rand."0.6.5"."wasm-bindgen" or false) ||
+        (f."rand"."0.6.5"."wasm-bindgen" or false); }
+      { "${deps.rand."0.6.5".rand_os}".default = true; }
+    ];
+    rand_pcg."${deps.rand."0.6.5".rand_pcg}".default = true;
+    rand_xorshift = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_xorshift}"."serde1" =
+        (f.rand_xorshift."${deps.rand."0.6.5".rand_xorshift}"."serde1" or false) ||
+        (rand."0.6.5"."serde1" or false) ||
+        (f."rand"."0.6.5"."serde1" or false); }
+      { "${deps.rand."0.6.5".rand_xorshift}".default = true; }
+    ];
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".winapi}"."minwindef" = true; }
+      { "${deps.rand."0.6.5".winapi}"."ntsecapi" = true; }
+      { "${deps.rand."0.6.5".winapi}"."profileapi" = true; }
+      { "${deps.rand."0.6.5".winapi}"."winnt" = true; }
+      { "${deps.rand."0.6.5".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_chacha."${deps."rand"."0.6.5"."rand_chacha"}" deps)
+    (features_.rand_core."${deps."rand"."0.6.5"."rand_core"}" deps)
+    (features_.rand_hc."${deps."rand"."0.6.5"."rand_hc"}" deps)
+    (features_.rand_isaac."${deps."rand"."0.6.5"."rand_isaac"}" deps)
+    (features_.rand_jitter."${deps."rand"."0.6.5"."rand_jitter"}" deps)
+    (features_.rand_os."${deps."rand"."0.6.5"."rand_os"}" deps)
+    (features_.rand_pcg."${deps."rand"."0.6.5"."rand_pcg"}" deps)
+    (features_.rand_xorshift."${deps."rand"."0.6.5"."rand_xorshift"}" deps)
+    (features_.autocfg."${deps."rand"."0.6.5"."autocfg"}" deps)
+    (features_.libc."${deps."rand"."0.6.5"."libc"}" deps)
+    (features_.winapi."${deps."rand"."0.6.5"."winapi"}" deps)
+  ];
+
+
+# end
+# rand_chacha-0.1.1
+
+  crates.rand_chacha."0.1.1" = deps: { features?(features_.rand_chacha."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_chacha";
+    version = "0.1.1";
+    description = "ChaCha random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0xnxm4mjd7wjnh18zxc1yickw58axbycp35ciraplqdfwn1gffwi";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_chacha"."0.1.1"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."rand_chacha"."0.1.1"."autocfg"}" deps)
+    ]);
+  };
+  features_.rand_chacha."0.1.1" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.rand_chacha."0.1.1".autocfg}".default = true;
+    rand_chacha."0.1.1".default = (f.rand_chacha."0.1.1".default or true);
+    rand_core."${deps.rand_chacha."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_chacha."0.1.1".rand_core}".default or false);
+  }) [
+    (features_.rand_core."${deps."rand_chacha"."0.1.1"."rand_core"}" deps)
+    (features_.autocfg."${deps."rand_chacha"."0.1.1"."autocfg"}" deps)
+  ];
+
+
+# end
+# rand_hc-0.1.0
+
+  crates.rand_hc."0.1.0" = deps: { features?(features_.rand_hc."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_hc";
+    version = "0.1.0";
+    description = "HC128 random number generator\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "05agb75j87yp7y1zk8yf7bpm66hc0673r3dlypn0kazynr6fdgkz";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+    ]);
+  };
+  features_.rand_hc."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_hc."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_hc."0.1.0".rand_core}".default or false);
+    rand_hc."0.1.0".default = (f.rand_hc."0.1.0".default or true);
+  }) [
+    (features_.rand_core."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_isaac-0.1.1
+
+  crates.rand_isaac."0.1.1" = deps: { features?(features_.rand_isaac."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_isaac";
+    version = "0.1.1";
+    description = "ISAAC random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "10hhdh5b5sa03s6b63y9bafm956jwilx41s71jbrzl63ccx8lxdq";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_isaac"."0.1.1" or {});
+  };
+  features_.rand_isaac."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_isaac."0.1.1".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}"."serde1" or false) ||
+        (rand_isaac."0.1.1"."serde1" or false) ||
+        (f."rand_isaac"."0.1.1"."serde1" or false); }
+      { "${deps.rand_isaac."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}".default or false); }
+    ];
+    rand_isaac = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_isaac."0.1.1"."serde" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_isaac."0.1.1"."serde_derive" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_isaac."0.1.1".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_jitter-0.1.3
+
+  crates.rand_jitter."0.1.3" = deps: { features?(features_.rand_jitter."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "rand_jitter";
+    version = "0.1.3";
+    description = "Random number generator based on timing jitter";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "1cb4q73rmh1inlx3liy6rabapcqh6p6c1plsd2lxw6dmi67d1qc3";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_jitter"."0.1.3"."rand_core"}" deps)
+    ])
+      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([
+      (crates."libc"."${deps."rand_jitter"."0.1.3"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."rand_jitter"."0.1.3"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."rand_jitter"."0.1.3" or {});
+  };
+  features_.rand_jitter."0.1.3" = deps: f: updateFeatures f (rec {
+    libc."${deps.rand_jitter."0.1.3".libc}".default = true;
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_jitter."0.1.3".rand_core}"."std" =
+        (f.rand_core."${deps.rand_jitter."0.1.3".rand_core}"."std" or false) ||
+        (rand_jitter."0.1.3"."std" or false) ||
+        (f."rand_jitter"."0.1.3"."std" or false); }
+      { "${deps.rand_jitter."0.1.3".rand_core}".default = true; }
+    ];
+    rand_jitter."0.1.3".default = (f.rand_jitter."0.1.3".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand_jitter."0.1.3".winapi}"."profileapi" = true; }
+      { "${deps.rand_jitter."0.1.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_jitter"."0.1.3"."rand_core"}" deps)
+    (features_.libc."${deps."rand_jitter"."0.1.3"."libc"}" deps)
+    (features_.winapi."${deps."rand_jitter"."0.1.3"."winapi"}" deps)
+  ];
+
+
+# end
+# rand_pcg-0.1.2
+
+  crates.rand_pcg."0.1.2" = deps: { features?(features_.rand_pcg."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "rand_pcg";
+    version = "0.1.2";
+    description = "Selected PCG random number generators\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "04qgi2ai2z42li5h4aawvxbpnlqyjfnipz9d6k73mdnl6p1xq938";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_pcg"."0.1.2"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."rand_pcg"."0.1.2"."autocfg"}" deps)
+    ]);
+    features = mkFeatures (features."rand_pcg"."0.1.2" or {});
+  };
+  features_.rand_pcg."0.1.2" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.rand_pcg."0.1.2".autocfg}".default = true;
+    rand_core."${deps.rand_pcg."0.1.2".rand_core}".default = true;
+    rand_pcg = fold recursiveUpdate {} [
+      { "0.1.2"."serde" =
+        (f.rand_pcg."0.1.2"."serde" or false) ||
+        (f.rand_pcg."0.1.2".serde1 or false) ||
+        (rand_pcg."0.1.2"."serde1" or false); }
+      { "0.1.2"."serde_derive" =
+        (f.rand_pcg."0.1.2"."serde_derive" or false) ||
+        (f.rand_pcg."0.1.2".serde1 or false) ||
+        (rand_pcg."0.1.2"."serde1" or false); }
+      { "0.1.2".default = (f.rand_pcg."0.1.2".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_pcg"."0.1.2"."rand_core"}" deps)
+    (features_.autocfg."${deps."rand_pcg"."0.1.2"."autocfg"}" deps)
+  ];
+
+
+# end
+# rand_xorshift-0.1.1
+
+  crates.rand_xorshift."0.1.1" = deps: { features?(features_.rand_xorshift."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_xorshift";
+    version = "0.1.1";
+    description = "Xorshift random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0v365c4h4lzxwz5k5kp9m0661s0sss7ylv74if0xb4svis9sswnn";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_xorshift"."0.1.1" or {});
+  };
+  features_.rand_xorshift."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default or false);
+    rand_xorshift = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_xorshift."0.1.1"."serde" or false) ||
+        (f.rand_xorshift."0.1.1".serde1 or false) ||
+        (rand_xorshift."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_xorshift."0.1.1"."serde_derive" or false) ||
+        (f.rand_xorshift."0.1.1".serde1 or false) ||
+        (rand_xorshift."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_xorshift."0.1.1".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps)
+  ];
+
+
+# end
+# rawpointer-0.1.0
+
+  crates.rawpointer."0.1.0" = deps: { features?(features_.rawpointer."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rawpointer";
+    version = "0.1.0";
+    description = "Extra methods for raw pointers.\n\nFor example `.post_inc()` and `.pre_dec()` (c.f. `ptr++` and `--ptr`) and\n`ptrdistance`.\n";
+    authors = [ "bluss" ];
+    sha256 = "0hblv2cv310ixf5f1jw4nk9w5pb95wh4dwqyjv07g2xrshbw6j04";
+  };
+  features_.rawpointer."0.1.0" = deps: f: updateFeatures f (rec {
+    rawpointer."0.1.0".default = (f.rawpointer."0.1.0".default or true);
+  }) [];
+
+
+# end
+# redox_syscall-0.1.54
+
+  crates.redox_syscall."0.1.54" = deps: { features?(features_.redox_syscall."0.1.54" deps {}) }: buildRustCrate {
+    crateName = "redox_syscall";
+    version = "0.1.54";
+    description = "A Rust library to access raw Redox system calls";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "1ndcp7brnvii87ndcd34fk846498r07iznphkslcy0shic9cp4rr";
+    libName = "syscall";
+  };
+  features_.redox_syscall."0.1.54" = deps: f: updateFeatures f (rec {
+    redox_syscall."0.1.54".default = (f.redox_syscall."0.1.54".default or true);
+  }) [];
+
+
+# end
+# regex-1.1.6
+
+  crates.regex."1.1.6" = deps: { features?(features_.regex."1.1.6" deps {}) }: buildRustCrate {
+    crateName = "regex";
+    version = "1.1.6";
+    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1yynvabg03m5f65qxcw70qckkfjwi9xyfpjdp6yq7pk0xf0ydc0b";
+    dependencies = mapFeatures features ([
+      (crates."aho_corasick"."${deps."regex"."1.1.6"."aho_corasick"}" deps)
+      (crates."memchr"."${deps."regex"."1.1.6"."memchr"}" deps)
+      (crates."regex_syntax"."${deps."regex"."1.1.6"."regex_syntax"}" deps)
+      (crates."thread_local"."${deps."regex"."1.1.6"."thread_local"}" deps)
+      (crates."utf8_ranges"."${deps."regex"."1.1.6"."utf8_ranges"}" deps)
+    ]);
+    features = mkFeatures (features."regex"."1.1.6" or {});
+  };
+  features_.regex."1.1.6" = deps: f: updateFeatures f (rec {
+    aho_corasick."${deps.regex."1.1.6".aho_corasick}".default = true;
+    memchr."${deps.regex."1.1.6".memchr}".default = true;
+    regex = fold recursiveUpdate {} [
+      { "1.1.6"."pattern" =
+        (f.regex."1.1.6"."pattern" or false) ||
+        (f.regex."1.1.6".unstable or false) ||
+        (regex."1.1.6"."unstable" or false); }
+      { "1.1.6"."use_std" =
+        (f.regex."1.1.6"."use_std" or false) ||
+        (f.regex."1.1.6".default or false) ||
+        (regex."1.1.6"."default" or false); }
+      { "1.1.6".default = (f.regex."1.1.6".default or true); }
+    ];
+    regex_syntax."${deps.regex."1.1.6".regex_syntax}".default = true;
+    thread_local."${deps.regex."1.1.6".thread_local}".default = true;
+    utf8_ranges."${deps.regex."1.1.6".utf8_ranges}".default = true;
+  }) [
+    (features_.aho_corasick."${deps."regex"."1.1.6"."aho_corasick"}" deps)
+    (features_.memchr."${deps."regex"."1.1.6"."memchr"}" deps)
+    (features_.regex_syntax."${deps."regex"."1.1.6"."regex_syntax"}" deps)
+    (features_.thread_local."${deps."regex"."1.1.6"."thread_local"}" deps)
+    (features_.utf8_ranges."${deps."regex"."1.1.6"."utf8_ranges"}" deps)
+  ];
+
+
+# end
+# regex-syntax-0.6.6
+
+  crates.regex_syntax."0.6.6" = deps: { features?(features_.regex_syntax."0.6.6" deps {}) }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.6.6";
+    description = "A regular expression parser.";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1cjrdc3affa3rjfaxkp91xnf9k0fsqn9z4xqc280vv39nvrl8p8b";
+    dependencies = mapFeatures features ([
+      (crates."ucd_util"."${deps."regex_syntax"."0.6.6"."ucd_util"}" deps)
+    ]);
+  };
+  features_.regex_syntax."0.6.6" = deps: f: updateFeatures f (rec {
+    regex_syntax."0.6.6".default = (f.regex_syntax."0.6.6".default or true);
+    ucd_util."${deps.regex_syntax."0.6.6".ucd_util}".default = true;
+  }) [
+    (features_.ucd_util."${deps."regex_syntax"."0.6.6"."ucd_util"}" deps)
+  ];
+
+
+# end
+# rustc-demangle-0.1.14
+
+  crates.rustc_demangle."0.1.14" = deps: { features?(features_.rustc_demangle."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "rustc-demangle";
+    version = "0.1.14";
+    description = "Rust compiler symbol demangling.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "07vl0ms3a27fpry9kh9piv08w7d51i5m7bgphk7pw4jygwzdy31f";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."rustc_demangle"."0.1.14" or {});
+  };
+  features_.rustc_demangle."0.1.14" = deps: f: updateFeatures f (rec {
+    rustc_demangle = fold recursiveUpdate {} [
+      { "0.1.14"."compiler_builtins" =
+        (f.rustc_demangle."0.1.14"."compiler_builtins" or false) ||
+        (f.rustc_demangle."0.1.14".rustc-dep-of-std or false) ||
+        (rustc_demangle."0.1.14"."rustc-dep-of-std" or false); }
+      { "0.1.14"."core" =
+        (f.rustc_demangle."0.1.14"."core" or false) ||
+        (f.rustc_demangle."0.1.14".rustc-dep-of-std or false) ||
+        (rustc_demangle."0.1.14"."rustc-dep-of-std" or false); }
+      { "0.1.14".default = (f.rustc_demangle."0.1.14".default or true); }
+    ];
+  }) [];
+
+
+# end
+# rustc-workspace-hack-1.0.0
+
+  crates.rustc_workspace_hack."1.0.0" = deps: { features?(features_.rustc_workspace_hack."1.0.0" deps {}) }: buildRustCrate {
+    crateName = "rustc-workspace-hack";
+    version = "1.0.0";
+    description = "Hack for the compiler's own build system\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0arpdp472j4lrwxbmf4z21d8kh95rbbphnzccf605pqq2rvczv3p";
+  };
+  features_.rustc_workspace_hack."1.0.0" = deps: f: updateFeatures f (rec {
+    rustc_workspace_hack."1.0.0".default = (f.rustc_workspace_hack."1.0.0".default or true);
+  }) [];
+
+
+# end
+# rustc_version-0.2.3
+
+  crates.rustc_version."0.2.3" = deps: { features?(features_.rustc_version."0.2.3" deps {}) }: buildRustCrate {
+    crateName = "rustc_version";
+    version = "0.2.3";
+    description = "A library for querying the version of a installed rustc compiler";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0rgwzbgs3i9fqjm1p4ra3n7frafmpwl29c8lw85kv1rxn7n2zaa7";
+    dependencies = mapFeatures features ([
+      (crates."semver"."${deps."rustc_version"."0.2.3"."semver"}" deps)
+    ]);
+  };
+  features_.rustc_version."0.2.3" = deps: f: updateFeatures f (rec {
+    rustc_version."0.2.3".default = (f.rustc_version."0.2.3".default or true);
+    semver."${deps.rustc_version."0.2.3".semver}".default = true;
+  }) [
+    (features_.semver."${deps."rustc_version"."0.2.3"."semver"}" deps)
+  ];
+
+
+# end
+# rustfix-0.4.5
+
+  crates.rustfix."0.4.5" = deps: { features?(features_.rustfix."0.4.5" deps {}) }: buildRustCrate {
+    crateName = "rustfix";
+    version = "0.4.5";
+    description = "Automatically apply the suggestions made by rustc";
+    authors = [ "Pascal Hertleif <killercup@gmail.com>" "Oliver Schneider <oli-obk@users.noreply.github.com>" ];
+    sha256 = "16nz3wbxspl6awwy3k3ym8yqiyq1jad82m2cf8mrz5h3arfp208l";
+    dependencies = mapFeatures features ([
+      (crates."failure"."${deps."rustfix"."0.4.5"."failure"}" deps)
+      (crates."log"."${deps."rustfix"."0.4.5"."log"}" deps)
+      (crates."serde"."${deps."rustfix"."0.4.5"."serde"}" deps)
+      (crates."serde_derive"."${deps."rustfix"."0.4.5"."serde_derive"}" deps)
+      (crates."serde_json"."${deps."rustfix"."0.4.5"."serde_json"}" deps)
+    ]);
+  };
+  features_.rustfix."0.4.5" = deps: f: updateFeatures f (rec {
+    failure."${deps.rustfix."0.4.5".failure}".default = true;
+    log."${deps.rustfix."0.4.5".log}".default = true;
+    rustfix."0.4.5".default = (f.rustfix."0.4.5".default or true);
+    serde."${deps.rustfix."0.4.5".serde}".default = true;
+    serde_derive."${deps.rustfix."0.4.5".serde_derive}".default = true;
+    serde_json."${deps.rustfix."0.4.5".serde_json}".default = true;
+  }) [
+    (features_.failure."${deps."rustfix"."0.4.5"."failure"}" deps)
+    (features_.log."${deps."rustfix"."0.4.5"."log"}" deps)
+    (features_.serde."${deps."rustfix"."0.4.5"."serde"}" deps)
+    (features_.serde_derive."${deps."rustfix"."0.4.5"."serde_derive"}" deps)
+    (features_.serde_json."${deps."rustfix"."0.4.5"."serde_json"}" deps)
+  ];
+
+
+# end
+# same-file-1.0.4
+
+  crates.same_file."1.0.4" = deps: { features?(features_.same_file."1.0.4" deps {}) }: buildRustCrate {
+    crateName = "same-file";
+    version = "1.0.4";
+    description = "A simple crate for determining whether two file paths point to the same file.\n";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1zs244ssl381cqlnh2g42g3i60qip4z72i26z44d6kas3y3gy77q";
+    dependencies = (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi_util"."${deps."same_file"."1.0.4"."winapi_util"}" deps)
+    ]) else []);
+  };
+  features_.same_file."1.0.4" = deps: f: updateFeatures f (rec {
+    same_file."1.0.4".default = (f.same_file."1.0.4".default or true);
+    winapi_util."${deps.same_file."1.0.4".winapi_util}".default = true;
+  }) [
+    (features_.winapi_util."${deps."same_file"."1.0.4"."winapi_util"}" deps)
+  ];
+
+
+# end
+# schannel-0.1.15
+
+  crates.schannel."0.1.15" = deps: { features?(features_.schannel."0.1.15" deps {}) }: buildRustCrate {
+    crateName = "schannel";
+    version = "0.1.15";
+    description = "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" "Steffen Butzer <steffen.butzer@outlook.com>" ];
+    sha256 = "1x9i0z9y8n5cg23ppyglgqdlz6rwcv2a489m5qpfk6l2ib8a1jdv";
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."schannel"."0.1.15"."lazy_static"}" deps)
+      (crates."winapi"."${deps."schannel"."0.1.15"."winapi"}" deps)
+    ]);
+  };
+  features_.schannel."0.1.15" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.schannel."0.1.15".lazy_static}".default = true;
+    schannel."0.1.15".default = (f.schannel."0.1.15".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.schannel."0.1.15".winapi}"."lmcons" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."minschannel" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."schannel" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."securitybaseapi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."sspi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."sysinfoapi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."timezoneapi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."winbase" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."wincrypt" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."winerror" = true; }
+      { "${deps.schannel."0.1.15".winapi}".default = true; }
+    ];
+  }) [
+    (features_.lazy_static."${deps."schannel"."0.1.15"."lazy_static"}" deps)
+    (features_.winapi."${deps."schannel"."0.1.15"."winapi"}" deps)
+  ];
+
+
+# end
+# scopeguard-0.3.3
+
+  crates.scopeguard."0.3.3" = deps: { features?(features_.scopeguard."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "scopeguard";
+    version = "0.3.3";
+    description = "A RAII scope guard that will run a given closure when it goes out of scope,\neven if the code between panics (assuming unwinding panic).\n\nDefines the macros `defer!` and `defer_on_unwind!`; the latter only runs\nif the scope is extited through unwinding on panic.\n";
+    authors = [ "bluss" ];
+    sha256 = "0i1l013csrqzfz6c68pr5pi01hg5v5yahq8fsdmaxy6p8ygsjf3r";
+    features = mkFeatures (features."scopeguard"."0.3.3" or {});
+  };
+  features_.scopeguard."0.3.3" = deps: f: updateFeatures f (rec {
+    scopeguard = fold recursiveUpdate {} [
+      { "0.3.3"."use_std" =
+        (f.scopeguard."0.3.3"."use_std" or false) ||
+        (f.scopeguard."0.3.3".default or false) ||
+        (scopeguard."0.3.3"."default" or false); }
+      { "0.3.3".default = (f.scopeguard."0.3.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# semver-0.9.0
+
+  crates.semver."0.9.0" = deps: { features?(features_.semver."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "semver";
+    version = "0.9.0";
+    description = "Semantic version parsing and comparison.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
+    sha256 = "0azak2lb2wc36s3x15az886kck7rpnksrw14lalm157rg9sc9z63";
+    dependencies = mapFeatures features ([
+      (crates."semver_parser"."${deps."semver"."0.9.0"."semver_parser"}" deps)
+    ]
+      ++ (if features.semver."0.9.0".serde or false then [ (crates.serde."${deps."semver"."0.9.0".serde}" deps) ] else []));
+    features = mkFeatures (features."semver"."0.9.0" or {});
+  };
+  features_.semver."0.9.0" = deps: f: updateFeatures f (rec {
+    semver = fold recursiveUpdate {} [
+      { "0.9.0"."serde" =
+        (f.semver."0.9.0"."serde" or false) ||
+        (f.semver."0.9.0".ci or false) ||
+        (semver."0.9.0"."ci" or false); }
+      { "0.9.0".default = (f.semver."0.9.0".default or true); }
+    ];
+    semver_parser."${deps.semver."0.9.0".semver_parser}".default = true;
+    serde."${deps.semver."0.9.0".serde}".default = true;
+  }) [
+    (features_.semver_parser."${deps."semver"."0.9.0"."semver_parser"}" deps)
+    (features_.serde."${deps."semver"."0.9.0"."serde"}" deps)
+  ];
+
+
+# end
+# semver-parser-0.7.0
+
+  crates.semver_parser."0.7.0" = deps: { features?(features_.semver_parser."0.7.0" deps {}) }: buildRustCrate {
+    crateName = "semver-parser";
+    version = "0.7.0";
+    description = "Parsing of the semver spec.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
+    sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
+  };
+  features_.semver_parser."0.7.0" = deps: f: updateFeatures f (rec {
+    semver_parser."0.7.0".default = (f.semver_parser."0.7.0".default or true);
+  }) [];
+
+
+# end
+# serde-1.0.90
+
+  crates.serde."1.0.90" = deps: { features?(features_.serde."1.0.90" deps {}) }: buildRustCrate {
+    crateName = "serde";
+    version = "1.0.90";
+    description = "A generic serialization/deserialization framework";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "10b6n74m1dvb667vrn1db47ncb4h0mkqbg1dsamqjvv5vl5b5j56";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.serde."1.0.90".serde_derive or false then [ (crates.serde_derive."${deps."serde"."1.0.90".serde_derive}" deps) ] else []));
+    features = mkFeatures (features."serde"."1.0.90" or {});
+  };
+  features_.serde."1.0.90" = deps: f: updateFeatures f (rec {
+    serde = fold recursiveUpdate {} [
+      { "1.0.90"."serde_derive" =
+        (f.serde."1.0.90"."serde_derive" or false) ||
+        (f.serde."1.0.90".derive or false) ||
+        (serde."1.0.90"."derive" or false); }
+      { "1.0.90"."std" =
+        (f.serde."1.0.90"."std" or false) ||
+        (f.serde."1.0.90".default or false) ||
+        (serde."1.0.90"."default" or false); }
+      { "1.0.90"."unstable" =
+        (f.serde."1.0.90"."unstable" or false) ||
+        (f.serde."1.0.90".alloc or false) ||
+        (serde."1.0.90"."alloc" or false); }
+      { "1.0.90".default = (f.serde."1.0.90".default or true); }
+    ];
+    serde_derive."${deps.serde."1.0.90".serde_derive}".default = true;
+  }) [
+    (features_.serde_derive."${deps."serde"."1.0.90"."serde_derive"}" deps)
+  ];
+
+
+# end
+# serde_derive-1.0.90
+
+  crates.serde_derive."1.0.90" = deps: { features?(features_.serde_derive."1.0.90" deps {}) }: buildRustCrate {
+    crateName = "serde_derive";
+    version = "1.0.90";
+    description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1m4xgyl8jj3mxj0wszminzc1qf2gbkj9dpl17vi95nwl6m7i157y";
+    procMacro = true;
+    dependencies = mapFeatures features ([
+      (crates."proc_macro2"."${deps."serde_derive"."1.0.90"."proc_macro2"}" deps)
+      (crates."quote"."${deps."serde_derive"."1.0.90"."quote"}" deps)
+      (crates."syn"."${deps."serde_derive"."1.0.90"."syn"}" deps)
+    ]);
+    features = mkFeatures (features."serde_derive"."1.0.90" or {});
+  };
+  features_.serde_derive."1.0.90" = deps: f: updateFeatures f (rec {
+    proc_macro2."${deps.serde_derive."1.0.90".proc_macro2}".default = true;
+    quote."${deps.serde_derive."1.0.90".quote}".default = true;
+    serde_derive."1.0.90".default = (f.serde_derive."1.0.90".default or true);
+    syn = fold recursiveUpdate {} [
+      { "${deps.serde_derive."1.0.90".syn}"."visit" = true; }
+      { "${deps.serde_derive."1.0.90".syn}".default = true; }
+    ];
+  }) [
+    (features_.proc_macro2."${deps."serde_derive"."1.0.90"."proc_macro2"}" deps)
+    (features_.quote."${deps."serde_derive"."1.0.90"."quote"}" deps)
+    (features_.syn."${deps."serde_derive"."1.0.90"."syn"}" deps)
+  ];
+
+
+# end
+# serde_ignored-0.0.4
+
+  crates.serde_ignored."0.0.4" = deps: { features?(features_.serde_ignored."0.0.4" deps {}) }: buildRustCrate {
+    crateName = "serde_ignored";
+    version = "0.0.4";
+    description = "Find out about keys that are ignored when deserializing data";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1ljsywm58p1s645rg2l9mchc5xa6mzxjpm8ag8nc2b74yp09h4jh";
+    dependencies = mapFeatures features ([
+      (crates."serde"."${deps."serde_ignored"."0.0.4"."serde"}" deps)
+    ]);
+  };
+  features_.serde_ignored."0.0.4" = deps: f: updateFeatures f (rec {
+    serde."${deps.serde_ignored."0.0.4".serde}".default = true;
+    serde_ignored."0.0.4".default = (f.serde_ignored."0.0.4".default or true);
+  }) [
+    (features_.serde."${deps."serde_ignored"."0.0.4"."serde"}" deps)
+  ];
+
+
+# end
+# shell-escape-0.1.4
+
+  crates.shell_escape."0.1.4" = deps: { features?(features_.shell_escape."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "shell-escape";
+    version = "0.1.4";
+    description = "Escape characters that may have a special meaning in a shell";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "02ik28la039b8anx0sx8mbdp2yx66m64mjrjyy6x0dgpbmfxmc24";
+  };
+  features_.shell_escape."0.1.4" = deps: f: updateFeatures f (rec {
+    shell_escape."0.1.4".default = (f.shell_escape."0.1.4".default or true);
+  }) [];
+
+
+# end
+# sized-chunks-0.1.3
+
+  crates.sized_chunks."0.1.3" = deps: { features?(features_.sized_chunks."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "sized-chunks";
+    version = "0.1.3";
+    description = "Efficient sized chunk datatypes";
+    authors = [ "Bodil Stokke <bodil@bodil.org>" ];
+    edition = "2018";
+    sha256 = "0qp5yvy2kqpk5qhiq3ybwynv740j3wv97ar1kjx96hmmbman142i";
+    dependencies = mapFeatures features ([
+      (crates."typenum"."${deps."sized_chunks"."0.1.3"."typenum"}" deps)
+    ]);
+  };
+  features_.sized_chunks."0.1.3" = deps: f: updateFeatures f (rec {
+    sized_chunks."0.1.3".default = (f.sized_chunks."0.1.3".default or true);
+    typenum."${deps.sized_chunks."0.1.3".typenum}".default = true;
+  }) [
+    (features_.typenum."${deps."sized_chunks"."0.1.3"."typenum"}" deps)
+  ];
+
+
+# end
+# socket2-0.3.8
+
+  crates.socket2."0.3.8" = deps: { features?(features_.socket2."0.3.8" deps {}) }: buildRustCrate {
+    crateName = "socket2";
+    version = "0.3.8";
+    description = "Utilities for handling networking sockets with a maximal amount of configuration\npossible intended.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1a71m20jxmf9kqqinksphc7wj1j7q672q29cpza7p9siyzyfx598";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") || kernel == "redox" then mapFeatures features ([
+      (crates."cfg_if"."${deps."socket2"."0.3.8"."cfg_if"}" deps)
+      (crates."libc"."${deps."socket2"."0.3.8"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."socket2"."0.3.8"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."socket2"."0.3.8"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."socket2"."0.3.8" or {});
+  };
+  features_.socket2."0.3.8" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.socket2."0.3.8".cfg_if}".default = true;
+    libc."${deps.socket2."0.3.8".libc}".default = true;
+    redox_syscall."${deps.socket2."0.3.8".redox_syscall}".default = true;
+    socket2."0.3.8".default = (f.socket2."0.3.8".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.socket2."0.3.8".winapi}"."handleapi" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."minwindef" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."ws2def" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."ws2ipdef" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."ws2tcpip" = true; }
+      { "${deps.socket2."0.3.8".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."socket2"."0.3.8"."cfg_if"}" deps)
+    (features_.libc."${deps."socket2"."0.3.8"."libc"}" deps)
+    (features_.redox_syscall."${deps."socket2"."0.3.8"."redox_syscall"}" deps)
+    (features_.winapi."${deps."socket2"."0.3.8"."winapi"}" deps)
+  ];
+
+
+# end
+# strsim-0.8.0
+
+  crates.strsim."0.8.0" = deps: { features?(features_.strsim."0.8.0" deps {}) }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.8.0";
+    description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "0d3jsdz22wgjyxdakqnvdgmwjdvkximz50d9zfk4qlalw635qcvy";
+  };
+  features_.strsim."0.8.0" = deps: f: updateFeatures f (rec {
+    strsim."0.8.0".default = (f.strsim."0.8.0".default or true);
+  }) [];
+
+
+# end
+# strsim-0.9.1
+
+  crates.strsim."0.9.1" = deps: { features?(features_.strsim."0.9.1" deps {}) }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.9.1";
+    description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "0lpi3lrq6z5slay72ir1sg1ki0bvr3qia82lzx937gpc999i6bah";
+    dependencies = mapFeatures features ([
+      (crates."hashbrown"."${deps."strsim"."0.9.1"."hashbrown"}" deps)
+      (crates."ndarray"."${deps."strsim"."0.9.1"."ndarray"}" deps)
+    ]);
+  };
+  features_.strsim."0.9.1" = deps: f: updateFeatures f (rec {
+    hashbrown."${deps.strsim."0.9.1".hashbrown}".default = true;
+    ndarray."${deps.strsim."0.9.1".ndarray}".default = true;
+    strsim."0.9.1".default = (f.strsim."0.9.1".default or true);
+  }) [
+    (features_.hashbrown."${deps."strsim"."0.9.1"."hashbrown"}" deps)
+    (features_.ndarray."${deps."strsim"."0.9.1"."ndarray"}" deps)
+  ];
+
+
+# end
+# syn-0.15.32
+
+  crates.syn."0.15.32" = deps: { features?(features_.syn."0.15.32" deps {}) }: buildRustCrate {
+    crateName = "syn";
+    version = "0.15.32";
+    description = "Parser for Rust source code";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1xq1mbns8zyg2ls5927wqi7i7hn2y933czbqqds648gcdqccsqb0";
+    dependencies = mapFeatures features ([
+      (crates."proc_macro2"."${deps."syn"."0.15.32"."proc_macro2"}" deps)
+      (crates."unicode_xid"."${deps."syn"."0.15.32"."unicode_xid"}" deps)
+    ]
+      ++ (if features.syn."0.15.32".quote or false then [ (crates.quote."${deps."syn"."0.15.32".quote}" deps) ] else []));
+    features = mkFeatures (features."syn"."0.15.32" or {});
+  };
+  features_.syn."0.15.32" = deps: f: updateFeatures f (rec {
+    proc_macro2 = fold recursiveUpdate {} [
+      { "${deps.syn."0.15.32".proc_macro2}"."proc-macro" =
+        (f.proc_macro2."${deps.syn."0.15.32".proc_macro2}"."proc-macro" or false) ||
+        (syn."0.15.32"."proc-macro" or false) ||
+        (f."syn"."0.15.32"."proc-macro" or false); }
+      { "${deps.syn."0.15.32".proc_macro2}".default = (f.proc_macro2."${deps.syn."0.15.32".proc_macro2}".default or false); }
+    ];
+    quote = fold recursiveUpdate {} [
+      { "${deps.syn."0.15.32".quote}"."proc-macro" =
+        (f.quote."${deps.syn."0.15.32".quote}"."proc-macro" or false) ||
+        (syn."0.15.32"."proc-macro" or false) ||
+        (f."syn"."0.15.32"."proc-macro" or false); }
+      { "${deps.syn."0.15.32".quote}".default = (f.quote."${deps.syn."0.15.32".quote}".default or false); }
+    ];
+    syn = fold recursiveUpdate {} [
+      { "0.15.32"."clone-impls" =
+        (f.syn."0.15.32"."clone-impls" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."derive" =
+        (f.syn."0.15.32"."derive" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."parsing" =
+        (f.syn."0.15.32"."parsing" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."printing" =
+        (f.syn."0.15.32"."printing" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."proc-macro" =
+        (f.syn."0.15.32"."proc-macro" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."quote" =
+        (f.syn."0.15.32"."quote" or false) ||
+        (f.syn."0.15.32".printing or false) ||
+        (syn."0.15.32"."printing" or false); }
+      { "0.15.32".default = (f.syn."0.15.32".default or true); }
+    ];
+    unicode_xid."${deps.syn."0.15.32".unicode_xid}".default = true;
+  }) [
+    (features_.proc_macro2."${deps."syn"."0.15.32"."proc_macro2"}" deps)
+    (features_.quote."${deps."syn"."0.15.32"."quote"}" deps)
+    (features_.unicode_xid."${deps."syn"."0.15.32"."unicode_xid"}" deps)
+  ];
+
+
+# end
+# tar-0.4.22
+
+  crates.tar."0.4.22" = deps: { features?(features_.tar."0.4.22" deps {}) }: buildRustCrate {
+    crateName = "tar";
+    version = "0.4.22";
+    description = "A Rust implementation of a TAR file reader and writer. This library does not\ncurrently handle compression, but it is abstract over all I/O readers and\nwriters. Additionally, great lengths are taken to ensure that the entire\ncontents are never required to be entirely resident in memory all at once.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1y2b5av1ckf7v7rw1p59fjddn2jwzv0xr69lgdd4l41g43c3zq9j";
+    dependencies = mapFeatures features ([
+      (crates."filetime"."${deps."tar"."0.4.22"."filetime"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."tar"."0.4.22"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."tar"."0.4.22"."libc"}" deps)
+    ]) else []);
+  };
+  features_.tar."0.4.22" = deps: f: updateFeatures f (rec {
+    filetime."${deps.tar."0.4.22".filetime}".default = true;
+    libc."${deps.tar."0.4.22".libc}".default = true;
+    redox_syscall."${deps.tar."0.4.22".redox_syscall}".default = true;
+    tar = fold recursiveUpdate {} [
+      { "0.4.22"."xattr" =
+        (f.tar."0.4.22"."xattr" or false) ||
+        (f.tar."0.4.22".default or false) ||
+        (tar."0.4.22"."default" or false); }
+      { "0.4.22".default = (f.tar."0.4.22".default or true); }
+    ];
+  }) [
+    (features_.filetime."${deps."tar"."0.4.22"."filetime"}" deps)
+    (features_.redox_syscall."${deps."tar"."0.4.22"."redox_syscall"}" deps)
+    (features_.libc."${deps."tar"."0.4.22"."libc"}" deps)
+  ];
+
+
+# end
+# tempfile-3.0.7
+
+  crates.tempfile."3.0.7" = deps: { features?(features_.tempfile."3.0.7" deps {}) }: buildRustCrate {
+    crateName = "tempfile";
+    version = "3.0.7";
+    description = "A library for managing temporary files and directories.\n";
+    authors = [ "Steven Allen <steven@stebalien.com>" "The Rust Project Developers" "Ashley Mannix <ashleymannix@live.com.au>" "Jason White <jasonaw0@gmail.com>" ];
+    sha256 = "19h7ch8fvisxrrmabcnhlfj6b8vg34zaw8491x141p0n0727niaf";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."tempfile"."3.0.7"."cfg_if"}" deps)
+      (crates."rand"."${deps."tempfile"."3.0.7"."rand"}" deps)
+      (crates."remove_dir_all"."${deps."tempfile"."3.0.7"."remove_dir_all"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."tempfile"."3.0.7"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."tempfile"."3.0.7"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."tempfile"."3.0.7"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.tempfile."3.0.7" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.tempfile."3.0.7".cfg_if}".default = true;
+    libc."${deps.tempfile."3.0.7".libc}".default = true;
+    rand."${deps.tempfile."3.0.7".rand}".default = true;
+    redox_syscall."${deps.tempfile."3.0.7".redox_syscall}".default = true;
+    remove_dir_all."${deps.tempfile."3.0.7".remove_dir_all}".default = true;
+    tempfile."3.0.7".default = (f.tempfile."3.0.7".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.tempfile."3.0.7".winapi}"."fileapi" = true; }
+      { "${deps.tempfile."3.0.7".winapi}"."handleapi" = true; }
+      { "${deps.tempfile."3.0.7".winapi}"."winbase" = true; }
+      { "${deps.tempfile."3.0.7".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."tempfile"."3.0.7"."cfg_if"}" deps)
+    (features_.rand."${deps."tempfile"."3.0.7"."rand"}" deps)
+    (features_.remove_dir_all."${deps."tempfile"."3.0.7"."remove_dir_all"}" deps)
+    (features_.redox_syscall."${deps."tempfile"."3.0.7"."redox_syscall"}" deps)
+    (features_.libc."${deps."tempfile"."3.0.7"."libc"}" deps)
+    (features_.winapi."${deps."tempfile"."3.0.7"."winapi"}" deps)
+  ];
+
+
+# end
+# textwrap-0.11.0
+
+  crates.textwrap."0.11.0" = deps: { features?(features_.textwrap."0.11.0" deps {}) }: buildRustCrate {
+    crateName = "textwrap";
+    version = "0.11.0";
+    description = "Textwrap is a small library for word wrapping, indenting, and\ndedenting strings.\n\nYou can use it to format strings (such as help and error messages) for\ndisplay in commandline applications. It is designed to be efficient\nand handle Unicode characters correctly.\n";
+    authors = [ "Martin Geisler <martin@geisler.net>" ];
+    sha256 = "0s25qh49n7kjayrdj4q3v0jk0jc6vy88rdw0bvgfxqlscpqpxi7d";
+    dependencies = mapFeatures features ([
+      (crates."unicode_width"."${deps."textwrap"."0.11.0"."unicode_width"}" deps)
+    ]);
+  };
+  features_.textwrap."0.11.0" = deps: f: updateFeatures f (rec {
+    textwrap."0.11.0".default = (f.textwrap."0.11.0".default or true);
+    unicode_width."${deps.textwrap."0.11.0".unicode_width}".default = true;
+  }) [
+    (features_.unicode_width."${deps."textwrap"."0.11.0"."unicode_width"}" deps)
+  ];
+
+
+# end
+# typenum-1.10.0
+
+  crates.typenum."1.10.0" = deps: { features?(features_.typenum."1.10.0" deps {}) }: buildRustCrate {
+    crateName = "typenum";
+    version = "1.10.0";
+    description = "Typenum is a Rust library for type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete.";
+    authors = [ "Paho Lurie-Gregg <paho@paholg.com>" "Andre Bogus <bogusandre@gmail.com>" ];
+    sha256 = "1v2cgg0mlzkg5prs7swysckgk2ay6bpda8m83c2sn3z77dcsx3bc";
+    build = "build/main.rs";
+    features = mkFeatures (features."typenum"."1.10.0" or {});
+  };
+  features_.typenum."1.10.0" = deps: f: updateFeatures f (rec {
+    typenum."1.10.0".default = (f.typenum."1.10.0".default or true);
+  }) [];
+
+
+# end
+# url_serde-0.2.0
+
+  crates.url_serde."0.2.0" = deps: { features?(features_.url_serde."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "url_serde";
+    version = "0.2.0";
+    description = "Serde support for URL types";
+    authors = [ "The rust-url developers" ];
+    sha256 = "07ry87rw0pi1da6b53f7s3f52wx3ihxbcgjd4ldspfv5xh6wipsg";
+    dependencies = mapFeatures features ([
+      (crates."serde"."${deps."url_serde"."0.2.0"."serde"}" deps)
+      (crates."url"."${deps."url_serde"."0.2.0"."url"}" deps)
+    ]);
+  };
+  features_.url_serde."0.2.0" = deps: f: updateFeatures f (rec {
+    serde."${deps.url_serde."0.2.0".serde}".default = true;
+    url."${deps.url_serde."0.2.0".url}".default = true;
+    url_serde."0.2.0".default = (f.url_serde."0.2.0".default or true);
+  }) [
+    (features_.serde."${deps."url_serde"."0.2.0"."serde"}" deps)
+    (features_.url."${deps."url_serde"."0.2.0"."url"}" deps)
+  ];
+
+
+# end
+# vcpkg-0.2.6
+
+  crates.vcpkg."0.2.6" = deps: { features?(features_.vcpkg."0.2.6" deps {}) }: buildRustCrate {
+    crateName = "vcpkg";
+    version = "0.2.6";
+    description = "A library to find native dependencies in a vcpkg tree at build\ntime in order to be used in Cargo build scripts.\n";
+    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
+    sha256 = "1ig6jqpzzl1z9vk4qywgpfr4hfbd8ny8frqsgm3r449wkc4n1i5x";
+  };
+  features_.vcpkg."0.2.6" = deps: f: updateFeatures f (rec {
+    vcpkg."0.2.6".default = (f.vcpkg."0.2.6".default or true);
+  }) [];
+
+
+# end
+# walkdir-2.2.7
+
+  crates.walkdir."2.2.7" = deps: { features?(features_.walkdir."2.2.7" deps {}) }: buildRustCrate {
+    crateName = "walkdir";
+    version = "2.2.7";
+    description = "Recursively walk a directory.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0wq3v28916kkla29yyi0g0xfc16apwx24py68049kriz3gjlig03";
+    dependencies = mapFeatures features ([
+      (crates."same_file"."${deps."walkdir"."2.2.7"."same_file"}" deps)
+    ])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."walkdir"."2.2.7"."winapi"}" deps)
+      (crates."winapi_util"."${deps."walkdir"."2.2.7"."winapi_util"}" deps)
+    ]) else []);
+  };
+  features_.walkdir."2.2.7" = deps: f: updateFeatures f (rec {
+    same_file."${deps.walkdir."2.2.7".same_file}".default = true;
+    walkdir."2.2.7".default = (f.walkdir."2.2.7".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.walkdir."2.2.7".winapi}"."std" = true; }
+      { "${deps.walkdir."2.2.7".winapi}"."winnt" = true; }
+      { "${deps.walkdir."2.2.7".winapi}".default = true; }
+    ];
+    winapi_util."${deps.walkdir."2.2.7".winapi_util}".default = true;
+  }) [
+    (features_.same_file."${deps."walkdir"."2.2.7"."same_file"}" deps)
+    (features_.winapi."${deps."walkdir"."2.2.7"."winapi"}" deps)
+    (features_.winapi_util."${deps."walkdir"."2.2.7"."winapi_util"}" deps)
+  ];
+
+
+# end
+# winapi-0.2.8
+
+  crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+  };
+  features_.winapi."0.2.8" = deps: f: updateFeatures f (rec {
+    winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
+  }) [];
+
+
+# end
+# winapi-0.3.7
+
+  crates.winapi."0.3.7" = deps: { features?(features_.winapi."0.3.7" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.3.7";
+    description = "Raw FFI bindings for all of Windows API.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1k51gfkp0zqw7nj07y443mscs46icmdhld442s2073niap0kkdr8";
+    build = "build.rs";
+    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps)
+    ]) else [])
+      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps)
+    ]) else []);
+    features = mkFeatures (features."winapi"."0.3.7" or {});
+  };
+  features_.winapi."0.3.7" = deps: f: updateFeatures f (rec {
+    winapi = fold recursiveUpdate {} [
+      { "0.3.7"."impl-debug" =
+        (f.winapi."0.3.7"."impl-debug" or false) ||
+        (f.winapi."0.3.7".debug or false) ||
+        (winapi."0.3.7"."debug" or false); }
+      { "0.3.7".default = (f.winapi."0.3.7".default or true); }
+    ];
+    winapi_i686_pc_windows_gnu."${deps.winapi."0.3.7".winapi_i686_pc_windows_gnu}".default = true;
+    winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.7".winapi_x86_64_pc_windows_gnu}".default = true;
+  }) [
+    (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps)
+    (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps)
+  ];
+
+
+# end
+# winapi-build-0.1.1
+
+  crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    description = "Common code for build.rs in WinAPI -sys crates.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+  };
+  features_.winapi_build."0.1.1" = deps: f: updateFeatures f (rec {
+    winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
+  }) [];
+
+
+# end
+# adler32-1.0.3
+
+  crates.adler32."1.0.3" = deps: { features?(features_.adler32."1.0.3" deps {}) }: buildRustCrate {
+    crateName = "adler32";
+    version = "1.0.3";
+    description = "Minimal Adler32 implementation for Rust.";
+    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
+    sha256 = "1z3mvjgw02mbqk98kizzibrca01d5wfkpazsrp3vkkv3i56pn6fb";
+  };
+  features_.adler32."1.0.3" = deps: f: updateFeatures f (rec {
+    adler32."1.0.3".default = (f.adler32."1.0.3".default or true);
+  }) [];
+
+
+# end
 }
diff --git a/pkgs/build-support/rust/default-crate-overrides.nix b/pkgs/build-support/rust/default-crate-overrides.nix
index 46b70ce6bace..c0b1797f73f5 100644
--- a/pkgs/build-support/rust/default-crate-overrides.nix
+++ b/pkgs/build-support/rust/default-crate-overrides.nix
@@ -12,16 +12,17 @@ in
 
   cargo = attrs: {
     buildInputs = [ openssl zlib curl ]
-      ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ];
-    # TODO: buildRustCrate seems to use incorrect default inference
-    crateBin = [ {  name = "cargo"; path = "src/bin/cargo.rs"; } ];
+      ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ];
   };
 
   cargo-vendor = attrs: {
-    buildInputs = [ openssl zlib curl ];
-    # TODO: this defaults to cargo_vendor; needs to be cargo-vendor to
-    # be considered a cargo subcommand.
-    crateBin = [ { name = "cargo-vendor"; path = "src/main.rs"; } ];
+    buildInputs = [ openssl zlib curl ]
+      ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+  };
+
+  libz-sys = attrs: {
+    buildInputs = [ pkgconfig zlib ];
+    extraLinkFlags = ["-L${zlib.out}/lib"];
   };
 
   curl-sys = attrs: {
diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh
index d26bf735d30a..f4a865e96687 100644
--- a/pkgs/build-support/setup-hooks/patch-shebangs.sh
+++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -5,10 +5,32 @@
 # rewritten to /nix/store/<hash>/bin/python.  Interpreters that are
 # already in the store are left untouched.
 
-fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi')
+fixupOutputHooks+=(patchShebangsAuto)
+
+# Run patch shebangs on a directory.
+# patchShebangs [--build | --host] directory
+
+# Flags:
+# --build : Lookup commands available at build-time
+# --host  : Lookup commands available at runtime
+
+# Example use cases,
+# $ patchShebangs --host /nix/store/...-hello-1.0/bin
+# $ patchShebangs --build configure
 
 patchShebangs() {
+    local pathName
+
+    if [ "$1" = "--host" ]; then
+        pathName=HOST_PATH
+        shift
+    elif [ "$1" = "--build" ]; then
+        pathName=PATH
+        shift
+    fi
+
     local dir="$1"
+
     header "patching script interpreter paths in $dir"
     local f
     local oldPath
@@ -27,6 +49,14 @@ patchShebangs() {
         oldInterpreterLine=$(head -1 "$f" | tail -c+3)
         read -r oldPath arg0 args <<< "$oldInterpreterLine"
 
+        if [ -z "$pathName" ]; then
+            if [ -n "$strictDeps" ] && [[ "$f" = "$NIX_STORE"* ]]; then
+                pathName=HOST_PATH
+            else
+                pathName=PATH
+            fi
+        fi
+
         if $(echo "$oldPath" | grep -q "/bin/env$"); then
             # Check for unsupported 'env' functionality:
             # - options: something starting with a '-'
@@ -35,14 +65,17 @@ patchShebangs() {
                 echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
                 exit 1
             fi
-            newPath="$(command -v "$arg0" || true)"
+
+            newPath="$(PATH="${!pathName}" command -v "$arg0" || true)"
         else
             if [ "$oldPath" = "" ]; then
                 # If no interpreter is specified linux will use /bin/sh. Set
                 # oldpath="/bin/sh" so that we get /nix/store/.../sh.
                 oldPath="/bin/sh"
             fi
-            newPath="$(command -v "$(basename "$oldPath")" || true)"
+
+            newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)"
+
             args="$arg0 $args"
         fi
 
@@ -55,13 +88,28 @@ patchShebangs() {
                 # escape the escape chars so that sed doesn't interpret them
                 escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
                 # Preserve times, see: https://github.com/NixOS/nixpkgs/pull/33281
-                touch -r "$f" "$f.timestamp"
+                timestamp=$(mktemp)
+                touch -r "$f" "$timestamp"
                 sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
-                touch -r "$f.timestamp" "$f"
-                rm "$f.timestamp"
+                touch -r "$timestamp" "$f"
+                rm "$timestamp"
             fi
         fi
     done < <(find "$dir" -type f -perm -0100 -print0)
 
     stopNest
 }
+
+patchShebangsAuto () {
+    if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then
+
+        # Dev output will end up being run on the build platform. An
+        # example case of this is sdl2-config. Otherwise, we can just
+        # use the runtime path (--host).
+        if [ "$output" != out ] && [ "$output" = "$outputDev" ]; then
+            patchShebangs --build "$prefix"
+        else
+            patchShebangs --host "$prefix"
+        fi
+    fi
+}
diff --git a/pkgs/build-support/source-from-head-fun.nix b/pkgs/build-support/source-from-head-fun.nix
index c6d6cfcc95b6..938df1efd18a 100644
--- a/pkgs/build-support/source-from-head-fun.nix
+++ b/pkgs/build-support/source-from-head-fun.nix
@@ -6,7 +6,7 @@
    app --publish
    to create source snapshots
 
-   The documentation is availible at http://github.com/MarcWeber/nix-repository-manager/raw/master/README
+   The documentation is availible at https://github.com/MarcWeber/nix-repository-manager/raw/master/README
 
 */
 { config }:
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 592af3fe4f20..e498417adf01 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -18,8 +18,8 @@ rec {
   * stdenv with no compiler environment. `runCommandCC`
   *
   * Examples:
-  * runCommand "name" {envVariable = true;} ''echo hello''
-  * runCommandNoCC "name" {envVariable = true;} ''echo hello'' # equivalent to prior
+  * runCommand "name" {envVariable = true;} ''echo hello > $out''
+  * runCommandNoCC "name" {envVariable = true;} ''echo hello > $out'' # equivalent to prior
   * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
   */
   runCommand = runCommandNoCC;
diff --git a/pkgs/build-support/wrapper-common/utils.bash b/pkgs/build-support/wrapper-common/utils.bash
index 12b596a83e6f..4fd57162072e 100644
--- a/pkgs/build-support/wrapper-common/utils.bash
+++ b/pkgs/build-support/wrapper-common/utils.bash
@@ -86,9 +86,6 @@ expandResponseParams() {
                 #shellcheck disable=SC2034
                 readarray -d '' params < <("@expandResponseParams@" "$@")
                 return 0
-            else
-                echo "Response files aren't supported during bootstrapping" >&2
-                return 1
             fi
         fi
     done
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
index 281d2b19bc65..29a4bbad703e 100644
--- a/pkgs/build-support/writers/default.nix
+++ b/pkgs/build-support/writers/default.nix
@@ -94,8 +94,8 @@ rec {
         ]}
         gcc \
             ${optionalString (libraries != [])
-              "$(pkgs.pkgconfig}/bin/pkg-config --cflags --libs ${
-                concatMapStringsSep " " (lib: escapeShellArg (builtins.parseDrvName lib.name).name) (libraries)
+              "$(pkg-config --cflags --libs ${
+                concatMapStringsSep " " (pkg: "$(find ${escapeShellArg pkg}/lib/pkgsconfig -name \*.pc -exec basename {} \;)") libraries
               })"
             } \
             -O \