git: 0c830c543d03 - main - devel/fnm: New port: Fast and simple Node.js version manager, built in Rust

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 06 Jan 2023 18:17:49 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0c830c543d03abfdf862ba01bb989d68754cc6dd

commit 0c830c543d03abfdf862ba01bb989d68754cc6dd
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-06 15:31:22 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-06 18:17:45 +0000

    devel/fnm: New port: Fast and simple Node.js version manager, built in Rust
---
 devel/Makefile                            |   1 +
 devel/fnm/Makefile                        | 263 ++++++++++++++++
 devel/fnm/distinfo                        | 481 ++++++++++++++++++++++++++++++
 devel/fnm/files/patch-src_system__info.rs |  14 +
 devel/fnm/pkg-descr                       |   7 +
 5 files changed, 766 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index db0400f9ffff..2d502ed034cd 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -649,6 +649,7 @@
     SUBDIR += fmake
     SUBDIR += fnc
     SUBDIR += fnccheck
+    SUBDIR += fnm
     SUBDIR += folly
     SUBDIR += forge
     SUBDIR += forge-devel
diff --git a/devel/fnm/Makefile b/devel/fnm/Makefile
new file mode 100644
index 000000000000..a73b304175ec
--- /dev/null
+++ b/devel/fnm/Makefile
@@ -0,0 +1,263 @@
+PORTNAME=	fnm
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.33.1
+CATEGORIES=	devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Fast and simple Node.js version manager, built in Rust
+WWW=		https://github.com/Schniz/fnm
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	Schniz
+
+CARGO_CRATES=	adler-1.0.2 \
+		aes-0.7.5 \
+		aho-corasick-0.7.19 \
+		alloc-no-stdlib-2.0.4 \
+		alloc-stdlib-0.2.2 \
+		android_system_properties-0.1.5 \
+		anyhow-1.0.66 \
+		async-compression-0.3.15 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		base64-0.13.1 \
+		base64ct-1.5.3 \
+		bitflags-1.3.2 \
+		block-buffer-0.10.3 \
+		brotli-3.3.4 \
+		brotli-decompressor-2.3.2 \
+		bstr-0.2.17 \
+		bumpalo-3.11.1 \
+		bytecount-0.6.3 \
+		byteorder-1.4.3 \
+		bytes-1.2.1 \
+		bzip2-0.4.3 \
+		bzip2-sys-0.1.11+1.0.8 \
+		cc-1.0.77 \
+		cfg-if-1.0.0 \
+		chrono-0.4.23 \
+		cipher-0.3.0 \
+		clap-3.2.23 \
+		clap_complete-3.2.5 \
+		clap_derive-3.2.18 \
+		clap_lex-0.2.4 \
+		codespan-reporting-0.11.1 \
+		colored-2.0.0 \
+		constant_time_eq-0.1.5 \
+		core-foundation-0.9.3 \
+		core-foundation-sys-0.8.3 \
+		cpufeatures-0.2.5 \
+		crc32fast-1.3.2 \
+		crossbeam-channel-0.5.6 \
+		crossbeam-deque-0.8.2 \
+		crossbeam-epoch-0.9.12 \
+		crossbeam-utils-0.8.13 \
+		crypto-common-0.1.6 \
+		csv-1.1.6 \
+		csv-core-0.1.10 \
+		ctor-0.1.26 \
+		cxx-1.0.82 \
+		cxx-build-1.0.82 \
+		cxxbridge-flags-1.0.82 \
+		cxxbridge-macro-1.0.82 \
+		diff-0.1.13 \
+		digest-0.10.6 \
+		dirs-4.0.0 \
+		dirs-sys-0.3.7 \
+		duct-0.13.6 \
+		either-1.8.0 \
+		embed-resource-1.7.4 \
+		encoding_rs-0.8.31 \
+		encoding_rs_io-0.1.7 \
+		env_logger-0.9.3 \
+		fastrand-1.8.0 \
+		filetime-0.2.18 \
+		flate2-1.0.24 \
+		fnv-1.0.7 \
+		form_urlencoded-1.1.0 \
+		futures-channel-0.3.25 \
+		futures-core-0.3.25 \
+		futures-io-0.3.25 \
+		futures-sink-0.3.25 \
+		futures-task-0.3.25 \
+		futures-util-0.3.25 \
+		generic-array-0.14.6 \
+		getrandom-0.2.8 \
+		h2-0.3.15 \
+		hashbrown-0.12.3 \
+		heck-0.4.0 \
+		hermit-abi-0.1.19 \
+		hmac-0.12.1 \
+		http-0.2.8 \
+		http-body-0.4.5 \
+		httparse-1.8.0 \
+		httpdate-1.0.2 \
+		humantime-2.1.0 \
+		hyper-0.14.23 \
+		hyper-rustls-0.23.1 \
+		iana-time-zone-0.1.53 \
+		iana-time-zone-haiku-0.1.1 \
+		idna-0.3.0 \
+		indexmap-1.9.2 \
+		indoc-1.0.7 \
+		instant-0.1.12 \
+		ipnet-2.5.1 \
+		itoa-0.4.8 \
+		itoa-1.0.4 \
+		jobserver-0.1.25 \
+		js-sys-0.3.60 \
+		junction-0.2.0 \
+		lazy_static-1.4.0 \
+		libc-0.2.137 \
+		link-cplusplus-1.0.7 \
+		log-0.4.17 \
+		lzma-sys-0.1.20 \
+		memchr-2.5.0 \
+		memoffset-0.7.1 \
+		miette-5.4.1 \
+		miette-derive-5.4.1 \
+		mime-0.3.16 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.5.4 \
+		mio-0.8.5 \
+		node-semver-2.1.0 \
+		nom-7.1.1 \
+		ntapi-0.4.0 \
+		num-integer-0.1.45 \
+		num-traits-0.2.15 \
+		num_cpus-1.14.0 \
+		once_cell-1.16.0 \
+		opaque-debug-0.3.0 \
+		openssl-probe-0.1.5 \
+		os_pipe-1.1.2 \
+		os_str_bytes-6.4.1 \
+		output_vt100-0.1.3 \
+		password-hash-0.4.2 \
+		pbkdf2-0.11.0 \
+		percent-encoding-2.2.0 \
+		pin-project-lite-0.2.9 \
+		pin-utils-0.1.0 \
+		pkg-config-0.3.26 \
+		pretty_assertions-1.3.0 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.47 \
+		quote-1.0.21 \
+		rand_core-0.6.4 \
+		rayon-1.6.0 \
+		rayon-core-1.10.1 \
+		redox_syscall-0.2.16 \
+		redox_users-0.4.3 \
+		regex-1.7.0 \
+		regex-automata-0.1.10 \
+		regex-syntax-0.6.28 \
+		remove_dir_all-0.5.3 \
+		reqwest-0.11.13 \
+		ring-0.16.20 \
+		rustc_version-0.4.0 \
+		rustls-0.20.7 \
+		rustls-native-certs-0.6.2 \
+		rustls-pemfile-1.0.1 \
+		ryu-1.0.11 \
+		schannel-0.1.20 \
+		scopeguard-1.1.0 \
+		scratch-1.0.2 \
+		sct-0.7.0 \
+		security-framework-2.7.0 \
+		security-framework-sys-2.6.1 \
+		semver-1.0.14 \
+		serde-1.0.147 \
+		serde_derive-1.0.147 \
+		serde_json-1.0.88 \
+		serde_urlencoded-0.7.1 \
+		sha1-0.10.5 \
+		sha2-0.10.6 \
+		shared_child-1.0.0 \
+		slab-0.4.7 \
+		socket2-0.4.7 \
+		spin-0.5.2 \
+		strsim-0.10.0 \
+		subtle-2.4.1 \
+		syn-1.0.103 \
+		sysinfo-0.26.8 \
+		tar-0.4.38 \
+		tempfile-3.3.0 \
+		termcolor-1.1.3 \
+		test-log-0.2.11 \
+		textwrap-0.16.0 \
+		thiserror-1.0.37 \
+		thiserror-impl-1.0.37 \
+		time-0.1.44 \
+		time-0.3.17 \
+		time-core-0.1.0 \
+		time-macros-0.2.6 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.0 \
+		tokio-1.22.0 \
+		tokio-rustls-0.23.4 \
+		tokio-util-0.7.4 \
+		toml-0.5.8 \
+		tower-service-0.3.2 \
+		tracing-0.1.37 \
+		tracing-core-0.1.30 \
+		try-lock-0.2.3 \
+		typenum-1.15.0 \
+		unicode-bidi-0.3.8 \
+		unicode-ident-1.0.5 \
+		unicode-normalization-0.1.22 \
+		unicode-width-0.1.10 \
+		untrusted-0.7.1 \
+		url-2.3.1 \
+		version_check-0.9.4 \
+		vswhom-0.1.0 \
+		vswhom-sys-0.1.1 \
+		want-0.3.0 \
+		wasi-0.10.0+wasi-snapshot-preview1 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.83 \
+		wasm-bindgen-backend-0.2.83 \
+		wasm-bindgen-futures-0.4.33 \
+		wasm-bindgen-macro-0.2.83 \
+		wasm-bindgen-macro-support-0.2.83 \
+		wasm-bindgen-shared-0.2.83 \
+		web-sys-0.3.60 \
+		webpki-0.22.0 \
+		webpki-roots-0.22.5 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.5 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-sys-0.36.1 \
+		windows-sys-0.42.0 \
+		windows_aarch64_gnullvm-0.42.0 \
+		windows_aarch64_msvc-0.36.1 \
+		windows_aarch64_msvc-0.42.0 \
+		windows_i686_gnu-0.36.1 \
+		windows_i686_gnu-0.42.0 \
+		windows_i686_msvc-0.36.1 \
+		windows_i686_msvc-0.42.0 \
+		windows_x86_64_gnu-0.36.1 \
+		windows_x86_64_gnu-0.42.0 \
+		windows_x86_64_gnullvm-0.42.0 \
+		windows_x86_64_msvc-0.36.1 \
+		windows_x86_64_msvc-0.42.0 \
+		winreg-0.10.1 \
+		xattr-0.2.3 \
+		xz2-0.1.7 \
+		yansi-0.5.1 \
+		zip-0.6.3 \
+		zstd-0.11.2+zstd.1.5.2 \
+		zstd-safe-5.0.2+zstd.1.5.2 \
+		zstd-sys-2.0.1+zstd.1.5.2
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/devel/fnm/distinfo b/devel/fnm/distinfo
new file mode 100644
index 000000000000..31084dec114d
--- /dev/null
+++ b/devel/fnm/distinfo
@@ -0,0 +1,481 @@
+TIMESTAMP = 1673005092
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/aes-0.7.5.crate) = 9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8
+SIZE (rust/crates/aes-0.7.5.crate) = 128544
+SHA256 (rust/crates/aho-corasick-0.7.19.crate) = b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e
+SIZE (rust/crates/aho-corasick-0.7.19.crate) = 113070
+SHA256 (rust/crates/alloc-no-stdlib-2.0.4.crate) = cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3
+SIZE (rust/crates/alloc-no-stdlib-2.0.4.crate) = 10105
+SHA256 (rust/crates/alloc-stdlib-0.2.2.crate) = 94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece
+SIZE (rust/crates/alloc-stdlib-0.2.2.crate) = 6693
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anyhow-1.0.66.crate) = 216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6
+SIZE (rust/crates/anyhow-1.0.66.crate) = 43770
+SHA256 (rust/crates/async-compression-0.3.15.crate) = 942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a
+SIZE (rust/crates/async-compression-0.3.15.crate) = 58241
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/base64ct-1.5.3.crate) = b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf
+SIZE (rust/crates/base64ct-1.5.3.crate) = 28781
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/block-buffer-0.10.3.crate) = 69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e
+SIZE (rust/crates/block-buffer-0.10.3.crate) = 10465
+SHA256 (rust/crates/brotli-3.3.4.crate) = a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68
+SIZE (rust/crates/brotli-3.3.4.crate) = 1369026
+SHA256 (rust/crates/brotli-decompressor-2.3.2.crate) = 59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80
+SIZE (rust/crates/brotli-decompressor-2.3.2.crate) = 191197
+SHA256 (rust/crates/bstr-0.2.17.crate) = ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223
+SIZE (rust/crates/bstr-0.2.17.crate) = 330350
+SHA256 (rust/crates/bumpalo-3.11.1.crate) = 572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba
+SIZE (rust/crates/bumpalo-3.11.1.crate) = 81207
+SHA256 (rust/crates/bytecount-0.6.3.crate) = 2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c
+SIZE (rust/crates/bytecount-0.6.3.crate) = 12416
+SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
+SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
+SHA256 (rust/crates/bytes-1.2.1.crate) = ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db
+SIZE (rust/crates/bytes-1.2.1.crate) = 54857
+SHA256 (rust/crates/bzip2-0.4.3.crate) = 6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0
+SIZE (rust/crates/bzip2-0.4.3.crate) = 34195
+SHA256 (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc
+SIZE (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 633444
+SHA256 (rust/crates/cc-1.0.77.crate) = e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4
+SIZE (rust/crates/cc-1.0.77.crate) = 60723
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.23.crate) = 16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f
+SIZE (rust/crates/chrono-0.4.23.crate) = 187259
+SHA256 (rust/crates/cipher-0.3.0.crate) = 7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7
+SIZE (rust/crates/cipher-0.3.0.crate) = 12756
+SHA256 (rust/crates/clap-3.2.23.crate) = 71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5
+SIZE (rust/crates/clap-3.2.23.crate) = 219435
+SHA256 (rust/crates/clap_complete-3.2.5.crate) = 3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8
+SIZE (rust/crates/clap_complete-3.2.5.crate) = 31625
+SHA256 (rust/crates/clap_derive-3.2.18.crate) = ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65
+SIZE (rust/crates/clap_derive-3.2.18.crate) = 28208
+SHA256 (rust/crates/clap_lex-0.2.4.crate) = 2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5
+SIZE (rust/crates/clap_lex-0.2.4.crate) = 9652
+SHA256 (rust/crates/codespan-reporting-0.11.1.crate) = 3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e
+SIZE (rust/crates/codespan-reporting-0.11.1.crate) = 48963
+SHA256 (rust/crates/colored-2.0.0.crate) = b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd
+SIZE (rust/crates/colored-2.0.0.crate) = 21619
+SHA256 (rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
+SIZE (rust/crates/constant_time_eq-0.1.5.crate) = 4936
+SHA256 (rust/crates/core-foundation-0.9.3.crate) = 194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146
+SIZE (rust/crates/core-foundation-0.9.3.crate) = 27059
+SHA256 (rust/crates/core-foundation-sys-0.8.3.crate) = 5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc
+SIZE (rust/crates/core-foundation-sys-0.8.3.crate) = 17519
+SHA256 (rust/crates/cpufeatures-0.2.5.crate) = 28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320
+SIZE (rust/crates/cpufeatures-0.2.5.crate) = 11251
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/crossbeam-channel-0.5.6.crate) = c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521
+SIZE (rust/crates/crossbeam-channel-0.5.6.crate) = 90292
+SHA256 (rust/crates/crossbeam-deque-0.8.2.crate) = 715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc
+SIZE (rust/crates/crossbeam-deque-0.8.2.crate) = 21237
+SHA256 (rust/crates/crossbeam-epoch-0.9.12.crate) = 96bf8df95e795db1a4aca2957ad884a2df35413b24bbeb3114422f3cc21498e8
+SIZE (rust/crates/crossbeam-epoch-0.9.12.crate) = 48257
+SHA256 (rust/crates/crossbeam-utils-0.8.13.crate) = 422f23e724af1240ec469ea1e834d87a4b59ce2efe2c6a96256b0c47e2fd86aa
+SIZE (rust/crates/crossbeam-utils-0.8.13.crate) = 42080
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/csv-1.1.6.crate) = 22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1
+SIZE (rust/crates/csv-1.1.6.crate) = 886999
+SHA256 (rust/crates/csv-core-0.1.10.crate) = 2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90
+SIZE (rust/crates/csv-core-0.1.10.crate) = 25668
+SHA256 (rust/crates/ctor-0.1.26.crate) = 6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096
+SIZE (rust/crates/ctor-0.1.26.crate) = 10803
+SHA256 (rust/crates/cxx-1.0.82.crate) = d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453
+SIZE (rust/crates/cxx-1.0.82.crate) = 197448
+SHA256 (rust/crates/cxx-build-1.0.82.crate) = 06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0
+SIZE (rust/crates/cxx-build-1.0.82.crate) = 84841
+SHA256 (rust/crates/cxxbridge-flags-1.0.82.crate) = 820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71
+SIZE (rust/crates/cxxbridge-flags-1.0.82.crate) = 5634
+SHA256 (rust/crates/cxxbridge-macro-1.0.82.crate) = a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470
+SIZE (rust/crates/cxxbridge-macro-1.0.82.crate) = 59863
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
+SHA256 (rust/crates/digest-0.10.6.crate) = 8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f
+SIZE (rust/crates/digest-0.10.6.crate) = 19527
+SHA256 (rust/crates/dirs-4.0.0.crate) = ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059
+SIZE (rust/crates/dirs-4.0.0.crate) = 12503
+SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6
+SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597
+SHA256 (rust/crates/duct-0.13.6.crate) = 37ae3fc31835f74c2a7ceda3aeede378b0ae2e74c8f1c36559fcc9ae2a4e7d3e
+SIZE (rust/crates/duct-0.13.6.crate) = 29320
+SHA256 (rust/crates/either-1.8.0.crate) = 90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797
+SIZE (rust/crates/either-1.8.0.crate) = 15992
+SHA256 (rust/crates/embed-resource-1.7.4.crate) = 782e883d0b9a3db55e6edee9939305d0b5c2ee6df793966d84b31144873e5bde
+SIZE (rust/crates/embed-resource-1.7.4.crate) = 13662
+SHA256 (rust/crates/encoding_rs-0.8.31.crate) = 9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b
+SIZE (rust/crates/encoding_rs-0.8.31.crate) = 1370113
+SHA256 (rust/crates/encoding_rs_io-0.1.7.crate) = 1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83
+SIZE (rust/crates/encoding_rs_io-0.1.7.crate) = 16969
+SHA256 (rust/crates/env_logger-0.9.3.crate) = a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7
+SIZE (rust/crates/env_logger-0.9.3.crate) = 33291
+SHA256 (rust/crates/fastrand-1.8.0.crate) = a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499
+SIZE (rust/crates/fastrand-1.8.0.crate) = 11369
+SHA256 (rust/crates/filetime-0.2.18.crate) = 4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3
+SIZE (rust/crates/filetime-0.2.18.crate) = 14622
+SHA256 (rust/crates/flate2-1.0.24.crate) = f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6
+SIZE (rust/crates/flate2-1.0.24.crate) = 70191
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/form_urlencoded-1.1.0.crate) = a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8
+SIZE (rust/crates/form_urlencoded-1.1.0.crate) = 8734
+SHA256 (rust/crates/futures-channel-0.3.25.crate) = 52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed
+SIZE (rust/crates/futures-channel-0.3.25.crate) = 31974
+SHA256 (rust/crates/futures-core-0.3.25.crate) = 04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac
+SIZE (rust/crates/futures-core-0.3.25.crate) = 14623
+SHA256 (rust/crates/futures-io-0.3.25.crate) = 00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb
+SIZE (rust/crates/futures-io-0.3.25.crate) = 8911
+SHA256 (rust/crates/futures-sink-0.3.25.crate) = 39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9
+SIZE (rust/crates/futures-sink-0.3.25.crate) = 7854
+SHA256 (rust/crates/futures-task-0.3.25.crate) = 2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea
+SIZE (rust/crates/futures-task-0.3.25.crate) = 11844
+SHA256 (rust/crates/futures-util-0.3.25.crate) = 197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6
+SIZE (rust/crates/futures-util-0.3.25.crate) = 155866
+SHA256 (rust/crates/generic-array-0.14.6.crate) = bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9
+SIZE (rust/crates/generic-array-0.14.6.crate) = 15889
+SHA256 (rust/crates/getrandom-0.2.8.crate) = c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31
+SIZE (rust/crates/getrandom-0.2.8.crate) = 30553
+SHA256 (rust/crates/h2-0.3.15.crate) = 5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4
+SIZE (rust/crates/h2-0.3.15.crate) = 162238
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
+SIZE (rust/crates/heck-0.4.0.crate) = 11161
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
+SIZE (rust/crates/hmac-0.12.1.crate) = 42657
+SHA256 (rust/crates/http-0.2.8.crate) = 75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399
+SIZE (rust/crates/http-0.2.8.crate) = 105591
+SHA256 (rust/crates/http-body-0.4.5.crate) = d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1
+SIZE (rust/crates/http-body-0.4.5.crate) = 9242
+SHA256 (rust/crates/httparse-1.8.0.crate) = d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904
+SIZE (rust/crates/httparse-1.8.0.crate) = 29954
+SHA256 (rust/crates/httpdate-1.0.2.crate) = c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421
+SIZE (rust/crates/httpdate-1.0.2.crate) = 10673
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/hyper-0.14.23.crate) = 034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c
+SIZE (rust/crates/hyper-0.14.23.crate) = 186136
+SHA256 (rust/crates/hyper-rustls-0.23.1.crate) = 59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d
+SIZE (rust/crates/hyper-rustls-0.23.1.crate) = 30356
+SHA256 (rust/crates/iana-time-zone-0.1.53.crate) = 64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765
+SIZE (rust/crates/iana-time-zone-0.1.53.crate) = 20176
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.1.crate) = 0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca
+SIZE (rust/crates/iana-time-zone-haiku-0.1.1.crate) = 7200
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/indexmap-1.9.2.crate) = 1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399
+SIZE (rust/crates/indexmap-1.9.2.crate) = 54627
+SHA256 (rust/crates/indoc-1.0.7.crate) = adab1eaa3408fb7f0c777a73e7465fd5656136fc93b670eb6df3c88c2c1344e3
+SIZE (rust/crates/indoc-1.0.7.crate) = 13716
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/ipnet-2.5.1.crate) = f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745
+SIZE (rust/crates/ipnet-2.5.1.crate) = 26025
+SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
+SIZE (rust/crates/itoa-0.4.8.crate) = 11926
+SHA256 (rust/crates/itoa-1.0.4.crate) = 4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc
+SIZE (rust/crates/itoa-1.0.4.crate) = 10601
+SHA256 (rust/crates/jobserver-0.1.25.crate) = 068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b
+SIZE (rust/crates/jobserver-0.1.25.crate) = 21888
+SHA256 (rust/crates/js-sys-0.3.60.crate) = 49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47
+SIZE (rust/crates/js-sys-0.3.60.crate) = 79257
+SHA256 (rust/crates/junction-0.2.0.crate) = be39922b087cecaba4e2d5592dedfc8bda5d4a5a1231f143337cca207950b61d
+SIZE (rust/crates/junction-0.2.0.crate) = 11006
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.137.crate) = fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89
+SIZE (rust/crates/libc-0.2.137.crate) = 606185
+SHA256 (rust/crates/link-cplusplus-1.0.7.crate) = 9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369
+SIZE (rust/crates/link-cplusplus-1.0.7.crate) = 7576
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/lzma-sys-0.1.20.crate) = 5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27
+SIZE (rust/crates/lzma-sys-0.1.20.crate) = 760045
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/memoffset-0.7.1.crate) = 5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4
+SIZE (rust/crates/memoffset-0.7.1.crate) = 8556
+SHA256 (rust/crates/miette-5.4.1.crate) = 7a24c4b4063c21e037dffb4de388ee85e400bff299803aba9513d9c52de8116b
+SIZE (rust/crates/miette-5.4.1.crate) = 82710
+SHA256 (rust/crates/miette-derive-5.4.1.crate) = 827d18edee5d43dc309eb0ac565f2b8e2fdc89b986b2d929e924a0f6e7f23835
+SIZE (rust/crates/miette-derive-5.4.1.crate) = 16225
+SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
+SIZE (rust/crates/mime-0.3.16.crate) = 15206
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.5.4.crate) = 96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34
+SIZE (rust/crates/miniz_oxide-0.5.4.crate) = 53485
+SHA256 (rust/crates/mio-0.8.5.crate) = e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de
+SIZE (rust/crates/mio-0.8.5.crate) = 93993
+SHA256 (rust/crates/node-semver-2.1.0.crate) = 84f390c1756333538f2aed01cf280a56bc683e199b9804a504df6e7320d40116
+SIZE (rust/crates/node-semver-2.1.0.crate) = 22593
+SHA256 (rust/crates/nom-7.1.1.crate) = a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36
+SIZE (rust/crates/nom-7.1.1.crate) = 115818
+SHA256 (rust/crates/ntapi-0.4.0.crate) = bc51db7b362b205941f71232e56c625156eb9a929f8cf74a428fd5bc094a4afc
+SIZE (rust/crates/ntapi-0.4.0.crate) = 126602
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-traits-0.2.15.crate) = 578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd
+SIZE (rust/crates/num-traits-0.2.15.crate) = 49262
+SHA256 (rust/crates/num_cpus-1.14.0.crate) = f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5
+SIZE (rust/crates/num_cpus-1.14.0.crate) = 15673
+SHA256 (rust/crates/once_cell-1.16.0.crate) = 86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860
+SIZE (rust/crates/once_cell-1.16.0.crate) = 32120
+SHA256 (rust/crates/opaque-debug-0.3.0.crate) = 624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5
+SIZE (rust/crates/opaque-debug-0.3.0.crate) = 5767
+SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
+SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
+SHA256 (rust/crates/os_pipe-1.1.2.crate) = c6a252f1f8c11e84b3ab59d7a488e48e4478a93937e027076638c49536204639
+SIZE (rust/crates/os_pipe-1.1.2.crate) = 11375
+SHA256 (rust/crates/os_str_bytes-6.4.1.crate) = 9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee
+SIZE (rust/crates/os_str_bytes-6.4.1.crate) = 23101
+SHA256 (rust/crates/output_vt100-0.1.3.crate) = 628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66
+SIZE (rust/crates/output_vt100-0.1.3.crate) = 4473
+SHA256 (rust/crates/password-hash-0.4.2.crate) = 7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700
+SIZE (rust/crates/password-hash-0.4.2.crate) = 26099
+SHA256 (rust/crates/pbkdf2-0.11.0.crate) = 83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917
+SIZE (rust/crates/pbkdf2-0.11.0.crate) = 13229
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/pin-project-lite-0.2.9.crate) = e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116
+SIZE (rust/crates/pin-project-lite-0.2.9.crate) = 27713
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.26.crate) = 6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160
+SIZE (rust/crates/pkg-config-0.3.26.crate) = 18662
+SHA256 (rust/crates/pretty_assertions-1.3.0.crate) = a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755
+SIZE (rust/crates/pretty_assertions-1.3.0.crate) = 79441
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.47.crate) = 5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725
+SIZE (rust/crates/proc-macro2-1.0.47.crate) = 41955
+SHA256 (rust/crates/quote-1.0.21.crate) = bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179
+SIZE (rust/crates/quote-1.0.21.crate) = 28030
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rayon-1.6.0.crate) = 1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b
+SIZE (rust/crates/rayon-1.6.0.crate) = 166335
+SHA256 (rust/crates/rayon-core-1.10.1.crate) = cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3
+SIZE (rust/crates/rayon-core-1.10.1.crate) = 70008
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/redox_users-0.4.3.crate) = b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b
+SIZE (rust/crates/redox_users-0.4.3.crate) = 15353
+SHA256 (rust/crates/regex-1.7.0.crate) = e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a
+SIZE (rust/crates/regex-1.7.0.crate) = 239421
+SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
+SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
+SHA256 (rust/crates/regex-syntax-0.6.28.crate) = 456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848
+SIZE (rust/crates/regex-syntax-0.6.28.crate) = 299288
+SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
+SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
+SHA256 (rust/crates/reqwest-0.11.13.crate) = 68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c
+SIZE (rust/crates/reqwest-0.11.13.crate) = 144263
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/rustls-0.20.7.crate) = 539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c
+SIZE (rust/crates/rustls-0.20.7.crate) = 268469
+SHA256 (rust/crates/rustls-native-certs-0.6.2.crate) = 0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50
+SIZE (rust/crates/rustls-native-certs-0.6.2.crate) = 22089
+SHA256 (rust/crates/rustls-pemfile-1.0.1.crate) = 0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55
+SIZE (rust/crates/rustls-pemfile-1.0.1.crate) = 19171
+SHA256 (rust/crates/ryu-1.0.11.crate) = 4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09
+SIZE (rust/crates/ryu-1.0.11.crate) = 47007
+SHA256 (rust/crates/schannel-0.1.20.crate) = 88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2
+SIZE (rust/crates/schannel-0.1.20.crate) = 41579
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/scratch-1.0.2.crate) = 9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898
+SIZE (rust/crates/scratch-1.0.2.crate) = 8152
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/security-framework-2.7.0.crate) = 2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c
+SIZE (rust/crates/security-framework-2.7.0.crate) = 72601
+SHA256 (rust/crates/security-framework-sys-2.6.1.crate) = 0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556
+SIZE (rust/crates/security-framework-sys-2.6.1.crate) = 17717
+SHA256 (rust/crates/semver-1.0.14.crate) = e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4
+SIZE (rust/crates/semver-1.0.14.crate) = 29813
+SHA256 (rust/crates/serde-1.0.147.crate) = d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965
+SIZE (rust/crates/serde-1.0.147.crate) = 76697
+SHA256 (rust/crates/serde_derive-1.0.147.crate) = 4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852
+SIZE (rust/crates/serde_derive-1.0.147.crate) = 54861
+SHA256 (rust/crates/serde_json-1.0.88.crate) = 8e8b3801309262e8184d9687fb697586833e939767aea0dda89f5a8e650e8bd7
+SIZE (rust/crates/serde_json-1.0.88.crate) = 144528
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/sha1-0.10.5.crate) = f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3
+SIZE (rust/crates/sha1-0.10.5.crate) = 12146
+SHA256 (rust/crates/sha2-0.10.6.crate) = 82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0
+SIZE (rust/crates/sha2-0.10.6.crate) = 20558
+SHA256 (rust/crates/shared_child-1.0.0.crate) = b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef
+SIZE (rust/crates/shared_child-1.0.0.crate) = 8939
+SHA256 (rust/crates/slab-0.4.7.crate) = 4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef
+SIZE (rust/crates/slab-0.4.7.crate) = 16647
+SHA256 (rust/crates/socket2-0.4.7.crate) = 02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd
+SIZE (rust/crates/socket2-0.4.7.crate) = 44619
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
+SIZE (rust/crates/subtle-2.4.1.crate) = 12630
+SHA256 (rust/crates/syn-1.0.103.crate) = a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d
+SIZE (rust/crates/syn-1.0.103.crate) = 236495
+SHA256 (rust/crates/sysinfo-0.26.8.crate) = 29ddf41e393a9133c81d5f0974195366bd57082deac6e0eb02ed39b8341c2bb6
+SIZE (rust/crates/sysinfo-0.26.8.crate) = 137169
+SHA256 (rust/crates/tar-0.4.38.crate) = 4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6
+SIZE (rust/crates/tar-0.4.38.crate) = 49158
+SHA256 (rust/crates/tempfile-3.3.0.crate) = 5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4
+SIZE (rust/crates/tempfile-3.3.0.crate) = 27578
+SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
+SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
+SHA256 (rust/crates/test-log-0.2.11.crate) = 38f0c854faeb68a048f0f2dc410c5ddae3bf83854ef0e4977d58306a5edef50e
+SIZE (rust/crates/test-log-0.2.11.crate) = 10228
+SHA256 (rust/crates/textwrap-0.16.0.crate) = 222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d
+SIZE (rust/crates/textwrap-0.16.0.crate) = 53722
+SHA256 (rust/crates/thiserror-1.0.37.crate) = 10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e
+SIZE (rust/crates/thiserror-1.0.37.crate) = 18752
+SHA256 (rust/crates/thiserror-impl-1.0.37.crate) = 982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb
+SIZE (rust/crates/thiserror-impl-1.0.37.crate) = 15428
+SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
+SIZE (rust/crates/time-0.1.44.crate) = 28885
+SHA256 (rust/crates/time-0.3.17.crate) = a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376
+SIZE (rust/crates/time-0.3.17.crate) = 99048
+SHA256 (rust/crates/time-core-0.1.0.crate) = 2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd
+SIZE (rust/crates/time-core-0.1.0.crate) = 6597
+SHA256 (rust/crates/time-macros-0.2.6.crate) = d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2
+SIZE (rust/crates/time-macros-0.2.6.crate) = 19163
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
+SHA256 (rust/crates/tokio-1.22.0.crate) = d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3
+SIZE (rust/crates/tokio-1.22.0.crate) = 616583
+SHA256 (rust/crates/tokio-rustls-0.23.4.crate) = c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59
+SIZE (rust/crates/tokio-rustls-0.23.4.crate) = 27024
+SHA256 (rust/crates/tokio-util-0.7.4.crate) = 0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740
+SIZE (rust/crates/tokio-util-0.7.4.crate) = 93424
+SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52
+SIZE (rust/crates/tower-service-0.3.2.crate) = 6847
+SHA256 (rust/crates/tracing-0.1.37.crate) = 8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8
+SIZE (rust/crates/tracing-0.1.37.crate) = 73888
+SHA256 (rust/crates/tracing-core-0.1.30.crate) = 24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a
+SIZE (rust/crates/tracing-core-0.1.30.crate) = 60351
+SHA256 (rust/crates/try-lock-0.2.3.crate) = 59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642
+SIZE (rust/crates/try-lock-0.2.3.crate) = 4158
+SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987
+SIZE (rust/crates/typenum-1.15.0.crate) = 40741
+SHA256 (rust/crates/unicode-bidi-0.3.8.crate) = 099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992
+SIZE (rust/crates/unicode-bidi-0.3.8.crate) = 36575
+SHA256 (rust/crates/unicode-ident-1.0.5.crate) = 6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3
+SIZE (rust/crates/unicode-ident-1.0.5.crate) = 35455
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-width-0.1.10.crate) = c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b
+SIZE (rust/crates/unicode-width-0.1.10.crate) = 18968
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643
+SIZE (rust/crates/url-2.3.1.crate) = 72777
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/vswhom-0.1.0.crate) = be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b
+SIZE (rust/crates/vswhom-0.1.0.crate) = 9420
+SHA256 (rust/crates/vswhom-sys-0.1.1.crate) = 22025f6d8eb903ebf920ea6933b70b1e495be37e2cb4099e62c80454aaf57c39
+SIZE (rust/crates/vswhom-sys-0.1.1.crate) = 15804
+SHA256 (rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
+SIZE (rust/crates/want-0.3.0.crate) = 6550
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.83.crate) = eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268
+SIZE (rust/crates/wasm-bindgen-0.2.83.crate) = 169618
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142
+SIZE (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 25620
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.33.crate) = 23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d
+SIZE (rust/crates/wasm-bindgen-futures-0.4.33.crate) = 15216
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810
+SIZE (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 12075
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 18530
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 7194
+SHA256 (rust/crates/web-sys-0.3.60.crate) = bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f
+SIZE (rust/crates/web-sys-0.3.60.crate) = 700485
+SHA256 (rust/crates/webpki-0.22.0.crate) = f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd
+SIZE (rust/crates/webpki-0.22.0.crate) = 58663
+SHA256 (rust/crates/webpki-roots-0.22.5.crate) = 368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be
+SIZE (rust/crates/webpki-roots-0.22.5.crate) = 251914
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-sys-0.36.1.crate) = ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2
+SIZE (rust/crates/windows-sys-0.36.1.crate) = 3347053
+SHA256 (rust/crates/windows-sys-0.42.0.crate) = 5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7
+SIZE (rust/crates/windows-sys-0.42.0.crate) = 3006791
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 357917
+SHA256 (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47
+SIZE (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 661960
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.0.crate) = dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4
+SIZE (rust/crates/windows_aarch64_msvc-0.42.0.crate) = 659424
+SHA256 (rust/crates/windows_i686_gnu-0.36.1.crate) = 180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6
+SIZE (rust/crates/windows_i686_gnu-0.36.1.crate) = 818115
+SHA256 (rust/crates/windows_i686_gnu-0.42.0.crate) = fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7
+SIZE (rust/crates/windows_i686_gnu-0.42.0.crate) = 728570
+SHA256 (rust/crates/windows_i686_msvc-0.36.1.crate) = e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024
+SIZE (rust/crates/windows_i686_msvc-0.36.1.crate) = 724575
+SHA256 (rust/crates/windows_i686_msvc-0.42.0.crate) = 84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246
+SIZE (rust/crates/windows_i686_msvc-0.42.0.crate) = 717477
+SHA256 (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1
+SIZE (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 790934
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.0.crate) = bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed
+SIZE (rust/crates/windows_x86_64_gnu-0.42.0.crate) = 692493
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 357906
+SHA256 (rust/crates/windows_x86_64_msvc-0.36.1.crate) = c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680
+SIZE (rust/crates/windows_x86_64_msvc-0.36.1.crate) = 661999
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.0.crate) = f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5
+SIZE (rust/crates/windows_x86_64_msvc-0.42.0.crate) = 659377
+SHA256 (rust/crates/winreg-0.10.1.crate) = 80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d
+SIZE (rust/crates/winreg-0.10.1.crate) = 25725
+SHA256 (rust/crates/xattr-0.2.3.crate) = 6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc
+SIZE (rust/crates/xattr-0.2.3.crate) = 11959
+SHA256 (rust/crates/xz2-0.1.7.crate) = 388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2
+SIZE (rust/crates/xz2-0.1.7.crate) = 23892
+SHA256 (rust/crates/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec
+SIZE (rust/crates/yansi-0.5.1.crate) = 16525
+SHA256 (rust/crates/zip-0.6.3.crate) = 537ce7411d25e54e8ae21a7ce0b15840e7bfcff15b51d697ec3266cc76bdf080
+SIZE (rust/crates/zip-0.6.3.crate) = 61785
+SHA256 (rust/crates/zstd-0.11.2+zstd.1.5.2.crate) = 20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4
+SIZE (rust/crates/zstd-0.11.2+zstd.1.5.2.crate) = 28987
+SHA256 (rust/crates/zstd-safe-5.0.2+zstd.1.5.2.crate) = 1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db
+SIZE (rust/crates/zstd-safe-5.0.2+zstd.1.5.2.crate) = 17273
+SHA256 (rust/crates/zstd-sys-2.0.1+zstd.1.5.2.crate) = 9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b
+SIZE (rust/crates/zstd-sys-2.0.1+zstd.1.5.2.crate) = 715552
+SHA256 (Schniz-fnm-v1.33.1_GH0.tar.gz) = 84a2173a47f942d1247a08348a20b3cdf4cb906b9f0a662585dc1784256d73c2
+SIZE (Schniz-fnm-v1.33.1_GH0.tar.gz) = 156646
diff --git a/devel/fnm/files/patch-src_system__info.rs b/devel/fnm/files/patch-src_system__info.rs
new file mode 100644
index 000000000000..50b80286ae11
--- /dev/null
+++ b/devel/fnm/files/patch-src_system__info.rs
@@ -0,0 +1,14 @@
+--- src/system_info.rs.orig	2023-01-06 17:40:16 UTC
++++ src/system_info.rs
+@@ -8,6 +8,11 @@ pub fn platform_name() -> &'static str {
+     "linux"
+ }
+ 
++#[cfg(target_os = "freebsd")]
++pub fn platform_name() -> &'static str {
++    "freebsd"
++}
++
+ #[cfg(all(
+     target_pointer_width = "32",
+     any(target_arch = "arm", target_arch = "aarch64")
diff --git a/devel/fnm/pkg-descr b/devel/fnm/pkg-descr
new file mode 100644
index 000000000000..5b8ca77e429c
--- /dev/null
+++ b/devel/fnm/pkg-descr
@@ -0,0 +1,7 @@
+fnm is a fast and simple Node.js version manager, built in Rust.
+
+Features:
+* Cross-platform support
+* Single file, easy installation, instant startup
+* Built with speed in mind
+* Works with `.node-version` and `.nvmrc` files