multi-branch git-pijul

rohan
Jan 21, 2022, 1:52 AM
EOOATCK7UNAL5X4YOZHBJCTCRHNMYPJ67YDEEFOU5YM3G7CSDU7QC

Dependencies

Change contents

  • file addition: src (d--r------)
    [2.1]
  • file addition: main.rs (----------)
    [0.1]
    use chrono;
    use env_logger;
    use git2;
    use libpijul;
    use rand;
    #[macro_use]
    extern crate clap;
    #[macro_use]
    extern crate log;
    use chrono::TimeZone;
    use clap::{App, Arg};
    use git2::*;
    use libpijul::fs_representation;
    use libpijul::fs_representation::{RepoPath, RepoRoot};
    use libpijul::patch::PatchFlags;
    use rand::Rng;
    use std::collections::hash_map::Entry::{Occupied, Vacant};
    use std::collections::BTreeSet;
    use std::collections::HashMap;
    use std::fs::File;
    use std::fs::OpenOptions;
    use std::io::BufRead;
    use std::io::BufReader;
    use std::io::BufWriter;
    use std::io::Write;
    use std::path::{Path, PathBuf};
    fn main() {
    env_logger::init();
    let matches = App::new("Git -> Pijul converter")
    .version(crate_version!())
    .about("Converts a Git repository into a Pijul one")
    .arg(
    Arg::with_name("INPUT")
    .help("Sets the input Git repository.")
    .required(true)
    .index(1),
    )
    .get_matches();
    let repo_root = Path::new(matches.value_of("INPUT").unwrap());
    let repo = Repository::open(repo_root).unwrap();
    let commits = get_commits(&repo);
    let pijul_dir = repo_root.join(".pijul");
    let commit_log_name = pijul_dir.join("git-converted-commits");
    match File::open(&commit_log_name) {
    Ok(prev_commit_log) => {
    let reader = BufReader::new(prev_commit_log);
    for line in reader.lines() {
    println!("already processed {}", line.unwrap());
    }
    }
    Err(_) => {
    debug!("create new repo");
    std::fs::remove_dir_all(&pijul_dir).unwrap_or(());
    fs_representation::create(&repo_root, rand::thread_rng()).unwrap();
    File::create(&commit_log_name).unwrap();
    }
    };
    let commit_log = OpenOptions::new()
    .append(true)
    .open(&commit_log_name)
    .unwrap();
    let mut writer = BufWriter::new(commit_log);
    let repo_root = if let Some(r) = fs_representation::find_repo_root(&repo_root) {
    r
    } else {
    error!("no repo");
    return;
    };
    let pristine_dir = repo_root.pristine_dir();
    let mut current_branch_name = "master";
    for &(commit_id, ref branch_name, ref forks) in commits.iter() {
    let mut increase = 409600;
    if current_branch_name != branch_name {
    let _res = loop {
    match switch_branch(current_branch_name, branch_name, &repo_root, increase) {
    Err(ref e) if e.lacks_space() => increase *= 2,
    e => break e,
    }
    };
    current_branch_name = branch_name;
    }
    debug!("id {:?}", commit_id);
    let commit = repo.find_commit(commit_id).unwrap();
    let mut checkout = build::CheckoutBuilder::new();
    checkout.force();
    repo.checkout_tree(commit.as_object(), Some(&mut checkout))
    .unwrap();
    let files = loop {
    match file_moves(&repo, &repo_root, &commit, &pristine_dir, increase) {
    Err(ref e) if e.lacks_space() => increase *= 2,
    e => break e,
    }
    };
    let author = commit.author();
    record(
    &repo_root,
    &branch_name,
    libpijul::PatchHeader {
    authors: vec![format!(
    "{} <{}>",
    author.name().unwrap().to_string(),
    author.email().unwrap().to_string()
    )],
    name: commit.message().unwrap().to_string(),
    description: None,
    timestamp: chrono::Utc.timestamp(author.when().seconds(), 0),
    flag: PatchFlags::empty(),
    },
    files.unwrap(),
    );
    let new_repo = libpijul::Repository::open(&pristine_dir, None).unwrap();
    for fork in forks {
    debug!("creating branch {:?}", fork);
    let mut txn = new_repo.mut_txn_begin(rand::thread_rng()).unwrap();
    let branch = txn.open_branch(&branch_name).unwrap();
    let new_branch = txn.fork(&branch, &fork).unwrap();
    let _res1 = txn.commit_branch(branch);
    let _res2 = txn.commit_branch(new_branch);
    let _res3 = txn.commit();
    }
    writeln!(writer, "{}", commit_id);
    writer.flush().unwrap();
    }
    }
    fn get_commits(
    repo: &git2::Repository,
    ) -> Vec<(
    git2::Oid,
    std::string::String,
    std::vec::Vec<std::string::String>,
    )> {
    let mut walk = repo.revwalk().unwrap();
    walk.set_sorting(git2::Sort::TOPOLOGICAL);
    let mut commit_to_branch = HashMap::new();
    let branches = match repo.branches(Some(git2::BranchType::Local)) {
    Err(e) => {
    eprint!("{}", e.message());
    panic!(e)
    }
    Ok(r) => r,
    };
    for branch in branches {
    let branch = branch.unwrap().0;
    let commit = branch.get().target().unwrap();
    let _res = walk.push(commit);
    commit_to_branch.insert(
    commit,
    (branch.name().unwrap().unwrap().to_owned(), Vec::new()),
    );
    }
    let mut commits_reverse = Vec::new();
    for commit in walk {
    let commit = commit.unwrap();
    let (current_branch, forks) = commit_to_branch.get(&commit).unwrap().clone();
    for parent in repo.find_commit(commit).unwrap().parents() {
    match commit_to_branch.entry(parent.id()) {
    // put the parent into the same branch as the child, if it's not already on one
    Vacant(entry) => {
    entry.insert((current_branch.clone(), Vec::new()));
    }
    // otherwise this is a fork point at the parent
    Occupied(mut entry) => {
    let ref mut parent_forks = entry.get_mut().1;
    parent_forks.push(current_branch.clone());
    }
    };
    }
    debug!(
    "commit {:?} in branch {:?} with forks {:?}",
    commit, current_branch, forks
    );
    commits_reverse.push((commit, current_branch, forks));
    }
    commits_reverse.reverse();
    commits_reverse
    }
    fn switch_branch(
    current_branch_name: &str,
    branch_name: &str,
    repo_root: &RepoRoot<PathBuf>,
    increase: u64,
    ) -> libpijul::Result<()> {
    debug!("switch branch {:?}", branch_name);
    let new_repo = libpijul::Repository::open(repo_root.pristine_dir(), Some(increase))?;
    let mut txn = new_repo.mut_txn_begin(rand::thread_rng()).unwrap();
    let mut branch = if let Some(branch) = txn.get_branch(branch_name) {
    branch
    } else {
    // no existing branch - should only be for when the base branch is not called "master"
    let branch = txn.open_branch(&current_branch_name)?;
    let new_branch = txn.fork(&branch, &branch_name)?;
    let _res1 = txn.commit_branch(branch);
    let _res2 = txn.commit_branch(new_branch);
    txn.open_branch(&branch_name)?
    };
    use libpijul::ToPrefixes;
    let pref = (&[][..] as &[RepoPath<&Path>]).to_prefixes(&txn, &branch);
    txn.output_repository(
    &mut branch,
    &repo_root,
    &pref,
    &libpijul::patch::UnsignedPatch::empty().leave_unsigned(),
    &BTreeSet::new(),
    )?;
    txn.commit_branch(branch)?;
    txn.commit()?;
    repo_root.set_current_branch(branch_name)?;
    Ok(())
    }
    fn file_moves(
    repo: &Repository,
    repo_root: &RepoRoot<PathBuf>,
    commit: &Commit<'_>,
    pristine_dir: &Path,
    increase: u64,
    ) -> libpijul::Result<Vec<PathBuf>> {
    debug!("file_moves, commit {:?}", commit.id());
    debug!("commit msg: {:?}", commit.message());
    let tree1 = commit.tree().unwrap();
    let new_repo = match libpijul::Repository::open(&pristine_dir, Some(increase)) {
    Ok(repo) => repo,
    Err(x) => return Err(x),
    };
    let mut txn = new_repo.mut_txn_begin(rand::thread_rng()).unwrap();
    let mut has_parents = false;
    let mut files = Vec::new();
    for parent in commit.parents() {
    has_parents = true;
    debug!("parent: {:?}", parent.id());
    let tree0 = parent.tree().unwrap();
    let mut diff = repo
    .diff_tree_to_tree(Some(&tree0), Some(&tree1), None)
    .unwrap();
    diff.find_similar(None).unwrap();
    files.extend(
    diff.deltas()
    .map(&mut |delta| file_cb(&mut txn, delta, repo_root)),
    );
    }
    if !has_parents {
    let mut diff = repo.diff_tree_to_tree(None, Some(&tree1), None).unwrap();
    diff.find_similar(None).unwrap();
    files.extend(
    diff.deltas()
    .map(&mut |delta| file_cb(&mut txn, delta, repo_root)),
    );
    }
    txn.commit().unwrap();
    Ok(files)
    }
    fn file_cb<'a, 'b, R: Rng>(
    txn: &'b mut libpijul::MutTxn<'_, R>,
    delta: DiffDelta<'a>,
    repo_root: &'b RepoRoot<PathBuf>,
    ) -> PathBuf {
    debug!("nfiles: {:?}", delta.nfiles());
    debug!("old: {:?}", delta.old_file().path());
    debug!("new: {:?}", delta.new_file().path());
    debug!("status {:?}", delta.status());
    let old = delta.old_file().path().unwrap();
    let new = delta.new_file().path().unwrap();
    match delta.status() {
    Delta::Renamed => {
    debug!("moving {:?} to {:?}", old, new);
    txn.move_file(&RepoPath(old), &RepoPath(new), false)
    .unwrap();
    }
    Delta::Added => {
    debug!("added {:?}", new);
    let m = std::fs::metadata(&repo_root.absolutize(&RepoPath(new))).unwrap();
    txn.add_file(&RepoPath(new), m.is_dir()).unwrap_or(())
    }
    Delta::Deleted => {
    debug!("deleted {:?}", new);
    txn.remove_file(&RepoPath(new)).unwrap()
    }
    _ => {}
    }
    new.to_path_buf()
    }
    fn record(
    repo_root: &RepoRoot<PathBuf>,
    branch_name: &str,
    header: libpijul::PatchHeader,
    files: Vec<PathBuf>,
    ) {
    let (patch, hash, syncs) = {
    let mut increase = 409600;
    loop {
    match patch_no_resize(repo_root, branch_name, &header, &files, increase) {
    Err(ref e) if e.lacks_space() => {
    debug!("patch_no_resize increase: {:?}", increase);
    increase *= 2
    }
    res => break res.unwrap(),
    }
    }
    };
    debug!("hash recorded: {:?}", hash);
    let mut increase = 409600;
    let pristine_dir = repo_root.pristine_dir();
    let res = loop {
    match record_no_resize(
    &pristine_dir,
    &repo_root,
    branch_name,
    &hash,
    &patch,
    &syncs,
    increase,
    ) {
    Err(ref e) if e.lacks_space() => increase *= 2,
    e => break e,
    }
    };
    res.unwrap();
    }
    fn patch_no_resize(
    repo_root: &RepoRoot<PathBuf>,
    branch_name: &str,
    header: &libpijul::PatchHeader,
    files: &Vec<PathBuf>,
    increase: u64,
    ) -> libpijul::Result<(
    libpijul::Patch,
    libpijul::Hash,
    BTreeSet<libpijul::InodeUpdate>,
    )> {
    let new_repo = libpijul::Repository::open(repo_root.pristine_dir(), Some(increase))?;
    let mut new_txn = new_repo.mut_txn_begin(rand::thread_rng())?;
    use libpijul::*;
    let mut record = RecordState::new();
    let mut prefixes = BTreeSet::new();
    files.iter().for_each(|file| {
    let mut prefix = RepoPath(file.to_path_buf());
    loop {
    let inode = new_txn.find_inode(&prefix).unwrap();
    if let Some(parent) = new_txn.get_revtree(inode) {
    if parent.parent_inode.is_root() {
    prefixes.insert(prefix);
    break;
    } else if let Some(_) = new_txn.get_inodes(parent.parent_inode) {
    prefixes.insert(prefix);
    break;
    }
    }
    prefix = prefix.parent().unwrap().to_owned();
    }
    });
    let mut branch = new_txn.open_branch(branch_name)?;
    prefixes.iter().for_each(|prefix| {
    debug!("recording: {:?}", prefix);
    new_txn
    .record(
    libpijul::DiffAlgorithm::Myers,
    &mut record,
    &mut branch,
    &repo_root,
    &prefix,
    )
    .unwrap()
    });
    let (changes, syncs) = record.finish();
    let changes: Vec<_> = changes
    .into_iter()
    .flat_map(|x| new_txn.globalize_record(x).into_iter())
    .collect();
    let patch = new_txn.new_patch(
    &branch,
    header.authors.clone(),
    header.name.clone(),
    header.description.clone(),
    header.timestamp.clone(),
    changes,
    std::iter::empty(), // extra_deps.into_iter(),
    PatchFlags::empty(),
    );
    let patches_dir = repo_root.patches_dir();
    // std::fs::create_dir_all(&patches_dir)?;
    let hash = patch.save(&patches_dir, None)?;
    new_txn.commit_branch(branch)?;
    new_txn.commit()?;
    Ok((patch, hash, syncs))
    }
    fn record_no_resize(
    pristine_dir: &Path,
    repo_root: &RepoRoot<PathBuf>,
    branch_name: &str,
    hash: &libpijul::Hash,
    patch: &libpijul::Patch,
    syncs: &BTreeSet<libpijul::InodeUpdate>,
    increase: u64,
    ) -> libpijul::Result<Option<libpijul::Hash>> {
    use libpijul::*;
    let size_increase = increase + patch.size_upper_bound() as u64;
    let repo = match Repository::open(&pristine_dir, Some(size_increase)) {
    Ok(repo) => repo,
    Err(x) => return Err(x),
    };
    let mut txn = repo.mut_txn_begin(rand::thread_rng())?;
    // save patch
    let mut branch = txn.open_branch(branch_name)?;
    txn.apply_local_patch(&mut branch, repo_root, &hash, &patch, syncs, false)?;
    txn.commit_branch(branch)?;
    txn.commit()?;
    debug!("Recorded patch {}", hash.to_base58());
    Ok(Some(hash.clone()))
    }
  • file addition: shell.nix (----------)
    [2.1]
    with import <nixpkgs> {};
    let src = fetchFromGitHub {
    owner = "mozilla";
    repo = "nixpkgs-mozilla";
    rev = "b52a8b7de89b1fac49302cbaffd4caed4551515f";
    sha256 = "1np4fmcrg6kwlmairyacvhprqixrk7x9h89k813safnlgbgqwrqb";
    };
    in
    with import "${src.out}/rust-overlay.nix" pkgs pkgs;
    clangStdenv.mkDerivation {
    name = "rust-git-pijul";
    buildInputs = [
    rustChannels.stable.rust
    rustracer
    libsodium pkgconfig openssl nettle
    ];
    LIBCLANG_PATH="${llvmPackages.libclang}/lib";
    RUST_SRC_PATH = "${latest.rustChannels.stable.rust-src}/lib/rustlib/src/rust/src";
    }
  • file addition: README.md (----------)
    [2.1]
    # Converter from Git to Pijul
    Just apply it like so:
    ```
    mkdir repo
    cd repo
    git init
    echo a > a
    git commit -a -m "test"
    cd ..
    git-pijul repo
    ```
  • file addition: Cargo.toml (----------)
    [2.1]
    [package]
    name = "git-pijul"
    version = "0.1.0"
    authors = ["pe@pijul.org <pe@pijul.org>"]
    edition = "2018"
    [dependencies]
    libpijul = "0.12.1"
    git2 = "0.7"
    rand = "0.5.5"
    chrono = "0.4.6"
    env_logger = "0.5"
    clap = "2.32.0"
    log = "0.4"
    [replace]
    "libpijul:0.12.1" = { path = "../pijul/libpijul" }
  • file addition: Cargo.lock (----------)
    [2.1]
    # This file is automatically @generated by Cargo.
    # It is not intended for manual editing.
    [[package]]
    name = "adler32"
    version = "1.0.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "aho-corasick"
    version = "0.7.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "ansi_term"
    version = "0.11.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "arrayref"
    version = "0.3.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "arrayvec"
    version = "0.4.11"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "ascii-canvas"
    version = "2.0.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "atty"
    version = "0.2.11"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "autocfg"
    version = "0.1.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "backtrace"
    version = "0.3.30"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "backtrace-sys"
    version = "0.1.28"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "base64"
    version = "0.9.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "base64"
    version = "0.10.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "bincode"
    version = "1.1.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "bindgen"
    version = "0.47.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "clang-sys 0.26.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "bit-set"
    version = "0.5.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "bit-vec"
    version = "0.5.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "bitflags"
    version = "1.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "blake2b_simd"
    version = "0.5.8"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "block-buffer"
    version = "0.7.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "block-padding"
    version = "0.1.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "bs58"
    version = "0.2.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "bstr"
    version = "0.1.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "buffered-reader"
    version = "0.9.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "flate2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "build_const"
    version = "0.2.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "byte-tools"
    version = "0.3.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "byteorder"
    version = "1.3.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "bzip2"
    version = "0.3.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "bzip2-sys"
    version = "0.1.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "cc"
    version = "1.0.37"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "cexpr"
    version = "0.3.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "cfg-if"
    version = "0.1.9"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "chrono"
    version = "0.4.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
    "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "clang-sys"
    version = "0.26.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "libloading 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "clap"
    version = "2.33.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "cloudabi"
    version = "0.0.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "constant_time_eq"
    version = "0.1.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "crc"
    version = "1.8.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "crc32fast"
    version = "1.2.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "crossbeam-channel"
    version = "0.3.8"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "crossbeam-utils"
    version = "0.6.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "curl-sys"
    version = "0.4.18"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-sys 0.9.47 (registry+https://github.com/rust-lang/crates.io-index)",
    "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
    "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "diff"
    version = "0.1.11"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "diffs"
    version = "0.3.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "digest"
    version = "0.8.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "dirs"
    version = "1.0.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "docopt"
    version = "1.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    "strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "either"
    version = "1.5.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "ena"
    version = "0.13.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "env_logger"
    version = "0.5.13"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "env_logger"
    version = "0.6.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "failure"
    version = "0.1.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "backtrace 0.3.30 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "failure_derive"
    version = "0.1.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
    "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "fake-simd"
    version = "0.1.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "fixedbitset"
    version = "0.1.9"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "flate2"
    version = "1.0.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "fnv"
    version = "1.0.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "foreign-types"
    version = "0.3.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "foreign-types-shared"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "fs2"
    version = "0.4.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "fuchsia-cprng"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "generic-array"
    version = "0.12.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "getrandom"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "git-pijul"
    version = "0.1.0"
    dependencies = [
    "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
    "git2 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "libpijul 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "git2"
    version = "0.7.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "libgit2-sys 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-sys 0.9.47 (registry+https://github.com/rust-lang/crates.io-index)",
    "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "glob"
    version = "0.2.11"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "globset"
    version = "0.4.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "bstr 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "hashbrown"
    version = "0.1.8"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "hex"
    version = "0.3.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "humantime"
    version = "1.2.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "idna"
    version = "0.1.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "ignore"
    version = "0.4.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "globset 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "itertools"
    version = "0.8.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "itoa"
    version = "0.4.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "lalrpop"
    version = "0.17.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "ascii-canvas 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "diff 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "lalrpop-util 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "string_cache 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "lalrpop-util"
    version = "0.17.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "lazy_static"
    version = "1.3.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "libc"
    version = "0.2.58"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "libgit2-sys"
    version = "0.7.11"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "curl-sys 0.4.18 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-sys 0.9.47 (registry+https://github.com/rust-lang/crates.io-index)",
    "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "libloading"
    version = "0.5.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "libpijul"
    version = "0.12.1"
    dependencies = [
    "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "diffs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "flate2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "ignore 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl 0.10.23 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "sanakirja 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "sequoia-openpgp 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
    "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "libpijul"
    version = "0.12.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    replace = "libpijul 0.12.1"
    [[package]]
    name = "libssh2-sys"
    version = "0.2.11"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-sys 0.9.47 (registry+https://github.com/rust-lang/crates.io-index)",
    "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
    "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "libz-sys"
    version = "1.0.25"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
    "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "log"
    version = "0.4.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "mach_o_sys"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "matches"
    version = "0.1.8"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "memchr"
    version = "2.2.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "memmap"
    version = "0.7.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "memsec"
    version = "0.5.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "getrandom 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "mach_o_sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "miniz-sys"
    version = "0.1.12"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "miniz_oxide"
    version = "0.2.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "miniz_oxide_c_api"
    version = "0.2.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "nettle"
    version = "5.0.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "getrandom 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "nettle-sys 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "nettle-sys"
    version = "2.0.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bindgen 0.47.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "new_debug_unreachable"
    version = "1.0.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "nodrop"
    version = "0.1.13"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "nom"
    version = "4.2.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "num-integer"
    version = "0.1.41"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "num-traits"
    version = "0.2.8"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "numtoa"
    version = "0.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "opaque-debug"
    version = "0.2.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "openssl"
    version = "0.10.23"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-sys 0.9.47 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "openssl-probe"
    version = "0.1.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "openssl-sys"
    version = "0.9.47"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
    "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "ordermap"
    version = "0.3.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "peeking_take_while"
    version = "0.1.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "percent-encoding"
    version = "1.0.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "petgraph"
    version = "0.4.13"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "phf_generator"
    version = "0.7.24"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "phf_shared"
    version = "0.7.24"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "pkg-config"
    version = "0.3.14"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "precomputed-hash"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "proc-macro2"
    version = "0.4.30"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "quick-error"
    version = "1.2.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "quickcheck"
    version = "0.8.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "quote"
    version = "0.6.12"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand"
    version = "0.4.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand"
    version = "0.5.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand"
    version = "0.6.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_chacha"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_core"
    version = "0.3.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_core"
    version = "0.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "rand_hc"
    version = "0.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_isaac"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_jitter"
    version = "0.1.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_os"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_pcg"
    version = "0.1.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_xorshift"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rdrand"
    version = "0.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "redox_syscall"
    version = "0.1.54"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "redox_termios"
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "redox_users"
    version = "0.3.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
    "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "regex"
    version = "1.1.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "regex-syntax"
    version = "0.6.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "remove_dir_all"
    version = "0.5.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rust-argon2"
    version = "0.5.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rustc-demangle"
    version = "0.1.15"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "ryu"
    version = "0.2.8"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "safemem"
    version = "0.3.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "same-file"
    version = "1.0.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "sanakirja"
    version = "0.10.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "fs2 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "scopeguard"
    version = "0.3.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "sequoia-openpgp"
    version = "0.9.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "buffered-reader 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "flate2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "lalrpop 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "lalrpop-util 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "memsec 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "nettle 5.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "quickcheck 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "sequoia-rfc2822 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "sequoia-rfc2822"
    version = "0.9.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "lalrpop 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "lalrpop-util 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "serde"
    version = "1.0.92"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "serde_derive"
    version = "1.0.92"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "serde_json"
    version = "1.0.39"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "sha2"
    version = "0.8.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "siphasher"
    version = "0.2.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "smallvec"
    version = "0.6.9"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "string_cache"
    version = "0.7.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    "string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "string_cache_codegen"
    version = "0.4.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "string_cache_shared"
    version = "0.3.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "strsim"
    version = "0.8.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "strsim"
    version = "0.9.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "syn"
    version = "0.15.34"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "synstructure"
    version = "0.10.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
    "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "tempdir"
    version = "0.3.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "term"
    version = "0.5.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "termcolor"
    version = "1.0.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "termion"
    version = "1.5.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "textwrap"
    version = "0.11.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "thread_local"
    version = "0.3.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "time"
    version = "0.1.42"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "toml"
    version = "0.4.10"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "typenum"
    version = "1.10.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "ucd-util"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "unicode-bidi"
    version = "0.3.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "unicode-normalization"
    version = "0.1.8"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "unicode-width"
    version = "0.1.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "unicode-xid"
    version = "0.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "url"
    version = "1.7.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "utf8-ranges"
    version = "1.0.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "vcpkg"
    version = "0.2.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "vec_map"
    version = "0.8.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "version_check"
    version = "0.1.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "walkdir"
    version = "2.2.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "which"
    version = "2.0.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "winapi"
    version = "0.3.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "winapi-i686-pc-windows-gnu"
    version = "0.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "winapi-util"
    version = "0.1.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "winapi-x86_64-pc-windows-gnu"
    version = "0.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "wincolor"
    version = "1.0.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [metadata]
    "checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
    "checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c"
    "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
    "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
    "checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
    "checksum ascii-canvas 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8eb72df928aafb99fe5d37b383f2fe25bd2a765e3e5f7c365916b6f2463a29"
    "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
    "checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
    "checksum backtrace 0.3.30 (registry+https://github.com/rust-lang/crates.io-index)" = "ada4c783bb7e7443c14e0480f429ae2cc99da95065aeab7ee1b81ada0419404f"
    "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
    "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
    "checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
    "checksum bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9f04a5e50dc80b3d5d35320889053637d15011aed5e66b66b37ae798c65da6f7"
    "checksum bindgen 0.47.3 (registry+https://github.com/rust-lang/crates.io-index)" = "df683a55b54b41d5ea8ebfaebb5aa7e6b84e3f3006a78f010dadc9ca88469260"
    "checksum bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e84c238982c4b1e1ee668d136c510c67a13465279c0cb367ea6baf6310620a80"
    "checksum bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb"
    "checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
    "checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
    "checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
    "checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09"
    "checksum bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0de79cfb98e7aa9988188784d8664b4b5dad6eaaa0863b91d9a4ed871d4f7a42"
    "checksum bstr 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "59604ece62a407dc9164732e5adea02467898954c3a5811fd2dc140af14ef15b"
    "checksum buffered-reader 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "237cf351e1e6666907f4e2b59ee4a00083280445a0c6eb2261640615a3a33317"
    "checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
    "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
    "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
    "checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
    "checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
    "checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
    "checksum cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7fa24eb00d5ffab90eaeaf1092ac85c04c64aaf358ea6f84505b8116d24c6af"
    "checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
    "checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
    "checksum clang-sys 0.26.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ef0c1bcf2e99c649104bd7a7012d8f8802684400e03db0ec0af48583c6fa0e4"
    "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
    "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
    "checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
    "checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
    "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
    "checksum crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f0ed1a4de2235cabda8558ff5840bffb97fcb64c97827f354a451307df5f72b"
    "checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c"
    "checksum curl-sys 0.4.18 (registry+https://github.com/rust-lang/crates.io-index)" = "9d91a0052d5b982887d8e829bee0faffc7218ea3c6ebd3d6c2c8f678a93c9a42"
    "checksum diff 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3c2b69f912779fbb121ceb775d74d51e915af17aaebc38d28a592843a2dd0a3a"
    "checksum diffs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a195326f620ab1da14f60d991c066311122cbdce579a00085d8be45899c7da0c"
    "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
    "checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
    "checksum docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
    "checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
    "checksum ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3dc01d68e08ca384955a3aeba9217102ca1aa85b6e168639bf27739f1d749d87"
    "checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
    "checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a"
    "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
    "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
    "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
    "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33"
    "checksum flate2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f87e68aa82b2de08a6e037f1385455759df6e445a8df5e005b4297191dbf18aa"
    "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
    "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
    "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
    "checksum fs2 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
    "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
    "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592"
    "checksum getrandom 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8d1dffef07351aafe6ef177e4dd2b8dcf503e6bc765dea3b0de9ed149a3db1ec"
    "checksum git2 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "591f8be1674b421644b6c030969520bc3fa12114d2eb467471982ed3e9584e71"
    "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
    "checksum globset 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef4feaabe24a0a658fd9cf4a9acf6ed284f045c77df0f49020ba3245cfb7b454"
    "checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da"
    "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
    "checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
    "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
    "checksum ignore 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "8dc57fa12805f367736a38541ac1a9fc6a52812a0ca959b1d4d4b640a89eb002"
    "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
    "checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
    "checksum lalrpop 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)" = "64dc3698e75d452867d9bd86f4a723f452ce9d01fe1d55990b79f0c790aa67db"
    "checksum lalrpop-util 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c277d18683b36349ab5cd030158b54856fca6bb2d5dc5263b06288f486958b7c"
    "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
    "checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319"
    "checksum libgit2-sys 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)" = "48441cb35dc255da8ae72825689a95368bf510659ae1ad55dc4aa88cb1789bf1"
    "checksum libloading 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5692f82b51823e27c4118b3e5c0d98aee9be90633ebc71ad12afef380b50219"
    "checksum libpijul 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f9c3a214269e7bcf109aab8db4689ce7fd23c5ab8e199684e642995006f88d1"
    "checksum libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "126a1f4078368b163bfdee65fbab072af08a1b374a5551b21e87ade27b1fbf9d"
    "checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
    "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
    "checksum mach_o_sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e854583a83f20cf329bb9283366335387f7db59d640d1412167e05fedb98826"
    "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
    "checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
    "checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
    "checksum memsec 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ccabb92f665f997bcb4f3ade019a8e07315148d8bcef3e65fbc5dbd65a22eb04"
    "checksum miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9e3ae51cea1576ceba0dde3d484d30e6e5b86dee0b2d412fe3a16a15c98202"
    "checksum miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c468f2369f07d651a5d0bb2c9079f8488a66d5466efe42d0c5c6466edcb7f71e"
    "checksum miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fe927a42e3807ef71defb191dc87d4e24479b221e67015fe38ae2b7b447bab"
    "checksum nettle 5.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c40aad15a496df1ae843b5ca10cef328e64d04854404464f464fd5e11aa6d77d"
    "checksum nettle-sys 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1fb1d3e88d5e343f8da7c2e859662bac022c652b8927dd6d639e0b242a019f32"
    "checksum new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f40f005c60db6e03bae699e414c58bf9aa7ea02a2d0b9bfbcf19286cc4c82b30"
    "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
    "checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
    "checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
    "checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
    "checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
    "checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
    "checksum openssl 0.10.23 (registry+https://github.com/rust-lang/crates.io-index)" = "97c140cbb82f3b3468193dd14c1b88def39f341f68257f8a7fe8ed9ed3f628a5"
    "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
    "checksum openssl-sys 0.9.47 (registry+https://github.com/rust-lang/crates.io-index)" = "75bdd6dbbb4958d38e47a1d2348847ad1eb4dc205dc5d37473ae504391865acc"
    "checksum ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063"
    "checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
    "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
    "checksum petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3659d1ee90221741f65dd128d9998311b0e40c5d3c23a62445938214abce4f"
    "checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
    "checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
    "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
    "checksum precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
    "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
    "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
    "checksum quickcheck 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8d467b6d7a927b98d31a9d726d84da692787ae8238da3bed081fa992b30cfa8a"
    "checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
    "checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
    "checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
    "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
    "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
    "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
    "checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
    "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
    "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
    "checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
    "checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
    "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
    "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
    "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
    "checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
    "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
    "checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
    "checksum regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8f0a0bcab2fd7d1d7c54fa9eae6f43eddeb9ce2e7352f8518a814a4f65d60c58"
    "checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
    "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
    "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
    "checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af"
    "checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
    "checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
    "checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267"
    "checksum sanakirja 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3e24e0c542bec780df296d0cd866eb48dcdd092c6e59306d8d175869162d16ba"
    "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
    "checksum sequoia-openpgp 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dc4ddaa91071dad9d960b199e9c7884a72094f6d5ef6559c2cf0327ae215f000"
    "checksum sequoia-rfc2822 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac5c04d61bc70a72173c9a1b3d0ce06dd7e992d90e67614245e108834c2443aa"
    "checksum serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)" = "32746bf0f26eab52f06af0d0aa1984f641341d06d8d673c693871da2d188c9be"
    "checksum serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)" = "46a3223d0c9ba936b61c0d2e3e559e3217dbfb8d65d06d26e8b3c25de38bae3e"
    "checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
    "checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
    "checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
    "checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
    "checksum string_cache 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25d70109977172b127fe834e5449e5ab1740b9ba49fa18a2020f509174f25423"
    "checksum string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eea1eee654ef80933142157fdad9dd8bc43cf7c74e999e369263496f04ff4da"
    "checksum string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
    "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
    "checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
    "checksum syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)" = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"
    "checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
    "checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
    "checksum term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
    "checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
    "checksum termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
    "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
    "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
    "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
    "checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
    "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
    "checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
    "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
    "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
    "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
    "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
    "checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
    "checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
    "checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
    "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
    "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
    "checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1"
    "checksum which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164"
    "checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
    "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
    "checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
    "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
    "checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"
  • file addition: .ignore (----------)
    [2.1]
    .git
    .DS_Store