From e42ec59ff73d167c927c086dcf0953b61e091e53 Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Tue, 9 Apr 2024 16:35:25 +0200 Subject: [PATCH] Sigh (#81) * Sigh * Update CHANGELOG --- CHANGELOG.md | 3 + src/builder.rs | 57 +- tests/feature-bug/Cargo.lock | 638 ++++- tests/feature-bug/Cargo.toml | 16 +- tests/feature-bug/src/lib.rs | 13 - ...s__ignores_features_for_ignored_kinds.snap | 2283 +++++++++++------ 6 files changed, 2154 insertions(+), 856 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7befe5e..bba7c64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] - ReleaseDate +### Fixed +- [PR#81](https://github.com/EmbarkStudios/krates/pull/81) re-resolved [#79](https://github.com/EmbarkStudios/krates/issues/79) because the PR#80 completely broke in the presence of cargo patches. + ## [0.16.8] - 2024-04-09 ### Fixed - [PR#80](https://github.com/EmbarkStudios/krates/pull/80) resolved [#79](https://github.com/EmbarkStudios/krates/issues/79) by fixing an extreme edge case with dependency renaming. diff --git a/src/builder.rs b/src/builder.rs index a947361..52df45a 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -1170,6 +1170,24 @@ impl Builder { return None; } + let multiple_candidates = krate.dependencies.iter().filter(|dep| { + if dk.kind != dep.kind { + return false; + } + + // Crates can rename the dependency package themselves + let dname = dep.rename.as_deref().unwrap_or(&dep.name); + if !dep_names_match(dname, &rdep.name) && maybe_real_name != dname { + return false; + } + + // Handle case where a dependency may not have a version requirement, which + // typically happens in the case of non-registry dependencies that use a pre-release + // semver, if the version _is_ a prelease it will never match the empty + // requirement + (has_prelease && dep.req.comparators.is_empty()) || dep.req.matches(&rdep_version) + }).count() > 1; + let dep = krate .dependencies .iter() @@ -1179,19 +1197,30 @@ impl Builder { } // Crates can rename the dependency package themselves - let skip = if let Some(rename) = dep.rename.as_deref() { - !dep_names_match(rename, &rdep.name) - } else { - !dep_names_match(&dep.name, &rdep.name) && maybe_real_name != dep.name - }; + let dname = dep.rename.as_deref().unwrap_or(&dep.name); + if !dep_names_match(dname, &rdep.name) && maybe_real_name != dname { + return false; + } - if skip { + // Handle case where a dependency may not have a version requirement, which + // typically happens in the case of non-registry dependencies that use a pre-release + // semver, if the version _is_ a prelease it will never match the empty + // requirement + if !((has_prelease && dep.req.comparators.is_empty()) || dep.req.matches(&rdep_version)) { return false; } - // In addition to matching the name, ensure the sources are the same (when not paths), as - // it is possible to have a crate with the same name, but one is renamed, both sourced - // from the same git repo but at different revisions, etc + if !multiple_candidates { + return true; + } + + // Finally, even if the name matches and the version matches, the source for the package might + // be different if there are multiple git dependencies at different revisions :( + // There is also an _extreme_ edge case where a package's lib target can be the same + // name as another package. This actually would mean that the code won't compile, but I + // encountered it in testing (eg. the `md-5` crate names its lib target `md5`, and you + // can have a dependency on the `md5` crate, they both get resolved to the same name, but + // then rustc can't compile `md5::compute` because there are two libs that satisfy that name) let source_matches = dep.source.as_deref().map_or(true, |dsrc| { let psrc = rdep.pkg.source(); if let Some((dgit, pgit)) = dsrc.strip_prefix("git+").zip(psrc.strip_prefix("git+")) { @@ -1204,15 +1233,7 @@ impl Builder { } }); - if !source_matches { - return false; - } - - // Handle case where a dependency may not have a version requirement, which - // typically happens in the case of non-registry dependencies that use a pre-release - // semver, if the version _is_ a prelease it will never match the empty - // requirement - (has_prelease && dep.req.comparators.is_empty()) || dep.req.matches(&rdep_version) + source_matches }) .unwrap_or_else(|| panic!("cargo metadata resolved a dependency for a dependency not specified by the crate: {rdep:?}")); diff --git a/tests/feature-bug/Cargo.lock b/tests/feature-bug/Cargo.lock index 8a1ce77..8278775 100644 --- a/tests/feature-bug/Cargo.lock +++ b/tests/feature-bug/Cargo.lock @@ -2,19 +2,34 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + [[package]] name = "adler" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" + [[package]] name = "ahash" version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ - "getrandom", + "getrandom 0.2.12", "once_cell", "version_check", ] @@ -28,6 +43,60 @@ dependencies = [ "memchr", ] +[[package]] +name = "alga" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2" +dependencies = [ + "approx 0.3.2", + "num-complex 0.2.4", + "num-traits", +] + +[[package]] +name = "alga_derive" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf292193c4eb7fc03befa301900c5e59ea7df253053db751f89fd16524494528" +dependencies = [ + "edit-distance", + "proc-macro2", + "quickcheck", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "amethyst_core" +version = "0.10.1" +source = "git+https://gitlab.com/amethyst-engine/amethyst?rev=0c2da617#0c2da61772b89323af9dcfed0ed00b2a698d95b5" +dependencies = [ + "alga", + "alga_derive", + "amethyst_error", + "approx 0.3.2", + "derivative", + "derive-new", + "fnv", + "getset 0.0.9", + "log", + "nalgebra", + "num-traits", + "rayon", + "serde", + "specs", + "specs-hierarchy", +] + +[[package]] +name = "amethyst_error" +version = "0.5.1" +source = "git+https://gitlab.com/amethyst-engine/amethyst?rev=0c2da617#0c2da61772b89323af9dcfed0ed00b2a698d95b5" +dependencies = [ + "backtrace", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -49,6 +118,15 @@ version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +[[package]] +name = "approx" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +dependencies = [ + "num-traits", +] + [[package]] name = "approx" version = "0.4.0" @@ -58,6 +136,18 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + [[package]] name = "async-trait" version = "0.1.77" @@ -75,6 +165,21 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if 1.0.0", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base16ct" version = "0.1.1" @@ -105,13 +210,23 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +[[package]] +name = "block-buffer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" +dependencies = [ + "arrayref", + "byte-tools", +] + [[package]] name = "block-buffer" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -120,6 +235,12 @@ version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +[[package]] +name = "byte-tools" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" + [[package]] name = "bytes" version = "1.6.0" @@ -178,9 +299,9 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ff11ddd2af3b5e80dd0297fee6e56ac038d9bdc549573cdb51bd6d2efe7f05e" dependencies = [ - "num-complex", + "num-complex 0.4.4", "num-traits", - "rand", + "rand 0.8.5", "serde", ] @@ -220,6 +341,12 @@ dependencies = [ "smallvec", ] +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + [[package]] name = "cfg-if" version = "1.0.0" @@ -289,16 +416,63 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils 0.8.19", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils 0.8.19", +] + +[[package]] +name = "crossbeam-queue" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" +dependencies = [ + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-utils" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +dependencies = [ + "autocfg", + "cfg-if 0.1.10", + "lazy_static", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + [[package]] name = "crypto-common" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array", + "generic-array 0.14.7", "typenum", ] @@ -337,6 +511,28 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive-new" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_builder" version = "0.11.2" @@ -368,13 +564,22 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "digest" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" +dependencies = [ + "generic-array 0.9.1", +] + [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", + "block-buffer 0.10.4", "crypto-common", ] @@ -404,6 +609,28 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" +[[package]] +name = "edit-distance" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b" + +[[package]] +name = "either" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" + +[[package]] +name = "env_logger" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +dependencies = [ + "log", + "regex", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -424,8 +651,11 @@ dependencies = [ name = "feature-bug" version = "0.1.0" dependencies = [ + "amethyst_core", "krates 0.12.2", "krates 0.14.1", + "md-5", + "md5", "ndarray-linalg", "sub-crate", ] @@ -436,7 +666,7 @@ version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", "redox_syscall", "windows-sys 0.52.0", @@ -473,6 +703,24 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "generic-array" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d00328cedcac5e81c683e5620ca6a30756fc23027ebf9bff405c0e8da1fbb7e" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309" +dependencies = [ + "typenum", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -483,15 +731,37 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + [[package]] name = "getrandom" version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getset" +version = "0.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bb3f5b7d8d70c9bd23cf29b2b38094661418fb0ea79f1b0cc2019a11d6f5429" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -506,13 +776,29 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "hashbrown" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf" +dependencies = [ + "ahash 0.3.8", + "autocfg", +] + [[package]] name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.7", ] [[package]] @@ -521,6 +807,15 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +[[package]] +name = "hibitset" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ede5cfa60c958e60330d65163adbc4211e15a2653ad80eb0cce878de120121" +dependencies = [ + "rayon", +] + [[package]] name = "home" version = "0.5.9" @@ -708,6 +1003,12 @@ version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + [[package]] name = "libredox" version = "0.0.1" @@ -737,6 +1038,15 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "matrixmultiply" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "916806ba0031cd542105d916a97c8572e1fa6dd79c9c51e7eb43a09ec2dd84c1" +dependencies = [ + "rawpointer", +] + [[package]] name = "matrixmultiply" version = "0.3.8" @@ -747,6 +1057,29 @@ dependencies = [ "rawpointer", ] +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "md-5" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9402eaae33a9e144ce18ef488a0e4ca19869673c7bcdbbfe2030fdc3f84211cd" +dependencies = [ + "block-buffer 0.3.3", + "byte-tools", + "digest 0.7.6", +] + +[[package]] +name = "md5" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" + [[package]] name = "memchr" version = "2.7.1" @@ -768,17 +1101,50 @@ dependencies = [ "adler", ] +[[package]] +name = "mint" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" + +[[package]] +name = "mopa" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a785740271256c230f57462d3b83e52f998433a7062fc18f96d5999474a9f915" + +[[package]] +name = "nalgebra" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0abb021006c01b126a936a8dd1351e0720d83995f4fc942d0d426c654f990745" +dependencies = [ + "alga", + "approx 0.3.2", + "generic-array 0.13.3", + "matrixmultiply 0.2.4", + "mint", + "num-complex 0.2.4", + "num-rational", + "num-traits", + "rand 0.7.3", + "rand_distr", + "serde", + "serde_derive", + "typenum", +] + [[package]] name = "ndarray" version = "0.15.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" dependencies = [ - "approx", + "approx 0.4.0", "cblas-sys", "libc", - "matrixmultiply", - "num-complex", + "matrixmultiply 0.3.8", + "num-complex 0.4.4", "num-integer", "num-traits", "rawpointer", @@ -794,9 +1160,9 @@ dependencies = [ "katexit", "lax", "ndarray", - "num-complex", + "num-complex 0.4.4", "num-traits", - "rand", + "rand 0.8.5", "thiserror", ] @@ -819,6 +1185,17 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "num-complex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" +dependencies = [ + "autocfg", + "num-traits", + "serde", +] + [[package]] name = "num-complex" version = "0.4.4" @@ -826,7 +1203,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", "serde", ] @@ -840,6 +1217,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.17" @@ -847,6 +1235,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", + "libm", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", ] [[package]] @@ -856,7 +1254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98135224dd4faeb24c05a2fac911ed53ea6b09ecb09d7cada1cb79963ab2ee34" dependencies = [ "derive_builder", - "getset", + "getset 0.1.2", "serde", "serde_json", "thiserror", @@ -1011,6 +1409,18 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "quickcheck" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f" +dependencies = [ + "env_logger", + "log", + "rand 0.7.3", + "rand_core 0.5.1", +] + [[package]] name = "quote" version = "1.0.35" @@ -1020,6 +1430,19 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + [[package]] name = "rand" version = "0.8.5" @@ -1027,8 +1450,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", ] [[package]] @@ -1038,7 +1471,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", ] [[package]] @@ -1047,7 +1489,25 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.12", +] + +[[package]] +name = "rand_distr" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2" +dependencies = [ + "rand 0.7.3", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", ] [[package]] @@ -1056,6 +1516,26 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils 0.8.19", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -1071,7 +1551,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom", + "getrandom 0.2.12", "libredox", "thiserror", ] @@ -1112,7 +1592,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" dependencies = [ "cc", - "getrandom", + "getrandom 0.2.12", "libc", "spin", "untrusted", @@ -1136,10 +1616,16 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "ordered-multimap", ] +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + [[package]] name = "rustix" version = "0.38.28" @@ -1255,11 +1741,43 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cpufeatures", - "digest", + "digest 0.10.7", +] + +[[package]] +name = "shred" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f08237e667ac94ad20f8878b5943d91a93ccb231428446c57c21c57779016d" +dependencies = [ + "arrayvec", + "hashbrown 0.7.2", + "mopa", + "rayon", + "shred-derive", + "smallvec", + "tynm", ] +[[package]] +name = "shred-derive" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5404c36bd155e41a54276ab6aafedad2fb627e5e5849d36ec439c9ddc044a2f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "shrev" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ea33232fdcf1bf691ca33450e5a94dde13e1a8cbb8caabc5e4f9d761e10b1a" + [[package]] name = "smallvec" version = "1.13.2" @@ -1275,6 +1793,45 @@ dependencies = [ "serde", ] +[[package]] +name = "specs" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fff28a29366aff703d5da8a7e2c8875dc8453ac1118f842cbc0fa70c7db51240" +dependencies = [ + "crossbeam-queue", + "hashbrown 0.7.2", + "hibitset", + "log", + "rayon", + "shred", + "shrev", + "specs-derive", + "tuple_utils", +] + +[[package]] +name = "specs-derive" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e23e09360f3d2190fec4222cd9e19d3158d5da948c0d1ea362df617dd103511" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "specs-hierarchy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c932b14cb12cd113485208054b19049ef2dd7cfa8b2ef7f64d7e078d384eb42" +dependencies = [ + "hibitset", + "shrev", + "specs", +] + [[package]] name = "spin" version = "0.9.8" @@ -1431,16 +1988,31 @@ dependencies = [ "winnow", ] +[[package]] +name = "tuple_utils" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44834418e2c5b16f47bedf35c28e148db099187dd5feee6367fb2525863af4f1" + [[package]] name = "twox-hash" version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "static_assertions", ] +[[package]] +name = "tynm" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd30d05e69d1478e13fe3e7a853409cfec82cebc2cf9b8d613b3c6b0081781ed" +dependencies = [ + "nom", +] + [[package]] name = "typenum" version = "1.17.0" @@ -1515,7 +2087,7 @@ version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" dependencies = [ - "getrandom", + "getrandom 0.2.12", ] [[package]] @@ -1534,6 +2106,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -1546,7 +2124,7 @@ version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "wasm-bindgen-macro", ] diff --git a/tests/feature-bug/Cargo.toml b/tests/feature-bug/Cargo.toml index 89765a0..acc4764 100644 --- a/tests/feature-bug/Cargo.toml +++ b/tests/feature-bug/Cargo.toml @@ -13,12 +13,12 @@ edition = "2021" sub-crate = { path = "sub-crate", version = "0.1", default-features = false, features = [ "simple", ] } - -[dependencies.krates] -git = "https://github.com/EmbarkStudios/krates" -tag = "0.14.1" -default-features = false -features = ["prefer-index"] +amethyst_core = "0.10.1" +md-5 = "0.7.0" +md5 = "0.7.0" +krates = { version = "0.14.1", default-features = false, features = [ + "prefer-index", +] } [dependencies.krates-old] package = "krates" @@ -28,3 +28,7 @@ default-features = false [dev-dependencies] ndarray-linalg = { workspace = true, features = ["intel-mkl-static"] } + +[patch.crates-io] +amethyst_core = { git = "https://gitlab.com/amethyst-engine/amethyst", rev = "0c2da617" } +krates = { git = "https://github.com/EmbarkStudios/krates", tag = "0.14.1" } diff --git a/tests/feature-bug/src/lib.rs b/tests/feature-bug/src/lib.rs index 7d12d9a..8b13789 100644 --- a/tests/feature-bug/src/lib.rs +++ b/tests/feature-bug/src/lib.rs @@ -1,14 +1 @@ -pub fn add(left: usize, right: usize) -> usize { - left + right -} -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn it_works() { - let result = add(2, 2); - assert_eq!(result, 4); - } -} diff --git a/tests/snapshots/features__ignores_features_for_ignored_kinds.snap b/tests/snapshots/features__ignores_features_for_ignored_kinds.snap index 102950d..548a2e0 100644 --- a/tests/snapshots/features__ignores_features_for_ignored_kinds.snap +++ b/tests/snapshots/features__ignores_features_for_ignored_kinds.snap @@ -3,803 +3,1508 @@ source: tests/features.rs expression: dotgraph --- digraph { - 0 [ label = "crate ahash 0.7.7" ] - 1 [ label = "crate approx 0.4.0" ] - 2 [ label = "crate async-trait 0.1.77" ] - 3 [ label = "crate autocfg 1.1.0" ] - 4 [ label = "crate base64 0.13.1" ] - 5 [ label = "crate bitflags 1.3.2" ] - 6 [ label = "crate block-buffer 0.10.4" ] - 7 [ label = "crate bytes 1.6.0" ] - 8 [ label = "crate camino 1.1.6" ] - 9 [ label = "crate cargo-platform 0.1.8" ] - 10 [ label = "crate cargo_metadata 0.15.4" ] - 11 [ label = "crate cargo_metadata 0.17.0" ] - 12 [ label = "crate cauchy 0.4.0" ] - 13 [ label = "crate cblas-sys 0.1.4" ] - 14 [ label = "crate cc 1.0.83" ] - 15 [ label = "crate cfg-expr 0.11.0" ] - 16 [ label = "crate cfg-expr 0.15.7" ] - 17 [ label = "crate cfg-if 1.0.0" ] - 18 [ label = "crate cmake 0.1.50" ] - 19 [ label = "crate config 0.13.4" ] - 20 [ label = "crate cpufeatures 0.2.12" ] - 21 [ label = "crate crypto-common 0.1.6" ] - 22 [ label = "crate digest 0.10.7" ] - 23 [ label = "crate dlv-list 0.3.0" ] - 24 [ label = "crate equivalent 1.0.1" ] - 25 [ label = "crate feature-bug 0.1.0 path+file:///krates/tests/feature-bug" ] - 26 [ label = "crate fixedbitset 0.4.2" ] - 27 [ label = "crate fnv 1.0.7" ] - 28 [ label = "crate generic-array 0.14.7" ] - 29 [ label = "crate getrandom 0.2.12" ] - 30 [ label = "crate hashbrown 0.12.3" ] - 31 [ label = "crate hashbrown 0.14.3" ] - 32 [ label = "crate home 0.5.9" ] - 33 [ label = "crate http 0.2.12" ] - 34 [ label = "crate indexmap 2.2.6" ] - 35 [ label = "crate itoa 1.0.10" ] - 36 [ label = "crate json5 0.4.1" ] - 37 [ label = "crate katexit 0.1.4" ] - 38 [ label = "crate krates 0.12.2 git+https://github.com/EmbarkStudios/krates?tag=0.12.2" ] - 39 [ label = "crate krates 0.14.1 git+https://github.com/EmbarkStudios/krates?tag=0.14.1" ] - 40 [ label = "crate lapack-sys 0.14.0" ] - 41 [ label = "crate lax 0.16.0" ] - 42 [ label = "crate lazy_static 1.4.0" ] - 43 [ label = "crate libc 0.2.152" ] - 44 [ label = "crate linked-hash-map 0.5.6" ] - 45 [ label = "crate matrixmultiply 0.3.8" ] - 46 [ label = "crate memchr 2.7.1" ] - 47 [ label = "crate minimal-lexical 0.2.1" ] - 48 [ label = "crate ndarray 0.15.6" ] - 49 [ label = "crate ndarray-linalg 0.16.0" ] - 50 [ label = "crate netlib-src 0.8.0" ] - 51 [ label = "crate nom 7.1.3" ] - 52 [ label = "crate num-complex 0.4.4" ] - 53 [ label = "crate num-integer 0.1.45" ] - 54 [ label = "crate num-traits 0.2.17" ] - 55 [ label = "crate once_cell 1.19.0" ] - 56 [ label = "crate ordered-multimap 0.4.3" ] - 57 [ label = "crate pathdiff 0.2.1" ] - 58 [ label = "crate pest 2.7.6" ] - 59 [ label = "crate pest_derive 2.7.6" ] - 60 [ label = "crate pest_generator 2.7.6" ] - 61 [ label = "crate pest_meta 2.7.6" ] - 62 [ label = "crate petgraph 0.6.4" ] - 63 [ label = "crate ppv-lite86 0.2.17" ] - 64 [ label = "crate proc-macro2 1.0.76" ] - 65 [ label = "crate quote 1.0.35" ] - 66 [ label = "crate rand 0.8.5" ] - 67 [ label = "crate rand_chacha 0.3.1" ] - 68 [ label = "crate rand_core 0.6.4" ] - 69 [ label = "crate rawpointer 0.2.1" ] - 70 [ label = "crate ron 0.7.1" ] - 71 [ label = "crate rust-ini 0.18.0" ] - 72 [ label = "crate ryu 1.0.16" ] - 73 [ label = "crate semver 1.0.22" ] - 74 [ label = "crate serde 1.0.195" ] - 75 [ label = "crate serde_derive 1.0.195" ] - 76 [ label = "crate serde_json 1.0.111" ] - 77 [ label = "crate serde_spanned 0.6.5" ] - 78 [ label = "crate sha2 0.10.8" ] - 79 [ label = "crate smallvec 1.13.2" ] - 80 [ label = "crate smol_str 0.2.1" ] - 81 [ label = "crate static_assertions 1.1.0" ] - 82 [ label = "crate sub-crate 0.1.0 path+file:///krates/tests/feature-bug/sub-crate" ] - 83 [ label = "crate syn 1.0.109" ] - 84 [ label = "crate syn 2.0.48" ] - 85 [ label = "crate tame-index 0.4.1" ] - 86 [ label = "crate thiserror 1.0.56" ] - 87 [ label = "crate thiserror-impl 1.0.56" ] - 88 [ label = "crate toml 0.5.11" ] - 89 [ label = "crate toml 0.7.8" ] - 90 [ label = "crate toml_datetime 0.6.5" ] - 91 [ label = "crate toml_edit 0.19.15" ] - 92 [ label = "crate twox-hash 1.6.3" ] - 93 [ label = "crate typenum 1.17.0" ] - 94 [ label = "crate ucd-trie 0.1.6" ] - 95 [ label = "crate unicode-ident 1.0.12" ] - 96 [ label = "crate version_check 0.9.4" ] - 97 [ label = "crate wasi 0.11.0+wasi-snapshot-preview1" ] - 98 [ label = "crate windows-sys 0.52.0" ] - 99 [ label = "crate windows-targets 0.52.0" ] - 100 [ label = "crate windows_aarch64_gnullvm 0.52.0" ] - 101 [ label = "crate windows_aarch64_msvc 0.52.0" ] - 102 [ label = "crate windows_i686_gnu 0.52.0" ] - 103 [ label = "crate windows_i686_msvc 0.52.0" ] - 104 [ label = "crate windows_x86_64_gnu 0.52.0" ] - 105 [ label = "crate windows_x86_64_gnullvm 0.52.0" ] - 106 [ label = "crate windows_x86_64_msvc 0.52.0" ] - 107 [ label = "crate winnow 0.5.40" ] - 108 [ label = "crate yaml-rust 0.4.5" ] - 109 [ label = "feature alloc" ] - 110 [ label = "feature default" ] - 111 [ label = "feature default" ] - 112 [ label = "feature full" ] - 113 [ label = "feature visit-mut" ] - 114 [ label = "feature default" ] - 115 [ label = "feature derive" ] - 116 [ label = "feature default" ] - 117 [ label = "feature serde1" ] - 118 [ label = "feature serde" ] - 119 [ label = "feature default" ] - 120 [ label = "feature unbounded_depth" ] - 121 [ label = "feature default" ] - 122 [ label = "feature serde" ] - 123 [ label = "feature rand" ] - 124 [ label = "feature default" ] - 125 [ label = "feature default" ] - 126 [ label = "feature default" ] - 127 [ label = "feature default" ] - 128 [ label = "feature default" ] - 129 [ label = "feature default" ] - 130 [ label = "feature default" ] - 131 [ label = "feature more_lengths" ] - 132 [ label = "feature prefer-index" ] - 133 [ label = "feature simple" ] - 134 [ label = "feature Win32_Foundation" ] - 135 [ label = "feature Win32_UI_Shell" ] - 136 [ label = "feature Win32_System_Com" ] - 137 [ label = "feature default" ] - 138 [ label = "feature default" ] - 139 [ label = "feature default" ] - 140 [ label = "feature raw" ] - 141 [ label = "feature default" ] - 142 [ label = "feature default" ] - 143 [ label = "feature full" ] - 144 [ label = "feature extra-traits" ] - 145 [ label = "feature default" ] - 146 [ label = "feature default" ] - 147 [ label = "feature default" ] - 148 [ label = "feature default" ] - 149 [ label = "feature default" ] - 150 [ label = "feature default" ] - 151 [ label = "feature cblas" ] - 152 [ label = "feature static" ] - 153 [ label = "feature cgemm" ] - 154 [ label = "feature std" ] - 155 [ label = "feature std" ] - 156 [ label = "feature netlib" ] - 157 [ label = "feature blas" ] - 158 [ label = "feature approx" ] - 159 [ label = "feature std" ] - 160 [ label = "feature std" ] - 161 [ label = "feature std" ] - 162 [ label = "feature i128" ] - 163 [ label = "feature default" ] - 164 [ label = "feature default" ] - 165 [ label = "feature std" ] - 166 [ label = "feature std" ] - 167 [ label = "feature std" ] - 168 [ label = "feature default" ] - 169 [ label = "feature default" ] - 170 [ label = "feature default" ] - 171 [ label = "feature proc-macro" ] - 172 [ label = "feature std" ] - 173 [ label = "feature alloc" ] - 174 [ label = "feature getrandom" ] - 175 [ label = "feature std" ] - 176 [ label = "feature simd" ] - 177 [ label = "feature std" ] + 0 [ label = "crate addr2line 0.21.0" ] + 1 [ label = "crate adler 1.0.2" ] + 2 [ label = "crate ahash 0.3.8" ] + 3 [ label = "crate ahash 0.7.7" ] + 4 [ label = "crate aho-corasick 1.1.2" ] + 5 [ label = "crate alga 0.9.3" ] + 6 [ label = "crate alga_derive 0.9.2" ] + 7 [ label = "crate amethyst_core 0.10.1 git+https://gitlab.com/amethyst-engine/amethyst?rev=0c2da617" ] + 8 [ label = "crate amethyst_error 0.5.1 git+https://gitlab.com/amethyst-engine/amethyst?rev=0c2da617" ] + 9 [ label = "crate approx 0.3.2" ] + 10 [ label = "crate approx 0.4.0" ] + 11 [ label = "crate arrayref 0.3.7" ] + 12 [ label = "crate arrayvec 0.5.2" ] + 13 [ label = "crate async-trait 0.1.77" ] + 14 [ label = "crate autocfg 1.1.0" ] + 15 [ label = "crate backtrace 0.3.69" ] + 16 [ label = "crate base64 0.13.1" ] + 17 [ label = "crate bitflags 1.3.2" ] + 18 [ label = "crate block-buffer 0.10.4" ] + 19 [ label = "crate block-buffer 0.3.3" ] + 20 [ label = "crate byte-tools 0.2.0" ] + 21 [ label = "crate bytes 1.6.0" ] + 22 [ label = "crate camino 1.1.6" ] + 23 [ label = "crate cargo-platform 0.1.8" ] + 24 [ label = "crate cargo_metadata 0.15.4" ] + 25 [ label = "crate cargo_metadata 0.17.0" ] + 26 [ label = "crate cauchy 0.4.0" ] + 27 [ label = "crate cblas-sys 0.1.4" ] + 28 [ label = "crate cc 1.0.83" ] + 29 [ label = "crate cfg-expr 0.11.0" ] + 30 [ label = "crate cfg-expr 0.15.7" ] + 31 [ label = "crate cfg-if 0.1.10" ] + 32 [ label = "crate cfg-if 1.0.0" ] + 33 [ label = "crate cmake 0.1.50" ] + 34 [ label = "crate config 0.13.4" ] + 35 [ label = "crate cpufeatures 0.2.12" ] + 36 [ label = "crate crossbeam-deque 0.8.5" ] + 37 [ label = "crate crossbeam-epoch 0.9.18" ] + 38 [ label = "crate crossbeam-queue 0.2.3" ] + 39 [ label = "crate crossbeam-utils 0.7.2" ] + 40 [ label = "crate crossbeam-utils 0.8.19" ] + 41 [ label = "crate crypto-common 0.1.6" ] + 42 [ label = "crate derivative 2.2.0" ] + 43 [ label = "crate derive-new 0.5.9" ] + 44 [ label = "crate digest 0.10.7" ] + 45 [ label = "crate digest 0.7.6" ] + 46 [ label = "crate dlv-list 0.3.0" ] + 47 [ label = "crate edit-distance 2.1.0" ] + 48 [ label = "crate either 1.10.0" ] + 49 [ label = "crate env_logger 0.7.1" ] + 50 [ label = "crate equivalent 1.0.1" ] + 51 [ label = "crate feature-bug 0.1.0 path+file:///krates/tests/feature-bug" ] + 52 [ label = "crate fixedbitset 0.4.2" ] + 53 [ label = "crate fnv 1.0.7" ] + 54 [ label = "crate generic-array 0.13.3" ] + 55 [ label = "crate generic-array 0.14.7" ] + 56 [ label = "crate generic-array 0.9.1" ] + 57 [ label = "crate getrandom 0.1.16" ] + 58 [ label = "crate getrandom 0.2.12" ] + 59 [ label = "crate getset 0.0.9" ] + 60 [ label = "crate gimli 0.28.1" ] + 61 [ label = "crate hashbrown 0.12.3" ] + 62 [ label = "crate hashbrown 0.14.3" ] + 63 [ label = "crate hashbrown 0.7.2" ] + 64 [ label = "crate hibitset 0.6.4" ] + 65 [ label = "crate home 0.5.9" ] + 66 [ label = "crate http 0.2.12" ] + 67 [ label = "crate indexmap 2.2.6" ] + 68 [ label = "crate itoa 1.0.10" ] + 69 [ label = "crate json5 0.4.1" ] + 70 [ label = "crate katexit 0.1.4" ] + 71 [ label = "crate krates 0.12.2 git+https://github.com/EmbarkStudios/krates?tag=0.12.2" ] + 72 [ label = "crate krates 0.14.1 git+https://github.com/EmbarkStudios/krates?tag=0.14.1" ] + 73 [ label = "crate lapack-sys 0.14.0" ] + 74 [ label = "crate lax 0.16.0" ] + 75 [ label = "crate lazy_static 1.4.0" ] + 76 [ label = "crate libc 0.2.152" ] + 77 [ label = "crate libm 0.2.8" ] + 78 [ label = "crate linked-hash-map 0.5.6" ] + 79 [ label = "crate log 0.4.20" ] + 80 [ label = "crate matrixmultiply 0.2.4" ] + 81 [ label = "crate matrixmultiply 0.3.8" ] + 82 [ label = "crate maybe-uninit 2.0.0" ] + 83 [ label = "crate md-5 0.7.0" ] + 84 [ label = "crate md5 0.7.0" ] + 85 [ label = "crate memchr 2.7.1" ] + 86 [ label = "crate minimal-lexical 0.2.1" ] + 87 [ label = "crate miniz_oxide 0.7.1" ] + 88 [ label = "crate mint 0.5.9" ] + 89 [ label = "crate mopa 0.2.2" ] + 90 [ label = "crate nalgebra 0.19.0" ] + 91 [ label = "crate ndarray 0.15.6" ] + 92 [ label = "crate ndarray-linalg 0.16.0" ] + 93 [ label = "crate netlib-src 0.8.0" ] + 94 [ label = "crate nom 7.1.3" ] + 95 [ label = "crate num-complex 0.2.4" ] + 96 [ label = "crate num-complex 0.4.4" ] + 97 [ label = "crate num-integer 0.1.45" ] + 98 [ label = "crate num-rational 0.2.4" ] + 99 [ label = "crate num-traits 0.2.17" ] + 100 [ label = "crate object 0.32.2" ] + 101 [ label = "crate once_cell 1.19.0" ] + 102 [ label = "crate ordered-multimap 0.4.3" ] + 103 [ label = "crate pathdiff 0.2.1" ] + 104 [ label = "crate pest 2.7.6" ] + 105 [ label = "crate pest_derive 2.7.6" ] + 106 [ label = "crate pest_generator 2.7.6" ] + 107 [ label = "crate pest_meta 2.7.6" ] + 108 [ label = "crate petgraph 0.6.4" ] + 109 [ label = "crate ppv-lite86 0.2.17" ] + 110 [ label = "crate proc-macro2 1.0.76" ] + 111 [ label = "crate quickcheck 0.9.2" ] + 112 [ label = "crate quote 1.0.35" ] + 113 [ label = "crate rand 0.7.3" ] + 114 [ label = "crate rand 0.8.5" ] + 115 [ label = "crate rand_chacha 0.2.2" ] + 116 [ label = "crate rand_chacha 0.3.1" ] + 117 [ label = "crate rand_core 0.5.1" ] + 118 [ label = "crate rand_core 0.6.4" ] + 119 [ label = "crate rand_distr 0.2.2" ] + 120 [ label = "crate rand_hc 0.2.0" ] + 121 [ label = "crate rawpointer 0.2.1" ] + 122 [ label = "crate rayon 1.10.0" ] + 123 [ label = "crate rayon-core 1.12.1" ] + 124 [ label = "crate regex 1.10.2" ] + 125 [ label = "crate regex-automata 0.4.3" ] + 126 [ label = "crate regex-syntax 0.8.2" ] + 127 [ label = "crate ron 0.7.1" ] + 128 [ label = "crate rust-ini 0.18.0" ] + 129 [ label = "crate rustc-demangle 0.1.23" ] + 130 [ label = "crate ryu 1.0.16" ] + 131 [ label = "crate semver 1.0.22" ] + 132 [ label = "crate serde 1.0.195" ] + 133 [ label = "crate serde_derive 1.0.195" ] + 134 [ label = "crate serde_json 1.0.111" ] + 135 [ label = "crate serde_spanned 0.6.5" ] + 136 [ label = "crate sha2 0.10.8" ] + 137 [ label = "crate shred 0.10.2" ] + 138 [ label = "crate shred-derive 0.6.3" ] + 139 [ label = "crate shrev 1.1.3" ] + 140 [ label = "crate smallvec 1.13.2" ] + 141 [ label = "crate smol_str 0.2.1" ] + 142 [ label = "crate specs 0.16.1" ] + 143 [ label = "crate specs-derive 0.4.1" ] + 144 [ label = "crate specs-hierarchy 0.6.0" ] + 145 [ label = "crate static_assertions 1.1.0" ] + 146 [ label = "crate sub-crate 0.1.0 path+file:///krates/tests/feature-bug/sub-crate" ] + 147 [ label = "crate syn 1.0.109" ] + 148 [ label = "crate syn 2.0.48" ] + 149 [ label = "crate tame-index 0.4.1" ] + 150 [ label = "crate thiserror 1.0.56" ] + 151 [ label = "crate thiserror-impl 1.0.56" ] + 152 [ label = "crate toml 0.5.11" ] + 153 [ label = "crate toml 0.7.8" ] + 154 [ label = "crate toml_datetime 0.6.5" ] + 155 [ label = "crate toml_edit 0.19.15" ] + 156 [ label = "crate tuple_utils 0.3.0" ] + 157 [ label = "crate twox-hash 1.6.3" ] + 158 [ label = "crate tynm 0.1.10" ] + 159 [ label = "crate typenum 1.17.0" ] + 160 [ label = "crate ucd-trie 0.1.6" ] + 161 [ label = "crate unicode-ident 1.0.12" ] + 162 [ label = "crate version_check 0.9.4" ] + 163 [ label = "crate wasi 0.11.0+wasi-snapshot-preview1" ] + 164 [ label = "crate wasi 0.9.0+wasi-snapshot-preview1" ] + 165 [ label = "crate windows-sys 0.52.0" ] + 166 [ label = "crate windows-targets 0.52.0" ] + 167 [ label = "crate windows_aarch64_gnullvm 0.52.0" ] + 168 [ label = "crate windows_aarch64_msvc 0.52.0" ] + 169 [ label = "crate windows_i686_gnu 0.52.0" ] + 170 [ label = "crate windows_i686_msvc 0.52.0" ] + 171 [ label = "crate windows_x86_64_gnu 0.52.0" ] + 172 [ label = "crate windows_x86_64_gnullvm 0.52.0" ] + 173 [ label = "crate windows_x86_64_msvc 0.52.0" ] + 174 [ label = "crate winnow 0.5.40" ] + 175 [ label = "crate yaml-rust 0.4.5" ] + 176 [ label = "feature read" ] + 177 [ label = "feature alloc" ] 178 [ label = "feature std" ] - 179 [ label = "feature default" ] + 179 [ label = "feature libm" ] 180 [ label = "feature default" ] - 181 [ label = "feature serde_derive" ] + 181 [ label = "feature default" ] 182 [ label = "feature default" ] - 183 [ label = "feature std" ] + 183 [ label = "feature default" ] 184 [ label = "feature default" ] 185 [ label = "feature default" ] - 186 [ label = "feature netlib" ] - 187 [ label = "feature default" ] - 188 [ label = "feature proc-macro" ] - 189 [ label = "feature rc" ] - 190 [ label = "feature serde" ] - 191 [ label = "feature default" ] + 186 [ label = "feature default" ] + 187 [ label = "feature serde-serialize" ] + 188 [ label = "feature mint" ] + 189 [ label = "feature default" ] + 190 [ label = "feature default" ] + 191 [ label = "feature derive" ] 192 [ label = "feature default" ] - 193 [ label = "feature serde" ] - 194 [ label = "feature serde" ] - 195 [ label = "feature serde" ] - 196 [ label = "feature default" ] - 197 [ label = "feature std" ] - 198 [ label = "feature default" ] - 199 [ label = "feature std" ] - 200 [ label = "feature std" ] - 201 [ label = "feature serde" ] - 202 [ label = "feature yaml-rust" ] - 203 [ label = "feature yaml" ] - 204 [ label = "feature toml" ] - 205 [ label = "feature serde_json" ] - 206 [ label = "feature rust-ini" ] - 207 [ label = "feature ron" ] - 208 [ label = "feature json5_rs" ] - 209 [ label = "feature json5_rs" ] - 210 [ label = "feature json5" ] - 211 [ label = "feature json" ] - 212 [ label = "feature ini" ] - 213 [ label = "feature core-api" ] - 214 [ label = "feature block-buffer" ] - 215 [ label = "feature std" ] - 216 [ label = "feature inline-more" ] - 217 [ label = "feature ahash" ] - 218 [ label = "feature netlib-static" ] - 219 [ label = "feature std" ] - 220 [ label = "feature alloc" ] - 221 [ label = "feature libc" ] - 222 [ label = "feature cblas-sys" ] - 223 [ label = "feature std" ] - 224 [ label = "feature alloc" ] - 225 [ label = "feature std" ] + 193 [ label = "feature shred-derive" ] + 194 [ label = "feature specs-derive" ] + 195 [ label = "feature parallel" ] + 196 [ label = "feature parallel" ] + 197 [ label = "feature default" ] + 198 [ label = "feature full" ] + 199 [ label = "feature visit-mut" ] + 200 [ label = "feature default" ] + 201 [ label = "feature read_core" ] + 202 [ label = "feature elf" ] + 203 [ label = "feature macho" ] + 204 [ label = "feature pe" ] + 205 [ label = "feature unaligned" ] + 206 [ label = "feature archive" ] + 207 [ label = "feature serde1" ] + 208 [ label = "feature serde" ] + 209 [ label = "feature default" ] + 210 [ label = "feature unbounded_depth" ] + 211 [ label = "feature default" ] + 212 [ label = "feature serde" ] + 213 [ label = "feature rand" ] + 214 [ label = "feature default" ] + 215 [ label = "feature default" ] + 216 [ label = "feature default" ] + 217 [ label = "feature default" ] + 218 [ label = "feature default" ] + 219 [ label = "feature default" ] + 220 [ label = "feature std" ] + 221 [ label = "feature std" ] + 222 [ label = "feature std" ] + 223 [ label = "feature more_lengths" ] + 224 [ label = "feature visit" ] + 225 [ label = "feature extra-traits" ] 226 [ label = "feature std" ] - 227 [ label = "feature race" ] - 228 [ label = "feature memchr" ] - 229 [ label = "feature std" ] - 230 [ label = "feature stable_graph" ] - 231 [ label = "feature matrix_graph" ] - 232 [ label = "feature graphmap" ] - 233 [ label = "feature std_rng" ] - 234 [ label = "feature rand_chacha" ] - 235 [ label = "feature std" ] - 236 [ label = "feature alloc" ] - 237 [ label = "feature getrandom" ] - 238 [ label = "feature libc" ] - 239 [ label = "feature std" ] - 240 [ label = "feature std" ] - 241 [ label = "feature std" ] - 242 [ label = "feature quote" ] - 243 [ label = "feature proc-macro" ] - 244 [ label = "feature printing" ] - 245 [ label = "feature parsing" ] - 246 [ label = "feature derive" ] - 247 [ label = "feature clone-impls" ] - 248 [ label = "feature quote" ] - 249 [ label = "feature proc-macro" ] - 250 [ label = "feature printing" ] - 251 [ label = "feature parsing" ] - 252 [ label = "feature derive" ] - 253 [ label = "feature clone-impls" ] - 254 [ label = "feature parse" ] - 255 [ label = "feature display" ] - 256 [ label = "feature Win32_UI" ] - 257 [ label = "feature Win32" ] - 258 [ label = "feature Win32_System" ] - 259 [ label = "feature std" ] - 260 [ label = "feature alloc" ] - 0 -> 29 [ label = " 'cfg(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\"))'" ] - 0 -> 109 [ label = " 'cfg(not(all(target_arch = \"arm\", target_os = \"none\")))'" ] - 0 -> 96 [ label = "(build)" ] - 1 -> 54 [ label = "" ] - 2 -> 110 [ label = "" ] - 2 -> 111 [ label = "" ] - 2 -> 112 [ label = "" ] - 2 -> 113 [ label = "" ] - 2 -> 114 [ label = "" ] - 6 -> 28 [ label = "" ] - 8 -> 115 [ label = "" ] - 8 -> 116 [ label = "" ] - 9 -> 116 [ label = "" ] - 10 -> 117 [ label = "" ] - 10 -> 9 [ label = "" ] - 10 -> 118 [ label = "" ] - 10 -> 119 [ label = "" ] - 10 -> 115 [ label = "" ] - 10 -> 116 [ label = "" ] - 10 -> 120 [ label = "" ] - 10 -> 121 [ label = "" ] - 10 -> 86 [ label = "" ] - 11 -> 117 [ label = "" ] - 11 -> 9 [ label = "" ] - 11 -> 118 [ label = "" ] - 11 -> 119 [ label = "" ] - 11 -> 115 [ label = "" ] - 11 -> 116 [ label = "" ] - 11 -> 120 [ label = "" ] - 11 -> 121 [ label = "" ] - 11 -> 86 [ label = "" ] - 12 -> 122 [ label = "" ] - 12 -> 123 [ label = "" ] - 12 -> 124 [ label = "" ] - 12 -> 125 [ label = "" ] - 12 -> 126 [ label = "" ] - 12 -> 116 [ label = "" ] - 13 -> 127 [ label = "" ] - 14 -> 43 [ label = " 'cfg(unix)'" ] - 15 -> 79 [ label = "" ] - 16 -> 79 [ label = "" ] - 18 -> 14 [ label = "" ] - 19 -> 2 [ label = "" ] - 19 -> 36 [ label = "" ] - 19 -> 42 [ label = "" ] - 19 -> 128 [ label = "" ] - 19 -> 57 [ label = "" ] - 19 -> 70 [ label = "" ] - 19 -> 129 [ label = "" ] - 19 -> 116 [ label = "" ] - 19 -> 121 [ label = "" ] - 19 -> 130 [ label = "" ] - 19 -> 108 [ label = "" ] - 20 -> 127 [ label = " 'aarch64-linux-android'" ] - 20 -> 127 [ label = " 'cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))'" ] - 20 -> 127 [ label = " 'cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))'" ] - 20 -> 127 [ label = " 'cfg(all(target_arch = \"loongarch64\", target_os = \"linux\"))'" ] - 21 -> 131 [ label = "" ] - 21 -> 93 [ label = "" ] - 22 -> 6 [ label = "" ] - 22 -> 21 [ label = "" ] - 25 -> 38 [ label = "" ] - 25 -> 132 [ label = "" ] - 25 -> 133 [ label = "" ] - 28 -> 93 [ label = "" ] - 28 -> 96 [ label = "(build)" ] - 29 -> 17 [ label = "" ] - 29 -> 43 [ label = " 'cfg(unix)'" ] - 29 -> 97 [ label = " 'cfg(target_os = \"wasi\")'" ] - 30 -> 0 [ label = "" ] - 32 -> 134 [ label = " 'cfg(windows)'" ] - 32 -> 135 [ label = " 'cfg(windows)'" ] - 32 -> 136 [ label = " 'cfg(windows)'" ] - 32 -> 137 [ label = " 'cfg(windows)'" ] - 33 -> 138 [ label = "" ] - 33 -> 139 [ label = "" ] - 33 -> 35 [ label = "" ] - 34 -> 24 [ label = "" ] - 34 -> 140 [ label = "" ] - 36 -> 141 [ label = "" ] - 36 -> 142 [ label = "" ] - 36 -> 116 [ label = "" ] - 37 -> 110 [ label = "" ] - 37 -> 111 [ label = "" ] - 37 -> 143 [ label = "" ] - 37 -> 144 [ label = "" ] - 37 -> 145 [ label = "" ] - 38 -> 146 [ label = "" ] - 38 -> 147 [ label = "" ] - 38 -> 148 [ label = "" ] - 38 -> 119 [ label = "" ] - 39 -> 149 [ label = "" ] - 39 -> 150 [ label = "" ] - 39 -> 148 [ label = "" ] - 39 -> 119 [ label = "" ] - 39 -> 85 [ label = "" ] - 40 -> 127 [ label = "" ] - 41 -> 12 [ label = "" ] - 41 -> 37 [ label = "" ] - 41 -> 40 [ label = "" ] - 41 -> 151 [ label = "" ] - 41 -> 152 [ label = "" ] - 41 -> 125 [ label = "" ] - 41 -> 86 [ label = "" ] - 45 -> 3 [ label = "(build)" ] - 45 -> 69 [ label = "" ] - 48 -> 1 [ label = "" ] - 48 -> 13 [ label = "" ] - 48 -> 127 [ label = "" ] - 48 -> 153 [ label = "" ] - 48 -> 154 [ label = "" ] - 48 -> 52 [ label = "" ] - 48 -> 53 [ label = "" ] - 48 -> 54 [ label = "" ] - 48 -> 155 [ label = "" ] - 48 -> 69 [ label = "" ] - 49 -> 12 [ label = "" ] - 49 -> 37 [ label = "" ] - 49 -> 41 [ label = "" ] - 49 -> 156 [ label = "" ] - 49 -> 157 [ label = "" ] - 49 -> 158 [ label = "" ] - 49 -> 159 [ label = "" ] - 49 -> 124 [ label = "" ] - 49 -> 125 [ label = "" ] - 49 -> 126 [ label = "" ] - 49 -> 86 [ label = "" ] - 50 -> 18 [ label = "(build)" ] - 51 -> 46 [ label = "" ] - 51 -> 160 [ label = "" ] - 51 -> 47 [ label = "" ] - 51 -> 161 [ label = "" ] - 52 -> 162 [ label = "" ] - 52 -> 155 [ label = "" ] - 52 -> 66 [ label = "" ] - 52 -> 74 [ label = "" ] - 53 -> 3 [ label = "(build)" ] - 53 -> 54 [ label = "" ] - 54 -> 3 [ label = "(build)" ] - 56 -> 23 [ label = "" ] - 56 -> 163 [ label = "" ] - 58 -> 164 [ label = "" ] - 58 -> 86 [ label = "" ] - 58 -> 94 [ label = "" ] - 58 -> 165 [ label = "" ] - 59 -> 58 [ label = "" ] - 59 -> 166 [ label = "" ] - 59 -> 60 [ label = "" ] - 59 -> 167 [ label = "" ] - 60 -> 58 [ label = "" ] - 60 -> 166 [ label = "" ] - 60 -> 168 [ label = "" ] - 60 -> 110 [ label = "" ] - 60 -> 111 [ label = "" ] - 60 -> 114 [ label = "" ] - 61 -> 169 [ label = "" ] - 61 -> 141 [ label = "" ] - 61 -> 78 [ label = "(build)" ] - 62 -> 26 [ label = "" ] - 62 -> 170 [ label = "" ] - 64 -> 95 [ label = "" ] - 65 -> 64 [ label = "" ] - 65 -> 171 [ label = "" ] - 66 -> 43 [ label = " 'cfg(unix)'" ] - 66 -> 67 [ label = "" ] - 66 -> 172 [ label = "" ] + 227 [ label = "feature default" ] + 228 [ label = "feature default" ] + 229 [ label = "feature prefer-index" ] + 230 [ label = "feature default" ] + 231 [ label = "feature simple" ] + 232 [ label = "feature default" ] + 233 [ label = "feature Win32_Foundation" ] + 234 [ label = "feature Win32_UI_Shell" ] + 235 [ label = "feature Win32_System_Com" ] + 236 [ label = "feature default" ] + 237 [ label = "feature default" ] + 238 [ label = "feature raw" ] + 239 [ label = "feature default" ] + 240 [ label = "feature default" ] + 241 [ label = "feature full" ] + 242 [ label = "feature default" ] + 243 [ label = "feature default" ] + 244 [ label = "feature default" ] + 245 [ label = "feature default" ] + 246 [ label = "feature default" ] + 247 [ label = "feature cblas" ] + 248 [ label = "feature static" ] + 249 [ label = "feature std" ] + 250 [ label = "feature default" ] + 251 [ label = "feature serde" ] + 252 [ label = "feature std" ] + 253 [ label = "feature default" ] + 254 [ label = "feature cgemm" ] + 255 [ label = "feature std" ] + 256 [ label = "feature std" ] + 257 [ label = "feature netlib" ] + 258 [ label = "feature blas" ] + 259 [ label = "feature approx" ] + 260 [ label = "feature std" ] + 261 [ label = "feature std" ] + 262 [ label = "feature i128" ] + 263 [ label = "feature default" ] + 264 [ label = "feature default" ] + 265 [ label = "feature default" ] + 266 [ label = "feature std" ] + 267 [ label = "feature std" ] + 268 [ label = "feature std" ] + 269 [ label = "feature default" ] + 270 [ label = "feature default" ] + 271 [ label = "feature default" ] + 272 [ label = "feature regex" ] + 273 [ label = "feature default" ] + 274 [ label = "feature proc-macro" ] + 275 [ label = "feature std" ] + 276 [ label = "feature alloc" ] + 277 [ label = "feature getrandom" ] + 278 [ label = "feature std" ] + 279 [ label = "feature std" ] + 280 [ label = "feature alloc" ] + 281 [ label = "feature getrandom" ] + 282 [ label = "feature std" ] + 283 [ label = "feature simd" ] + 284 [ label = "feature std" ] + 285 [ label = "feature std" ] + 286 [ label = "feature std" ] + 287 [ label = "feature default" ] + 288 [ label = "feature default" ] + 289 [ label = "feature default" ] + 290 [ label = "feature std" ] + 291 [ label = "feature alloc" ] + 292 [ label = "feature syntax" ] + 293 [ label = "feature meta" ] + 294 [ label = "feature nfa-pikevm" ] + 295 [ label = "feature dfa-onepass" ] + 296 [ label = "feature hybrid" ] + 297 [ label = "feature nfa-backtrack" ] + 298 [ label = "feature perf-inline" ] + 299 [ label = "feature perf-literal" ] + 300 [ label = "feature std" ] + 301 [ label = "feature unicode" ] + 302 [ label = "feature unicode-age" ] + 303 [ label = "feature unicode-bool" ] + 304 [ label = "feature unicode-case" ] + 305 [ label = "feature unicode-gencat" ] + 306 [ label = "feature unicode-perl" ] + 307 [ label = "feature unicode-script" ] + 308 [ label = "feature unicode-segment" ] + 309 [ label = "feature unicode-word-boundary" ] + 310 [ label = "feature default" ] + 311 [ label = "feature std" ] + 312 [ label = "feature unicode" ] + 313 [ label = "feature unicode-age" ] + 314 [ label = "feature unicode-bool" ] + 315 [ label = "feature unicode-case" ] + 316 [ label = "feature unicode-gencat" ] + 317 [ label = "feature unicode-perl" ] + 318 [ label = "feature unicode-script" ] + 319 [ label = "feature unicode-segment" ] + 320 [ label = "feature perf-literal" ] + 321 [ label = "feature default" ] + 322 [ label = "feature default" ] + 323 [ label = "feature serde_derive" ] + 324 [ label = "feature std" ] + 325 [ label = "feature default" ] + 326 [ label = "feature default" ] + 327 [ label = "feature default" ] + 328 [ label = "feature default" ] + 329 [ label = "feature default" ] + 330 [ label = "feature parallel" ] + 331 [ label = "feature parallel" ] + 332 [ label = "feature shred-derive" ] + 333 [ label = "feature default" ] + 334 [ label = "feature netlib" ] + 335 [ label = "feature default" ] + 336 [ label = "feature proc-macro" ] + 337 [ label = "feature rc" ] + 338 [ label = "feature serde" ] + 339 [ label = "feature default" ] + 340 [ label = "feature default" ] + 341 [ label = "feature serde" ] + 342 [ label = "feature serde" ] + 343 [ label = "feature serde" ] + 344 [ label = "feature default" ] + 345 [ label = "feature std" ] + 346 [ label = "feature default" ] + 347 [ label = "feature alloc" ] + 348 [ label = "feature std" ] + 349 [ label = "feature std" ] + 350 [ label = "feature std" ] + 351 [ label = "feature std" ] + 352 [ label = "feature std" ] + 353 [ label = "feature serde" ] + 354 [ label = "feature yaml-rust" ] + 355 [ label = "feature yaml" ] + 356 [ label = "feature toml" ] + 357 [ label = "feature serde_json" ] + 358 [ label = "feature rust-ini" ] + 359 [ label = "feature ron" ] + 360 [ label = "feature json5_rs" ] + 361 [ label = "feature json5_rs" ] + 362 [ label = "feature json5" ] + 363 [ label = "feature json" ] + 364 [ label = "feature ini" ] + 365 [ label = "feature std" ] + 366 [ label = "feature alloc" ] + 367 [ label = "feature std" ] + 368 [ label = "feature lazy_static" ] + 369 [ label = "feature std" ] + 370 [ label = "feature core-api" ] + 371 [ label = "feature block-buffer" ] + 372 [ label = "feature std" ] + 373 [ label = "feature read-core" ] + 374 [ label = "feature inline-more" ] + 375 [ label = "feature ahash" ] + 376 [ label = "feature inline-more" ] + 377 [ label = "feature ahash" ] + 378 [ label = "feature rayon" ] + 379 [ label = "feature netlib-static" ] + 380 [ label = "feature std" ] + 381 [ label = "feature std" ] + 382 [ label = "feature std" ] + 383 [ label = "feature alloc" ] + 384 [ label = "feature std" ] + 385 [ label = "feature matrixmultiply" ] + 386 [ label = "feature rand_distr" ] + 387 [ label = "feature serde_derive" ] + 388 [ label = "feature serde" ] + 389 [ label = "feature libc" ] + 390 [ label = "feature cblas-sys" ] + 391 [ label = "feature std" ] + 392 [ label = "feature std" ] + 393 [ label = "feature coff" ] + 394 [ label = "feature std" ] + 395 [ label = "feature race" ] + 396 [ label = "feature memchr" ] + 397 [ label = "feature std" ] + 398 [ label = "feature stable_graph" ] + 399 [ label = "feature matrix_graph" ] + 400 [ label = "feature graphmap" ] + 401 [ label = "feature use_logging" ] + 402 [ label = "feature log" ] + 403 [ label = "feature env_logger" ] + 404 [ label = "feature regex" ] + 405 [ label = "feature alloc" ] + 406 [ label = "feature getrandom" ] + 407 [ label = "feature libc" ] + 408 [ label = "feature getrandom_package" ] + 409 [ label = "feature getrandom_package" ] + 410 [ label = "feature std_rng" ] + 411 [ label = "feature rand_chacha" ] + 412 [ label = "feature std" ] + 413 [ label = "feature alloc" ] + 414 [ label = "feature getrandom" ] + 415 [ label = "feature libc" ] + 416 [ label = "feature unicode-segment" ] + 417 [ label = "feature unicode-script" ] + 418 [ label = "feature unicode-perl" ] + 419 [ label = "feature unicode-gencat" ] + 420 [ label = "feature unicode-case" ] + 421 [ label = "feature unicode-bool" ] + 422 [ label = "feature unicode-age" ] + 423 [ label = "feature unicode" ] + 424 [ label = "feature std" ] + 425 [ label = "feature perf-onepass" ] + 426 [ label = "feature perf-literal" ] + 427 [ label = "feature perf-inline" ] + 428 [ label = "feature perf-dfa" ] + 429 [ label = "feature perf-cache" ] + 430 [ label = "feature perf-backtrack" ] + 431 [ label = "feature perf" ] + 432 [ label = "feature perf-literal-substring" ] + 433 [ label = "feature perf-literal-multisubstring" ] + 434 [ label = "feature nfa-thompson" ] + 435 [ label = "feature std" ] + 436 [ label = "feature std" ] + 437 [ label = "feature rayon" ] + 438 [ label = "feature std" ] + 439 [ label = "feature rayon" ] + 440 [ label = "feature quote" ] + 441 [ label = "feature proc-macro" ] + 442 [ label = "feature printing" ] + 443 [ label = "feature parsing" ] + 444 [ label = "feature derive" ] + 445 [ label = "feature clone-impls" ] + 446 [ label = "feature quote" ] + 447 [ label = "feature proc-macro" ] + 448 [ label = "feature printing" ] + 449 [ label = "feature parsing" ] + 450 [ label = "feature derive" ] + 451 [ label = "feature clone-impls" ] + 452 [ label = "feature parse" ] + 453 [ label = "feature display" ] + 454 [ label = "feature std" ] + 455 [ label = "feature Win32_UI" ] + 456 [ label = "feature Win32" ] + 457 [ label = "feature Win32_System" ] + 458 [ label = "feature std" ] + 459 [ label = "feature alloc" ] + 0 -> 176 [ label = "" ] + 3 -> 58 [ label = " 'cfg(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\"))'" ] + 3 -> 177 [ label = " 'cfg(not(all(target_arch = \"arm\", target_os = \"none\")))'" ] + 3 -> 162 [ label = "(build)" ] + 4 -> 85 [ label = "" ] + 4 -> 178 [ label = "" ] + 5 -> 9 [ label = "" ] + 5 -> 95 [ label = "" ] + 5 -> 179 [ label = "" ] + 6 -> 47 [ label = "" ] + 6 -> 180 [ label = "" ] + 6 -> 181 [ label = "" ] + 6 -> 182 [ label = "" ] + 6 -> 183 [ label = "" ] + 7 -> 5 [ label = "" ] + 7 -> 6 [ label = "" ] + 7 -> 8 [ label = "" ] + 7 -> 184 [ label = "" ] + 7 -> 42 [ label = "" ] + 7 -> 185 [ label = "" ] + 7 -> 186 [ label = "" ] + 7 -> 59 [ label = "" ] + 7 -> 79 [ label = "" ] + 7 -> 187 [ label = "" ] + 7 -> 188 [ label = "" ] + 7 -> 189 [ label = "" ] + 7 -> 190 [ label = "" ] + 7 -> 122 [ label = "" ] + 7 -> 191 [ label = "" ] + 7 -> 192 [ label = "" ] + 7 -> 193 [ label = "" ] + 7 -> 194 [ label = "" ] + 7 -> 195 [ label = "" ] + 7 -> 144 [ label = "" ] + 7 -> 196 [ label = "" ] + 8 -> 197 [ label = "" ] + 9 -> 99 [ label = "" ] + 10 -> 99 [ label = "" ] + 13 -> 180 [ label = "" ] + 13 -> 182 [ label = "" ] + 13 -> 198 [ label = "" ] + 13 -> 199 [ label = "" ] + 13 -> 200 [ label = "" ] + 15 -> 0 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 28 [ label = "(build)" ] + 15 -> 32 [ label = "" ] + 15 -> 76 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 87 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 201 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 202 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 203 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 204 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 205 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 206 [ label = " 'cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))'" ] + 15 -> 129 [ label = "" ] + 18 -> 55 [ label = "" ] + 19 -> 11 [ label = "" ] + 19 -> 20 [ label = "" ] + 22 -> 191 [ label = "" ] + 22 -> 192 [ label = "" ] + 23 -> 192 [ label = "" ] + 24 -> 207 [ label = "" ] + 24 -> 23 [ label = "" ] + 24 -> 208 [ label = "" ] + 24 -> 209 [ label = "" ] + 24 -> 191 [ label = "" ] + 24 -> 192 [ label = "" ] + 24 -> 210 [ label = "" ] + 24 -> 211 [ label = "" ] + 24 -> 150 [ label = "" ] + 25 -> 207 [ label = "" ] + 25 -> 23 [ label = "" ] + 25 -> 208 [ label = "" ] + 25 -> 209 [ label = "" ] + 25 -> 191 [ label = "" ] + 25 -> 192 [ label = "" ] + 25 -> 210 [ label = "" ] + 25 -> 211 [ label = "" ] + 25 -> 150 [ label = "" ] + 26 -> 212 [ label = "" ] + 26 -> 213 [ label = "" ] + 26 -> 214 [ label = "" ] + 26 -> 190 [ label = "" ] + 26 -> 215 [ label = "" ] + 26 -> 192 [ label = "" ] + 27 -> 216 [ label = "" ] + 28 -> 76 [ label = " 'cfg(unix)'" ] + 29 -> 140 [ label = "" ] + 30 -> 140 [ label = "" ] + 33 -> 28 [ label = "" ] + 34 -> 13 [ label = "" ] + 34 -> 69 [ label = "" ] + 34 -> 75 [ label = "" ] + 34 -> 217 [ label = "" ] + 34 -> 103 [ label = "" ] + 34 -> 127 [ label = "" ] + 34 -> 218 [ label = "" ] + 34 -> 192 [ label = "" ] + 34 -> 211 [ label = "" ] + 34 -> 219 [ label = "" ] + 34 -> 175 [ label = "" ] + 35 -> 216 [ label = " 'aarch64-linux-android'" ] + 35 -> 216 [ label = " 'cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))'" ] + 35 -> 216 [ label = " 'cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))'" ] + 35 -> 216 [ label = " 'cfg(all(target_arch = \"loongarch64\", target_os = \"linux\"))'" ] + 36 -> 37 [ label = "" ] + 36 -> 220 [ label = "" ] + 36 -> 40 [ label = "" ] + 36 -> 221 [ label = "" ] + 37 -> 40 [ label = "" ] + 37 -> 221 [ label = "" ] + 38 -> 31 [ label = "" ] + 38 -> 39 [ label = "" ] + 38 -> 222 [ label = "" ] + 38 -> 82 [ label = "" ] + 39 -> 14 [ label = "(build)" ] + 39 -> 31 [ label = "" ] + 39 -> 75 [ label = "" ] + 41 -> 223 [ label = "" ] + 41 -> 159 [ label = "" ] + 42 -> 180 [ label = "" ] + 42 -> 182 [ label = "" ] + 42 -> 224 [ label = "" ] + 42 -> 225 [ label = "" ] + 42 -> 183 [ label = "" ] + 43 -> 180 [ label = "" ] + 43 -> 182 [ label = "" ] + 43 -> 183 [ label = "" ] + 44 -> 18 [ label = "" ] + 44 -> 41 [ label = "" ] + 45 -> 56 [ label = "" ] + 49 -> 226 [ label = "" ] + 49 -> 227 [ label = "" ] + 51 -> 228 [ label = "" ] + 51 -> 71 [ label = "" ] + 51 -> 229 [ label = "" ] + 51 -> 83 [ label = "" ] + 51 -> 230 [ label = "" ] + 51 -> 231 [ label = "" ] + 54 -> 159 [ label = "" ] + 55 -> 159 [ label = "" ] + 55 -> 162 [ label = "(build)" ] + 56 -> 159 [ label = "" ] + 57 -> 32 [ label = "" ] + 57 -> 76 [ label = " 'cfg(unix)'" ] + 57 -> 232 [ label = " 'cfg(target_os = \"wasi\")'" ] + 58 -> 32 [ label = "" ] + 58 -> 76 [ label = " 'cfg(unix)'" ] + 58 -> 163 [ label = " 'cfg(target_os = \"wasi\")'" ] + 59 -> 110 [ label = "" ] + 59 -> 182 [ label = "" ] + 59 -> 183 [ label = "" ] + 61 -> 3 [ label = "" ] + 63 -> 2 [ label = "" ] + 63 -> 14 [ label = "(build)" ] + 64 -> 122 [ label = "" ] + 65 -> 233 [ label = " 'cfg(windows)'" ] + 65 -> 234 [ label = " 'cfg(windows)'" ] + 65 -> 235 [ label = " 'cfg(windows)'" ] + 65 -> 236 [ label = " 'cfg(windows)'" ] + 66 -> 237 [ label = "" ] + 66 -> 186 [ label = "" ] 66 -> 68 [ label = "" ] - 66 -> 173 [ label = "" ] - 66 -> 174 [ label = "" ] - 66 -> 175 [ label = "" ] - 67 -> 176 [ label = "" ] - 67 -> 177 [ label = "" ] - 67 -> 68 [ label = "" ] - 68 -> 29 [ label = "" ] - 68 -> 178 [ label = "" ] - 70 -> 179 [ label = "" ] + 67 -> 50 [ label = "" ] + 67 -> 238 [ label = "" ] + 69 -> 239 [ label = "" ] + 69 -> 240 [ label = "" ] + 69 -> 192 [ label = "" ] 70 -> 180 [ label = "" ] - 70 -> 181 [ label = "" ] - 70 -> 116 [ label = "" ] - 71 -> 17 [ label = "" ] - 71 -> 56 [ label = "" ] - 73 -> 74 [ label = "" ] - 74 -> 182 [ label = "" ] - 74 -> 182 [ label = " 'cfg(any())'" ] - 75 -> 110 [ label = "" ] - 75 -> 111 [ label = "" ] - 75 -> 114 [ label = "" ] - 76 -> 35 [ label = "" ] - 76 -> 72 [ label = "" ] - 76 -> 74 [ label = "" ] - 76 -> 183 [ label = "" ] - 77 -> 116 [ label = "" ] - 78 -> 17 [ label = "" ] - 78 -> 20 [ label = " 'cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))'" ] - 78 -> 184 [ label = "" ] - 80 -> 74 [ label = "" ] - 80 -> 183 [ label = "" ] - 82 -> 185 [ label = "" ] - 82 -> 186 [ label = " 'cfg(target_os = \"linux\")'" ] - 82 -> 187 [ label = " 'cfg(target_os = \"linux\")'" ] - 82 -> 186 [ label = " 'cfg(target_os = \"windows\")'" ] - 82 -> 187 [ label = " 'cfg(target_os = \"windows\")'" ] - 83 -> 64 [ label = "" ] - 83 -> 171 [ label = "" ] - 83 -> 65 [ label = "" ] - 83 -> 188 [ label = "" ] - 83 -> 95 [ label = "" ] - 84 -> 64 [ label = "" ] - 84 -> 171 [ label = "" ] - 84 -> 65 [ label = "" ] - 84 -> 188 [ label = "" ] - 84 -> 95 [ label = "" ] - 85 -> 8 [ label = "" ] - 85 -> 32 [ label = "" ] - 85 -> 33 [ label = "" ] - 85 -> 164 [ label = "" ] - 85 -> 118 [ label = "" ] - 85 -> 119 [ label = "" ] - 85 -> 115 [ label = "" ] - 85 -> 189 [ label = "" ] - 85 -> 116 [ label = "" ] - 85 -> 121 [ label = "" ] - 85 -> 190 [ label = "" ] - 85 -> 191 [ label = "" ] - 85 -> 86 [ label = "" ] - 85 -> 192 [ label = "" ] - 85 -> 92 [ label = "" ] - 86 -> 87 [ label = "" ] - 87 -> 110 [ label = "" ] - 87 -> 111 [ label = "" ] - 87 -> 114 [ label = "" ] - 88 -> 116 [ label = "" ] - 89 -> 116 [ label = "" ] - 89 -> 193 [ label = "" ] - 89 -> 194 [ label = "" ] - 89 -> 195 [ label = "" ] - 89 -> 196 [ label = "" ] - 90 -> 116 [ label = "" ] - 91 -> 197 [ label = "" ] - 91 -> 170 [ label = "" ] - 91 -> 116 [ label = "" ] - 91 -> 193 [ label = "" ] - 91 -> 90 [ label = "" ] - 91 -> 194 [ label = "" ] - 91 -> 198 [ label = "" ] - 92 -> 17 [ label = "" ] - 92 -> 81 [ label = "" ] + 70 -> 182 [ label = "" ] + 70 -> 241 [ label = "" ] + 70 -> 225 [ label = "" ] + 70 -> 183 [ label = "" ] + 71 -> 242 [ label = "" ] + 71 -> 243 [ label = "" ] + 71 -> 244 [ label = "" ] + 71 -> 209 [ label = "" ] + 72 -> 245 [ label = "" ] + 72 -> 246 [ label = "" ] + 72 -> 244 [ label = "" ] + 72 -> 209 [ label = "" ] + 72 -> 149 [ label = "" ] + 73 -> 216 [ label = "" ] + 74 -> 26 [ label = "" ] + 74 -> 70 [ label = "" ] + 74 -> 73 [ label = "" ] + 74 -> 247 [ label = "" ] + 74 -> 248 [ label = "" ] + 74 -> 190 [ label = "" ] + 74 -> 150 [ label = "" ] + 80 -> 121 [ label = "" ] + 81 -> 14 [ label = "(build)" ] + 81 -> 121 [ label = "" ] + 83 -> 19 [ label = "" ] + 83 -> 20 [ label = "" ] + 83 -> 45 [ label = "" ] + 87 -> 1 [ label = "" ] + 90 -> 5 [ label = "" ] + 90 -> 249 [ label = "" ] + 90 -> 9 [ label = "" ] + 90 -> 54 [ label = "" ] + 90 -> 250 [ label = "" ] + 90 -> 88 [ label = "" ] + 90 -> 95 [ label = "" ] + 90 -> 251 [ label = "" ] + 90 -> 98 [ label = "" ] + 90 -> 99 [ label = "" ] + 90 -> 113 [ label = "" ] + 90 -> 252 [ label = "" ] + 90 -> 119 [ label = "" ] + 90 -> 192 [ label = "" ] + 90 -> 253 [ label = "" ] + 90 -> 159 [ label = "" ] + 91 -> 10 [ label = "" ] + 91 -> 27 [ label = "" ] + 91 -> 216 [ label = "" ] + 91 -> 254 [ label = "" ] + 91 -> 255 [ label = "" ] + 91 -> 96 [ label = "" ] + 91 -> 97 [ label = "" ] + 91 -> 99 [ label = "" ] + 91 -> 256 [ label = "" ] + 91 -> 121 [ label = "" ] + 92 -> 26 [ label = "" ] + 92 -> 70 [ label = "" ] + 92 -> 74 [ label = "" ] + 92 -> 257 [ label = "" ] + 92 -> 258 [ label = "" ] + 92 -> 259 [ label = "" ] + 92 -> 260 [ label = "" ] + 92 -> 214 [ label = "" ] + 92 -> 190 [ label = "" ] + 92 -> 215 [ label = "" ] + 92 -> 150 [ label = "" ] + 93 -> 33 [ label = "(build)" ] + 94 -> 85 [ label = "" ] + 94 -> 178 [ label = "" ] + 94 -> 86 [ label = "" ] + 94 -> 261 [ label = "" ] + 95 -> 14 [ label = "(build)" ] + 95 -> 99 [ label = "" ] + 95 -> 132 [ label = "" ] + 96 -> 262 [ label = "" ] + 96 -> 256 [ label = "" ] + 96 -> 114 [ label = "" ] + 96 -> 132 [ label = "" ] + 97 -> 14 [ label = "(build)" ] + 97 -> 99 [ label = "" ] + 98 -> 14 [ label = "(build)" ] + 98 -> 97 [ label = "" ] 98 -> 99 [ label = "" ] - 99 -> 100 [ label = " 'aarch64-pc-windows-gnullvm'" ] - 99 -> 101 [ label = " 'cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))'" ] - 99 -> 102 [ label = " 'cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))'" ] - 99 -> 103 [ label = " 'cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))'" ] - 99 -> 104 [ label = " 'cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))'" ] - 99 -> 105 [ label = " 'x86_64-pc-windows-gnullvm'" ] - 99 -> 106 [ label = " 'cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))'" ] - 108 -> 44 [ label = "" ] - 199 -> 4 [ label = "" ] - 179 -> 4 [ label = "" ] - 179 -> 199 [ label = "" ] - 180 -> 5 [ label = "" ] - 200 -> 7 [ label = "" ] - 138 -> 7 [ label = "" ] - 138 -> 200 [ label = "" ] - 117 -> 8 [ label = "" ] - 117 -> 201 [ label = "" ] - 201 -> 8 [ label = "" ] - 201 -> 74 [ label = "" ] - 146 -> 10 [ label = "" ] - 149 -> 11 [ label = "" ] - 147 -> 15 [ label = "" ] - 150 -> 16 [ label = "" ] - 202 -> 19 [ label = "" ] - 202 -> 108 [ label = "" ] - 203 -> 19 [ label = "" ] - 203 -> 202 [ label = "" ] - 204 -> 19 [ label = "" ] - 204 -> 88 [ label = "" ] - 205 -> 19 [ label = "" ] - 205 -> 76 [ label = "" ] - 206 -> 19 [ label = "" ] - 206 -> 71 [ label = "" ] - 207 -> 19 [ label = "" ] - 207 -> 70 [ label = "" ] - 208 -> 19 [ label = "" ] - 208 -> 209 [ label = "" ] - 210 -> 19 [ label = "" ] - 210 -> 208 [ label = "" ] - 211 -> 19 [ label = "" ] - 211 -> 205 [ label = "" ] - 212 -> 19 [ label = "" ] - 212 -> 206 [ label = "" ] - 185 -> 19 [ label = "" ] - 185 -> 204 [ label = "" ] - 185 -> 211 [ label = "" ] - 185 -> 203 [ label = "" ] - 185 -> 212 [ label = "" ] - 185 -> 207 [ label = "" ] - 185 -> 210 [ label = "" ] - 184 -> 22 [ label = "" ] - 184 -> 213 [ label = "" ] - 213 -> 22 [ label = "" ] - 213 -> 214 [ label = "" ] - 214 -> 22 [ label = "" ] - 214 -> 6 [ label = "" ] - 215 -> 27 [ label = "" ] - 139 -> 27 [ label = "" ] - 139 -> 215 [ label = "" ] - 131 -> 28 [ label = "" ] - 178 -> 29 [ label = "" ] - 216 -> 30 [ label = "" ] - 163 -> 30 [ label = "" ] - 163 -> 217 [ label = "" ] - 163 -> 216 [ label = "" ] - 217 -> 30 [ label = "" ] - 217 -> 0 [ label = "" ] - 140 -> 31 [ label = "" ] - 197 -> 34 [ label = "" ] - 170 -> 34 [ label = "" ] - 170 -> 197 [ label = "" ] - 132 -> 39 [ label = "" ] - 132 -> 85 [ label = "" ] - 218 -> 41 [ label = "" ] - 218 -> 152 [ label = "" ] - 156 -> 41 [ label = "" ] - 156 -> 218 [ label = "" ] - 219 -> 43 [ label = "" ] - 127 -> 43 [ label = "" ] - 127 -> 219 [ label = "" ] - 154 -> 45 [ label = "" ] - 153 -> 45 [ label = "" ] - 160 -> 46 [ label = "" ] - 160 -> 220 [ label = "" ] - 164 -> 46 [ label = "" ] - 164 -> 160 [ label = "" ] - 220 -> 46 [ label = "" ] - 161 -> 47 [ label = "" ] - 159 -> 48 [ label = "" ] - 159 -> 155 [ label = "" ] - 159 -> 154 [ label = "" ] - 221 -> 48 [ label = "" ] - 221 -> 43 [ label = "" ] - 222 -> 48 [ label = "" ] - 222 -> 13 [ label = "" ] - 157 -> 48 [ label = "" ] - 157 -> 222 [ label = "" ] - 157 -> 221 [ label = "" ] - 158 -> 48 [ label = "" ] - 158 -> 1 [ label = "" ] - 186 -> 49 [ label = "" ] - 186 -> 156 [ label = "" ] - 187 -> 49 [ label = "" ] - 152 -> 50 [ label = "" ] - 151 -> 50 [ label = "" ] - 223 -> 51 [ label = "" ] - 223 -> 224 [ label = "" ] - 223 -> 160 [ label = "" ] - 223 -> 161 [ label = "" ] - 128 -> 51 [ label = "" ] - 128 -> 223 [ label = "" ] - 224 -> 51 [ label = "" ] - 225 -> 52 [ label = "" ] - 225 -> 155 [ label = "" ] - 122 -> 52 [ label = "" ] - 122 -> 74 [ label = "" ] - 123 -> 52 [ label = "" ] - 123 -> 66 [ label = "" ] - 124 -> 52 [ label = "" ] - 124 -> 225 [ label = "" ] - 155 -> 54 [ label = "" ] - 162 -> 54 [ label = "" ] - 125 -> 54 [ label = "" ] - 125 -> 155 [ label = "" ] - 226 -> 55 [ label = "" ] - 226 -> 109 [ label = "" ] - 227 -> 55 [ label = "" ] - 169 -> 55 [ label = "" ] - 169 -> 226 [ label = "" ] - 109 -> 55 [ label = "" ] - 109 -> 227 [ label = "" ] - 166 -> 58 [ label = "" ] - 166 -> 165 [ label = "" ] - 166 -> 86 [ label = "" ] - 228 -> 58 [ label = "" ] - 228 -> 46 [ label = "" ] - 141 -> 58 [ label = "" ] - 141 -> 166 [ label = "" ] - 141 -> 228 [ label = "" ] - 229 -> 59 [ label = "" ] - 229 -> 166 [ label = "" ] - 229 -> 167 [ label = "" ] - 142 -> 59 [ label = "" ] - 142 -> 229 [ label = "" ] - 167 -> 60 [ label = "" ] - 167 -> 166 [ label = "" ] - 168 -> 61 [ label = "" ] - 230 -> 62 [ label = "" ] - 231 -> 62 [ label = "" ] - 232 -> 62 [ label = "" ] - 148 -> 62 [ label = "" ] - 148 -> 232 [ label = "" ] - 148 -> 230 [ label = "" ] - 148 -> 231 [ label = "" ] - 177 -> 63 [ label = "" ] - 176 -> 63 [ label = "" ] - 171 -> 64 [ label = "" ] - 110 -> 64 [ label = "" ] - 110 -> 171 [ label = "" ] - 188 -> 65 [ label = "" ] - 188 -> 171 [ label = "" ] - 111 -> 65 [ label = "" ] - 111 -> 188 [ label = "" ] - 233 -> 66 [ label = "" ] - 233 -> 234 [ label = "" ] - 235 -> 66 [ label = "" ] - 235 -> 175 [ label = "" ] - 235 -> 172 [ label = "" ] - 235 -> 236 [ label = "" ] - 235 -> 237 [ label = "" ] - 235 -> 238 [ label = "" ] - 234 -> 66 [ label = "" ] - 234 -> 67 [ label = "" ] - 238 -> 66 [ label = "" ] - 238 -> 43 [ label = "" ] - 237 -> 66 [ label = "" ] - 237 -> 174 [ label = "" ] - 126 -> 66 [ label = "" ] - 126 -> 235 [ label = "" ] - 126 -> 233 [ label = "" ] - 236 -> 66 [ label = "" ] - 236 -> 173 [ label = "" ] - 172 -> 67 [ label = "" ] - 172 -> 177 [ label = "" ] - 175 -> 68 [ label = "" ] - 175 -> 173 [ label = "" ] - 175 -> 174 [ label = "" ] - 175 -> 178 [ label = "" ] - 174 -> 68 [ label = "" ] - 174 -> 29 [ label = "" ] - 173 -> 68 [ label = "" ] - 129 -> 71 [ label = "" ] - 239 -> 73 [ label = "" ] - 118 -> 73 [ label = "" ] - 118 -> 74 [ label = "" ] - 119 -> 73 [ label = "" ] - 119 -> 239 [ label = "" ] - 183 -> 74 [ label = "" ] - 181 -> 74 [ label = "" ] - 181 -> 75 [ label = "" ] - 189 -> 74 [ label = "" ] - 115 -> 74 [ label = "" ] - 115 -> 181 [ label = "" ] - 116 -> 74 [ label = "" ] - 116 -> 183 [ label = "" ] - 182 -> 75 [ label = "" ] - 120 -> 76 [ label = "" ] - 240 -> 76 [ label = "" ] - 240 -> 183 [ label = "" ] - 121 -> 76 [ label = "" ] - 121 -> 240 [ label = "" ] - 193 -> 77 [ label = "" ] - 193 -> 74 [ label = "" ] - 241 -> 80 [ label = "" ] - 241 -> 183 [ label = "" ] - 190 -> 80 [ label = "" ] - 190 -> 74 [ label = "" ] - 191 -> 80 [ label = "" ] - 191 -> 241 [ label = "" ] - 133 -> 82 [ label = "" ] - 133 -> 49 [ label = "" ] - 242 -> 83 [ label = "" ] - 242 -> 65 [ label = "" ] - 243 -> 83 [ label = "" ] - 243 -> 171 [ label = "" ] - 243 -> 188 [ label = "" ] - 244 -> 83 [ label = "" ] - 244 -> 242 [ label = "" ] - 245 -> 83 [ label = "" ] - 143 -> 83 [ label = "" ] - 144 -> 83 [ label = "" ] - 246 -> 83 [ label = "" ] - 145 -> 83 [ label = "" ] - 145 -> 246 [ label = "" ] - 145 -> 245 [ label = "" ] - 145 -> 244 [ label = "" ] - 145 -> 247 [ label = "" ] - 145 -> 243 [ label = "" ] - 247 -> 83 [ label = "" ] - 113 -> 84 [ label = "" ] - 248 -> 84 [ label = "" ] - 248 -> 65 [ label = "" ] - 249 -> 84 [ label = "" ] - 249 -> 171 [ label = "" ] - 249 -> 188 [ label = "" ] - 250 -> 84 [ label = "" ] - 250 -> 248 [ label = "" ] - 251 -> 84 [ label = "" ] - 112 -> 84 [ label = "" ] - 252 -> 84 [ label = "" ] - 114 -> 84 [ label = "" ] - 114 -> 252 [ label = "" ] - 114 -> 251 [ label = "" ] - 114 -> 250 [ label = "" ] - 114 -> 253 [ label = "" ] - 114 -> 249 [ label = "" ] - 253 -> 84 [ label = "" ] - 130 -> 88 [ label = "" ] - 254 -> 89 [ label = "" ] - 254 -> 91 [ label = "" ] - 255 -> 89 [ label = "" ] - 255 -> 91 [ label = "" ] - 192 -> 89 [ label = "" ] - 192 -> 254 [ label = "" ] - 192 -> 255 [ label = "" ] - 194 -> 90 [ label = "" ] - 194 -> 74 [ label = "" ] - 195 -> 91 [ label = "" ] - 195 -> 74 [ label = "" ] - 195 -> 194 [ label = "" ] - 195 -> 77 [ label = "" ] - 196 -> 91 [ label = "" ] - 165 -> 94 [ label = "" ] - 137 -> 98 [ label = "" ] - 135 -> 98 [ label = "" ] - 135 -> 256 [ label = "" ] - 256 -> 98 [ label = "" ] - 256 -> 257 [ label = "" ] - 136 -> 98 [ label = "" ] - 136 -> 258 [ label = "" ] - 258 -> 98 [ label = "" ] - 258 -> 257 [ label = "" ] - 134 -> 98 [ label = "" ] - 134 -> 257 [ label = "" ] - 257 -> 98 [ label = "" ] - 259 -> 107 [ label = "" ] - 259 -> 260 [ label = "" ] - 198 -> 107 [ label = "" ] - 198 -> 259 [ label = "" ] - 260 -> 107 [ label = "" ] + 99 -> 14 [ label = "(build)" ] + 99 -> 263 [ label = "" ] + 100 -> 85 [ label = "" ] + 102 -> 46 [ label = "" ] + 102 -> 264 [ label = "" ] + 104 -> 265 [ label = "" ] + 104 -> 150 [ label = "" ] + 104 -> 160 [ label = "" ] + 104 -> 266 [ label = "" ] + 105 -> 104 [ label = "" ] + 105 -> 267 [ label = "" ] + 105 -> 106 [ label = "" ] + 105 -> 268 [ label = "" ] + 106 -> 104 [ label = "" ] + 106 -> 267 [ label = "" ] + 106 -> 269 [ label = "" ] + 106 -> 180 [ label = "" ] + 106 -> 182 [ label = "" ] + 106 -> 200 [ label = "" ] + 107 -> 270 [ label = "" ] + 107 -> 239 [ label = "" ] + 107 -> 136 [ label = "(build)" ] + 108 -> 52 [ label = "" ] + 108 -> 271 [ label = "" ] + 110 -> 161 [ label = "" ] + 111 -> 49 [ label = "" ] + 111 -> 272 [ label = "" ] + 111 -> 79 [ label = "" ] + 111 -> 273 [ label = "" ] + 111 -> 117 [ label = "" ] + 112 -> 110 [ label = "" ] + 112 -> 274 [ label = "" ] + 113 -> 57 [ label = "" ] + 113 -> 76 [ label = " 'cfg(unix)'" ] + 113 -> 115 [ label = " 'cfg(not(target_os = \"emscripten\"))'" ] + 113 -> 275 [ label = "" ] + 113 -> 117 [ label = "" ] + 113 -> 276 [ label = "" ] + 113 -> 277 [ label = "" ] + 113 -> 278 [ label = "" ] + 113 -> 120 [ label = " 'cfg(target_os = \"emscripten\")'" ] + 114 -> 76 [ label = " 'cfg(unix)'" ] + 114 -> 116 [ label = "" ] + 114 -> 279 [ label = "" ] + 114 -> 118 [ label = "" ] + 114 -> 280 [ label = "" ] + 114 -> 281 [ label = "" ] + 114 -> 282 [ label = "" ] + 115 -> 283 [ label = "" ] + 115 -> 284 [ label = "" ] + 115 -> 117 [ label = "" ] + 116 -> 283 [ label = "" ] + 116 -> 284 [ label = "" ] + 116 -> 118 [ label = "" ] + 117 -> 57 [ label = "" ] + 117 -> 285 [ label = "" ] + 118 -> 58 [ label = "" ] + 118 -> 286 [ label = "" ] + 119 -> 273 [ label = "" ] + 120 -> 117 [ label = "" ] + 122 -> 48 [ label = "" ] + 122 -> 123 [ label = "" ] + 123 -> 287 [ label = "" ] + 123 -> 288 [ label = "" ] + 124 -> 289 [ label = "" ] + 124 -> 290 [ label = "" ] + 124 -> 265 [ label = "" ] + 124 -> 178 [ label = "" ] + 124 -> 291 [ label = "" ] + 124 -> 292 [ label = "" ] + 124 -> 293 [ label = "" ] + 124 -> 294 [ label = "" ] + 124 -> 295 [ label = "" ] + 124 -> 296 [ label = "" ] + 124 -> 297 [ label = "" ] + 124 -> 298 [ label = "" ] + 124 -> 299 [ label = "" ] + 124 -> 300 [ label = "" ] + 124 -> 301 [ label = "" ] + 124 -> 302 [ label = "" ] + 124 -> 303 [ label = "" ] + 124 -> 304 [ label = "" ] + 124 -> 305 [ label = "" ] + 124 -> 306 [ label = "" ] + 124 -> 307 [ label = "" ] + 124 -> 308 [ label = "" ] + 124 -> 309 [ label = "" ] + 124 -> 126 [ label = "" ] + 124 -> 310 [ label = "" ] + 124 -> 311 [ label = "" ] + 124 -> 312 [ label = "" ] + 124 -> 313 [ label = "" ] + 124 -> 314 [ label = "" ] + 124 -> 315 [ label = "" ] + 124 -> 316 [ label = "" ] + 124 -> 317 [ label = "" ] + 124 -> 318 [ label = "" ] + 124 -> 319 [ label = "" ] + 125 -> 4 [ label = "" ] + 125 -> 320 [ label = "" ] + 125 -> 290 [ label = "" ] + 125 -> 85 [ label = "" ] + 125 -> 178 [ label = "" ] + 125 -> 126 [ label = "" ] + 125 -> 311 [ label = "" ] + 125 -> 312 [ label = "" ] + 125 -> 313 [ label = "" ] + 125 -> 314 [ label = "" ] + 125 -> 315 [ label = "" ] + 125 -> 316 [ label = "" ] + 125 -> 317 [ label = "" ] + 125 -> 318 [ label = "" ] + 125 -> 319 [ label = "" ] + 127 -> 321 [ label = "" ] + 127 -> 322 [ label = "" ] + 127 -> 323 [ label = "" ] + 127 -> 192 [ label = "" ] + 128 -> 32 [ label = "" ] + 128 -> 102 [ label = "" ] + 131 -> 132 [ label = "" ] + 132 -> 253 [ label = "" ] + 132 -> 253 [ label = " 'cfg(any())'" ] + 133 -> 180 [ label = "" ] + 133 -> 182 [ label = "" ] + 133 -> 200 [ label = "" ] + 134 -> 68 [ label = "" ] + 134 -> 130 [ label = "" ] + 134 -> 132 [ label = "" ] + 134 -> 324 [ label = "" ] + 135 -> 192 [ label = "" ] + 136 -> 32 [ label = "" ] + 136 -> 35 [ label = " 'cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))'" ] + 136 -> 325 [ label = "" ] + 137 -> 326 [ label = "" ] + 137 -> 327 [ label = "" ] + 137 -> 89 [ label = "" ] + 137 -> 122 [ label = "" ] + 137 -> 138 [ label = "" ] + 137 -> 140 [ label = "" ] + 137 -> 328 [ label = "" ] + 138 -> 180 [ label = "" ] + 138 -> 182 [ label = "" ] + 138 -> 183 [ label = "" ] + 141 -> 132 [ label = "" ] + 141 -> 324 [ label = "" ] + 142 -> 329 [ label = "" ] + 142 -> 327 [ label = "" ] + 142 -> 64 [ label = "" ] + 142 -> 330 [ label = "" ] + 142 -> 79 [ label = "" ] + 142 -> 122 [ label = "" ] + 142 -> 137 [ label = "" ] + 142 -> 331 [ label = "" ] + 142 -> 332 [ label = "" ] + 142 -> 139 [ label = "" ] + 142 -> 143 [ label = "" ] + 142 -> 156 [ label = "" ] + 143 -> 180 [ label = "" ] + 143 -> 182 [ label = "" ] + 143 -> 183 [ label = "" ] + 144 -> 64 [ label = "" ] + 144 -> 330 [ label = "" ] + 144 -> 139 [ label = "" ] + 144 -> 193 [ label = "" ] + 144 -> 195 [ label = "" ] + 146 -> 333 [ label = "" ] + 146 -> 334 [ label = " 'cfg(target_os = \"linux\")'" ] + 146 -> 335 [ label = " 'cfg(target_os = \"linux\")'" ] + 146 -> 334 [ label = " 'cfg(target_os = \"windows\")'" ] + 146 -> 335 [ label = " 'cfg(target_os = \"windows\")'" ] + 147 -> 110 [ label = "" ] + 147 -> 274 [ label = "" ] + 147 -> 112 [ label = "" ] + 147 -> 336 [ label = "" ] + 147 -> 161 [ label = "" ] + 148 -> 110 [ label = "" ] + 148 -> 274 [ label = "" ] + 148 -> 112 [ label = "" ] + 148 -> 336 [ label = "" ] + 148 -> 161 [ label = "" ] + 149 -> 22 [ label = "" ] + 149 -> 65 [ label = "" ] + 149 -> 66 [ label = "" ] + 149 -> 265 [ label = "" ] + 149 -> 208 [ label = "" ] + 149 -> 209 [ label = "" ] + 149 -> 191 [ label = "" ] + 149 -> 337 [ label = "" ] + 149 -> 192 [ label = "" ] + 149 -> 211 [ label = "" ] + 149 -> 338 [ label = "" ] + 149 -> 339 [ label = "" ] + 149 -> 150 [ label = "" ] + 149 -> 340 [ label = "" ] + 149 -> 157 [ label = "" ] + 150 -> 151 [ label = "" ] + 151 -> 180 [ label = "" ] + 151 -> 182 [ label = "" ] + 151 -> 200 [ label = "" ] + 152 -> 192 [ label = "" ] + 153 -> 192 [ label = "" ] + 153 -> 341 [ label = "" ] + 153 -> 342 [ label = "" ] + 153 -> 343 [ label = "" ] + 153 -> 344 [ label = "" ] + 154 -> 192 [ label = "" ] + 155 -> 345 [ label = "" ] + 155 -> 271 [ label = "" ] + 155 -> 192 [ label = "" ] + 155 -> 341 [ label = "" ] + 155 -> 154 [ label = "" ] + 155 -> 342 [ label = "" ] + 155 -> 346 [ label = "" ] + 157 -> 32 [ label = "" ] + 157 -> 145 [ label = "" ] + 158 -> 347 [ label = "" ] + 165 -> 166 [ label = "" ] + 166 -> 167 [ label = " 'aarch64-pc-windows-gnullvm'" ] + 166 -> 168 [ label = " 'cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))'" ] + 166 -> 169 [ label = " 'cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))'" ] + 166 -> 170 [ label = " 'cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))'" ] + 166 -> 171 [ label = " 'cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))'" ] + 166 -> 172 [ label = " 'x86_64-pc-windows-gnullvm'" ] + 166 -> 173 [ label = " 'cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))'" ] + 175 -> 78 [ label = "" ] + 290 -> 4 [ label = "" ] + 320 -> 4 [ label = "" ] + 320 -> 85 [ label = "" ] + 289 -> 4 [ label = "" ] + 289 -> 290 [ label = "" ] + 289 -> 320 [ label = "" ] + 249 -> 5 [ label = "" ] + 228 -> 7 [ label = "" ] + 228 -> 195 [ label = "" ] + 228 -> 196 [ label = "" ] + 348 -> 9 [ label = "" ] + 184 -> 9 [ label = "" ] + 184 -> 348 [ label = "" ] + 349 -> 12 [ label = "" ] + 326 -> 12 [ label = "" ] + 326 -> 349 [ label = "" ] + 350 -> 15 [ label = "" ] + 197 -> 15 [ label = "" ] + 197 -> 350 [ label = "" ] + 351 -> 16 [ label = "" ] + 321 -> 16 [ label = "" ] + 321 -> 351 [ label = "" ] + 322 -> 17 [ label = "" ] + 352 -> 21 [ label = "" ] + 237 -> 21 [ label = "" ] + 237 -> 352 [ label = "" ] + 207 -> 22 [ label = "" ] + 207 -> 353 [ label = "" ] + 353 -> 22 [ label = "" ] + 353 -> 132 [ label = "" ] + 242 -> 24 [ label = "" ] + 245 -> 25 [ label = "" ] + 243 -> 29 [ label = "" ] + 246 -> 30 [ label = "" ] + 354 -> 34 [ label = "" ] + 354 -> 175 [ label = "" ] + 355 -> 34 [ label = "" ] + 355 -> 354 [ label = "" ] + 356 -> 34 [ label = "" ] + 356 -> 152 [ label = "" ] + 357 -> 34 [ label = "" ] + 357 -> 134 [ label = "" ] + 358 -> 34 [ label = "" ] + 358 -> 128 [ label = "" ] + 359 -> 34 [ label = "" ] + 359 -> 127 [ label = "" ] + 360 -> 34 [ label = "" ] + 360 -> 361 [ label = "" ] + 362 -> 34 [ label = "" ] + 362 -> 360 [ label = "" ] + 363 -> 34 [ label = "" ] + 363 -> 357 [ label = "" ] + 364 -> 34 [ label = "" ] + 364 -> 358 [ label = "" ] + 333 -> 34 [ label = "" ] + 333 -> 356 [ label = "" ] + 333 -> 363 [ label = "" ] + 333 -> 355 [ label = "" ] + 333 -> 364 [ label = "" ] + 333 -> 359 [ label = "" ] + 333 -> 362 [ label = "" ] + 365 -> 36 [ label = "" ] + 365 -> 220 [ label = "" ] + 365 -> 221 [ label = "" ] + 287 -> 36 [ label = "" ] + 287 -> 365 [ label = "" ] + 220 -> 37 [ label = "" ] + 220 -> 366 [ label = "" ] + 220 -> 221 [ label = "" ] + 366 -> 37 [ label = "" ] + 367 -> 38 [ label = "" ] + 367 -> 222 [ label = "" ] + 329 -> 38 [ label = "" ] + 329 -> 367 [ label = "" ] + 222 -> 39 [ label = "" ] + 222 -> 368 [ label = "" ] + 368 -> 39 [ label = "" ] + 368 -> 75 [ label = "" ] + 221 -> 40 [ label = "" ] + 288 -> 40 [ label = "" ] + 288 -> 221 [ label = "" ] + 369 -> 43 [ label = "" ] + 185 -> 43 [ label = "" ] + 185 -> 369 [ label = "" ] + 325 -> 44 [ label = "" ] + 325 -> 370 [ label = "" ] + 370 -> 44 [ label = "" ] + 370 -> 371 [ label = "" ] + 371 -> 44 [ label = "" ] + 371 -> 18 [ label = "" ] + 272 -> 49 [ label = "" ] + 272 -> 124 [ label = "" ] + 372 -> 53 [ label = "" ] + 186 -> 53 [ label = "" ] + 186 -> 372 [ label = "" ] + 223 -> 55 [ label = "" ] + 285 -> 57 [ label = "" ] + 286 -> 58 [ label = "" ] + 373 -> 60 [ label = "" ] + 176 -> 60 [ label = "" ] + 176 -> 373 [ label = "" ] + 374 -> 61 [ label = "" ] + 264 -> 61 [ label = "" ] + 264 -> 375 [ label = "" ] + 264 -> 374 [ label = "" ] + 375 -> 61 [ label = "" ] + 375 -> 3 [ label = "" ] + 238 -> 62 [ label = "" ] + 376 -> 63 [ label = "" ] + 327 -> 63 [ label = "" ] + 327 -> 377 [ label = "" ] + 327 -> 376 [ label = "" ] + 377 -> 63 [ label = "" ] + 377 -> 2 [ label = "" ] + 378 -> 64 [ label = "" ] + 378 -> 122 [ label = "" ] + 330 -> 64 [ label = "" ] + 330 -> 378 [ label = "" ] + 345 -> 67 [ label = "" ] + 271 -> 67 [ label = "" ] + 271 -> 345 [ label = "" ] + 229 -> 72 [ label = "" ] + 229 -> 149 [ label = "" ] + 379 -> 74 [ label = "" ] + 379 -> 248 [ label = "" ] + 257 -> 74 [ label = "" ] + 257 -> 379 [ label = "" ] + 380 -> 76 [ label = "" ] + 216 -> 76 [ label = "" ] + 216 -> 380 [ label = "" ] + 263 -> 77 [ label = "" ] + 226 -> 79 [ label = "" ] + 381 -> 80 [ label = "" ] + 250 -> 80 [ label = "" ] + 250 -> 381 [ label = "" ] + 255 -> 81 [ label = "" ] + 254 -> 81 [ label = "" ] + 382 -> 84 [ label = "" ] + 230 -> 84 [ label = "" ] + 230 -> 382 [ label = "" ] + 178 -> 85 [ label = "" ] + 178 -> 383 [ label = "" ] + 265 -> 85 [ label = "" ] + 265 -> 178 [ label = "" ] + 383 -> 85 [ label = "" ] + 261 -> 86 [ label = "" ] + 384 -> 90 [ label = "" ] + 384 -> 385 [ label = "" ] + 384 -> 252 [ label = "" ] + 384 -> 386 [ label = "" ] + 384 -> 249 [ label = "" ] + 387 -> 90 [ label = "" ] + 387 -> 133 [ label = "" ] + 187 -> 90 [ label = "" ] + 187 -> 388 [ label = "" ] + 187 -> 387 [ label = "" ] + 187 -> 251 [ label = "" ] + 388 -> 90 [ label = "" ] + 388 -> 132 [ label = "" ] + 386 -> 90 [ label = "" ] + 386 -> 119 [ label = "" ] + 188 -> 90 [ label = "" ] + 188 -> 88 [ label = "" ] + 385 -> 90 [ label = "" ] + 385 -> 80 [ label = "" ] + 189 -> 90 [ label = "" ] + 189 -> 384 [ label = "" ] + 260 -> 91 [ label = "" ] + 260 -> 256 [ label = "" ] + 260 -> 255 [ label = "" ] + 389 -> 91 [ label = "" ] + 389 -> 76 [ label = "" ] + 390 -> 91 [ label = "" ] + 390 -> 27 [ label = "" ] + 258 -> 91 [ label = "" ] + 258 -> 390 [ label = "" ] + 258 -> 389 [ label = "" ] + 259 -> 91 [ label = "" ] + 259 -> 10 [ label = "" ] + 334 -> 92 [ label = "" ] + 334 -> 257 [ label = "" ] + 335 -> 92 [ label = "" ] + 248 -> 93 [ label = "" ] + 247 -> 93 [ label = "" ] + 391 -> 94 [ label = "" ] + 391 -> 347 [ label = "" ] + 391 -> 178 [ label = "" ] + 391 -> 261 [ label = "" ] + 217 -> 94 [ label = "" ] + 217 -> 391 [ label = "" ] + 347 -> 94 [ label = "" ] + 251 -> 95 [ label = "" ] + 251 -> 132 [ label = "" ] + 392 -> 96 [ label = "" ] + 392 -> 256 [ label = "" ] + 212 -> 96 [ label = "" ] + 212 -> 132 [ label = "" ] + 213 -> 96 [ label = "" ] + 213 -> 114 [ label = "" ] + 214 -> 96 [ label = "" ] + 214 -> 392 [ label = "" ] + 256 -> 99 [ label = "" ] + 179 -> 99 [ label = "" ] + 179 -> 77 [ label = "" ] + 262 -> 99 [ label = "" ] + 190 -> 99 [ label = "" ] + 190 -> 256 [ label = "" ] + 205 -> 100 [ label = "" ] + 201 -> 100 [ label = "" ] + 204 -> 100 [ label = "" ] + 204 -> 393 [ label = "" ] + 203 -> 100 [ label = "" ] + 202 -> 100 [ label = "" ] + 393 -> 100 [ label = "" ] + 206 -> 100 [ label = "" ] + 394 -> 101 [ label = "" ] + 394 -> 177 [ label = "" ] + 395 -> 101 [ label = "" ] + 270 -> 101 [ label = "" ] + 270 -> 394 [ label = "" ] + 177 -> 101 [ label = "" ] + 177 -> 395 [ label = "" ] + 267 -> 104 [ label = "" ] + 267 -> 266 [ label = "" ] + 267 -> 150 [ label = "" ] + 396 -> 104 [ label = "" ] + 396 -> 85 [ label = "" ] + 239 -> 104 [ label = "" ] + 239 -> 267 [ label = "" ] + 239 -> 396 [ label = "" ] + 397 -> 105 [ label = "" ] + 397 -> 267 [ label = "" ] + 397 -> 268 [ label = "" ] + 240 -> 105 [ label = "" ] + 240 -> 397 [ label = "" ] + 268 -> 106 [ label = "" ] + 268 -> 267 [ label = "" ] + 269 -> 107 [ label = "" ] + 398 -> 108 [ label = "" ] + 399 -> 108 [ label = "" ] + 400 -> 108 [ label = "" ] + 244 -> 108 [ label = "" ] + 244 -> 400 [ label = "" ] + 244 -> 398 [ label = "" ] + 244 -> 399 [ label = "" ] + 284 -> 109 [ label = "" ] + 283 -> 109 [ label = "" ] + 274 -> 110 [ label = "" ] + 180 -> 110 [ label = "" ] + 180 -> 274 [ label = "" ] + 401 -> 111 [ label = "" ] + 401 -> 402 [ label = "" ] + 401 -> 403 [ label = "" ] + 404 -> 111 [ label = "" ] + 404 -> 272 [ label = "" ] + 402 -> 111 [ label = "" ] + 402 -> 79 [ label = "" ] + 403 -> 111 [ label = "" ] + 403 -> 49 [ label = "" ] + 181 -> 111 [ label = "" ] + 181 -> 404 [ label = "" ] + 181 -> 401 [ label = "" ] + 336 -> 112 [ label = "" ] + 336 -> 274 [ label = "" ] + 182 -> 112 [ label = "" ] + 182 -> 336 [ label = "" ] + 252 -> 113 [ label = "" ] + 252 -> 278 [ label = "" ] + 252 -> 275 [ label = "" ] + 252 -> 405 [ label = "" ] + 252 -> 406 [ label = "" ] + 252 -> 407 [ label = "" ] + 407 -> 113 [ label = "" ] + 407 -> 76 [ label = "" ] + 408 -> 113 [ label = "" ] + 408 -> 409 [ label = "" ] + 406 -> 113 [ label = "" ] + 406 -> 408 [ label = "" ] + 406 -> 277 [ label = "" ] + 273 -> 113 [ label = "" ] + 273 -> 252 [ label = "" ] + 405 -> 113 [ label = "" ] + 405 -> 276 [ label = "" ] + 410 -> 114 [ label = "" ] + 410 -> 411 [ label = "" ] + 412 -> 114 [ label = "" ] + 412 -> 282 [ label = "" ] + 412 -> 279 [ label = "" ] + 412 -> 413 [ label = "" ] + 412 -> 414 [ label = "" ] + 412 -> 415 [ label = "" ] + 411 -> 114 [ label = "" ] + 411 -> 116 [ label = "" ] + 415 -> 114 [ label = "" ] + 415 -> 76 [ label = "" ] + 414 -> 114 [ label = "" ] + 414 -> 281 [ label = "" ] + 215 -> 114 [ label = "" ] + 215 -> 412 [ label = "" ] + 215 -> 410 [ label = "" ] + 413 -> 114 [ label = "" ] + 413 -> 280 [ label = "" ] + 275 -> 115 [ label = "" ] + 275 -> 284 [ label = "" ] + 279 -> 116 [ label = "" ] + 279 -> 284 [ label = "" ] + 278 -> 117 [ label = "" ] + 278 -> 276 [ label = "" ] + 278 -> 277 [ label = "" ] + 278 -> 285 [ label = "" ] + 277 -> 117 [ label = "" ] + 277 -> 57 [ label = "" ] + 276 -> 117 [ label = "" ] + 282 -> 118 [ label = "" ] + 282 -> 280 [ label = "" ] + 282 -> 281 [ label = "" ] + 282 -> 286 [ label = "" ] + 281 -> 118 [ label = "" ] + 281 -> 58 [ label = "" ] + 280 -> 118 [ label = "" ] + 416 -> 124 [ label = "" ] + 416 -> 308 [ label = "" ] + 416 -> 319 [ label = "" ] + 417 -> 124 [ label = "" ] + 417 -> 307 [ label = "" ] + 417 -> 318 [ label = "" ] + 418 -> 124 [ label = "" ] + 418 -> 306 [ label = "" ] + 418 -> 309 [ label = "" ] + 418 -> 317 [ label = "" ] + 419 -> 124 [ label = "" ] + 419 -> 305 [ label = "" ] + 419 -> 316 [ label = "" ] + 420 -> 124 [ label = "" ] + 420 -> 304 [ label = "" ] + 420 -> 315 [ label = "" ] + 421 -> 124 [ label = "" ] + 421 -> 303 [ label = "" ] + 421 -> 314 [ label = "" ] + 422 -> 124 [ label = "" ] + 422 -> 302 [ label = "" ] + 422 -> 313 [ label = "" ] + 423 -> 124 [ label = "" ] + 423 -> 422 [ label = "" ] + 423 -> 421 [ label = "" ] + 423 -> 420 [ label = "" ] + 423 -> 419 [ label = "" ] + 423 -> 418 [ label = "" ] + 423 -> 417 [ label = "" ] + 423 -> 416 [ label = "" ] + 423 -> 301 [ label = "" ] + 423 -> 312 [ label = "" ] + 424 -> 124 [ label = "" ] + 424 -> 300 [ label = "" ] + 424 -> 311 [ label = "" ] + 425 -> 124 [ label = "" ] + 425 -> 295 [ label = "" ] + 426 -> 124 [ label = "" ] + 426 -> 4 [ label = "" ] + 426 -> 85 [ label = "" ] + 426 -> 299 [ label = "" ] + 427 -> 124 [ label = "" ] + 427 -> 298 [ label = "" ] + 428 -> 124 [ label = "" ] + 428 -> 296 [ label = "" ] + 429 -> 124 [ label = "" ] + 430 -> 124 [ label = "" ] + 430 -> 297 [ label = "" ] + 431 -> 124 [ label = "" ] + 431 -> 429 [ label = "" ] + 431 -> 428 [ label = "" ] + 431 -> 425 [ label = "" ] + 431 -> 430 [ label = "" ] + 431 -> 427 [ label = "" ] + 431 -> 426 [ label = "" ] + 227 -> 124 [ label = "" ] + 227 -> 424 [ label = "" ] + 227 -> 431 [ label = "" ] + 227 -> 423 [ label = "" ] + 227 -> 310 [ label = "" ] + 309 -> 125 [ label = "" ] + 308 -> 125 [ label = "" ] + 307 -> 125 [ label = "" ] + 306 -> 125 [ label = "" ] + 305 -> 125 [ label = "" ] + 304 -> 125 [ label = "" ] + 303 -> 125 [ label = "" ] + 302 -> 125 [ label = "" ] + 301 -> 125 [ label = "" ] + 301 -> 302 [ label = "" ] + 301 -> 303 [ label = "" ] + 301 -> 304 [ label = "" ] + 301 -> 305 [ label = "" ] + 301 -> 306 [ label = "" ] + 301 -> 307 [ label = "" ] + 301 -> 308 [ label = "" ] + 301 -> 309 [ label = "" ] + 292 -> 125 [ label = "" ] + 292 -> 126 [ label = "" ] + 292 -> 291 [ label = "" ] + 300 -> 125 [ label = "" ] + 300 -> 291 [ label = "" ] + 432 -> 125 [ label = "" ] + 432 -> 85 [ label = "" ] + 433 -> 125 [ label = "" ] + 433 -> 300 [ label = "" ] + 433 -> 4 [ label = "" ] + 299 -> 125 [ label = "" ] + 299 -> 432 [ label = "" ] + 299 -> 433 [ label = "" ] + 298 -> 125 [ label = "" ] + 434 -> 125 [ label = "" ] + 434 -> 291 [ label = "" ] + 294 -> 125 [ label = "" ] + 294 -> 434 [ label = "" ] + 297 -> 125 [ label = "" ] + 297 -> 434 [ label = "" ] + 293 -> 125 [ label = "" ] + 293 -> 292 [ label = "" ] + 293 -> 294 [ label = "" ] + 296 -> 125 [ label = "" ] + 296 -> 291 [ label = "" ] + 296 -> 434 [ label = "" ] + 295 -> 125 [ label = "" ] + 295 -> 434 [ label = "" ] + 291 -> 125 [ label = "" ] + 319 -> 126 [ label = "" ] + 318 -> 126 [ label = "" ] + 317 -> 126 [ label = "" ] + 316 -> 126 [ label = "" ] + 315 -> 126 [ label = "" ] + 314 -> 126 [ label = "" ] + 313 -> 126 [ label = "" ] + 312 -> 126 [ label = "" ] + 312 -> 313 [ label = "" ] + 312 -> 314 [ label = "" ] + 312 -> 315 [ label = "" ] + 312 -> 316 [ label = "" ] + 312 -> 317 [ label = "" ] + 312 -> 318 [ label = "" ] + 312 -> 319 [ label = "" ] + 311 -> 126 [ label = "" ] + 310 -> 126 [ label = "" ] + 310 -> 311 [ label = "" ] + 310 -> 312 [ label = "" ] + 218 -> 128 [ label = "" ] + 435 -> 131 [ label = "" ] + 208 -> 131 [ label = "" ] + 208 -> 132 [ label = "" ] + 209 -> 131 [ label = "" ] + 209 -> 435 [ label = "" ] + 324 -> 132 [ label = "" ] + 323 -> 132 [ label = "" ] + 323 -> 133 [ label = "" ] + 337 -> 132 [ label = "" ] + 191 -> 132 [ label = "" ] + 191 -> 323 [ label = "" ] + 192 -> 132 [ label = "" ] + 192 -> 324 [ label = "" ] + 253 -> 133 [ label = "" ] + 210 -> 134 [ label = "" ] + 436 -> 134 [ label = "" ] + 436 -> 324 [ label = "" ] + 211 -> 134 [ label = "" ] + 211 -> 436 [ label = "" ] + 341 -> 135 [ label = "" ] + 341 -> 132 [ label = "" ] + 332 -> 137 [ label = "" ] + 332 -> 138 [ label = "" ] + 437 -> 137 [ label = "" ] + 437 -> 122 [ label = "" ] + 331 -> 137 [ label = "" ] + 331 -> 437 [ label = "" ] + 438 -> 141 [ label = "" ] + 438 -> 324 [ label = "" ] + 338 -> 141 [ label = "" ] + 338 -> 132 [ label = "" ] + 339 -> 141 [ label = "" ] + 339 -> 438 [ label = "" ] + 194 -> 142 [ label = "" ] + 194 -> 143 [ label = "" ] + 193 -> 142 [ label = "" ] + 193 -> 332 [ label = "" ] + 439 -> 142 [ label = "" ] + 439 -> 122 [ label = "" ] + 195 -> 142 [ label = "" ] + 195 -> 439 [ label = "" ] + 195 -> 331 [ label = "" ] + 195 -> 330 [ label = "" ] + 196 -> 144 [ label = "" ] + 196 -> 195 [ label = "" ] + 196 -> 330 [ label = "" ] + 231 -> 146 [ label = "" ] + 231 -> 92 [ label = "" ] + 224 -> 147 [ label = "" ] + 440 -> 147 [ label = "" ] + 440 -> 112 [ label = "" ] + 441 -> 147 [ label = "" ] + 441 -> 274 [ label = "" ] + 441 -> 336 [ label = "" ] + 442 -> 147 [ label = "" ] + 442 -> 440 [ label = "" ] + 443 -> 147 [ label = "" ] + 241 -> 147 [ label = "" ] + 225 -> 147 [ label = "" ] + 444 -> 147 [ label = "" ] + 183 -> 147 [ label = "" ] + 183 -> 444 [ label = "" ] + 183 -> 443 [ label = "" ] + 183 -> 442 [ label = "" ] + 183 -> 445 [ label = "" ] + 183 -> 441 [ label = "" ] + 445 -> 147 [ label = "" ] + 199 -> 148 [ label = "" ] + 446 -> 148 [ label = "" ] + 446 -> 112 [ label = "" ] + 447 -> 148 [ label = "" ] + 447 -> 274 [ label = "" ] + 447 -> 336 [ label = "" ] + 448 -> 148 [ label = "" ] + 448 -> 446 [ label = "" ] + 449 -> 148 [ label = "" ] + 198 -> 148 [ label = "" ] + 450 -> 148 [ label = "" ] + 200 -> 148 [ label = "" ] + 200 -> 450 [ label = "" ] + 200 -> 449 [ label = "" ] + 200 -> 448 [ label = "" ] + 200 -> 451 [ label = "" ] + 200 -> 447 [ label = "" ] + 451 -> 148 [ label = "" ] + 219 -> 152 [ label = "" ] + 452 -> 153 [ label = "" ] + 452 -> 155 [ label = "" ] + 453 -> 153 [ label = "" ] + 453 -> 155 [ label = "" ] + 340 -> 153 [ label = "" ] + 340 -> 452 [ label = "" ] + 340 -> 453 [ label = "" ] + 342 -> 154 [ label = "" ] + 342 -> 132 [ label = "" ] + 343 -> 155 [ label = "" ] + 343 -> 132 [ label = "" ] + 343 -> 342 [ label = "" ] + 343 -> 135 [ label = "" ] + 344 -> 155 [ label = "" ] + 328 -> 158 [ label = "" ] + 266 -> 160 [ label = "" ] + 454 -> 164 [ label = "" ] + 232 -> 164 [ label = "" ] + 232 -> 454 [ label = "" ] + 236 -> 165 [ label = "" ] + 234 -> 165 [ label = "" ] + 234 -> 455 [ label = "" ] + 455 -> 165 [ label = "" ] + 455 -> 456 [ label = "" ] + 235 -> 165 [ label = "" ] + 235 -> 457 [ label = "" ] + 457 -> 165 [ label = "" ] + 457 -> 456 [ label = "" ] + 233 -> 165 [ label = "" ] + 233 -> 456 [ label = "" ] + 456 -> 165 [ label = "" ] + 458 -> 174 [ label = "" ] + 458 -> 459 [ label = "" ] + 346 -> 174 [ label = "" ] + 346 -> 458 [ label = "" ] + 459 -> 174 [ label = "" ] }