git: 3d9bb66344c2 - main - graphics/artem: Add new port

From: Adam Weinberger <adamw_at_FreeBSD.org>
Date: Fri, 24 Jan 2025 15:17:24 UTC
The branch main has been updated by adamw:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3d9bb66344c2079352caab23fe5baaf3e5ca39ce

commit 3d9bb66344c2079352caab23fe5baaf3e5ca39ce
Author:     Adam Weinberger <adamw@FreeBSD.org>
AuthorDate: 2025-01-24 15:12:50 +0000
Commit:     Adam Weinberger <adamw@FreeBSD.org>
CommitDate: 2025-01-24 15:17:18 +0000

    graphics/artem: Add new port
    
    This is yet another ASCII art generator. This one is in rust, supports
    truecolors, and reads a wide array of image formats, with no build or
    runtime dependencies (other than rust).
---
 graphics/Makefile              |   1 +
 graphics/artem/Makefile        |  19 ++
 graphics/artem/Makefile.crates | 222 ++++++++++++++++++++
 graphics/artem/distinfo        | 447 +++++++++++++++++++++++++++++++++++++++++
 graphics/artem/pkg-descr       |   6 +
 5 files changed, 695 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index f227f2d29a06..833920d198ec 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -62,6 +62,7 @@
     SUBDIR += appleseed
     SUBDIR += argyllcms
     SUBDIR += art
+    SUBDIR += artem
     SUBDIR += asciinema-agg
     SUBDIR += asciio
     SUBDIR += aseprite
diff --git a/graphics/artem/Makefile b/graphics/artem/Makefile
new file mode 100644
index 000000000000..0fc3658519fe
--- /dev/null
+++ b/graphics/artem/Makefile
@@ -0,0 +1,19 @@
+PORTNAME=	artem
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.0.0
+CATEGORIES=	graphics
+
+MAINTAINER=	adamw@FreeBSD.org
+COMMENT=	Converts images to ASCII art
+WWW=		https://github.com/finefindus/artem
+
+LICENSE=	MPL20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	finefindus
+
+PLIST_FILES=	bin/artem
+
+.include <bsd.port.mk>
diff --git a/graphics/artem/Makefile.crates b/graphics/artem/Makefile.crates
new file mode 100644
index 000000000000..17dab61fc299
--- /dev/null
+++ b/graphics/artem/Makefile.crates
@@ -0,0 +1,222 @@
+CARGO_CRATES=	adler-1.0.2 \
+		aho-corasick-1.1.3 \
+		aligned-vec-0.5.0 \
+		anes-0.1.6 \
+		anstream-0.6.13 \
+		anstyle-1.0.6 \
+		anstyle-lossy-1.1.0 \
+		anstyle-parse-0.2.3 \
+		anstyle-query-1.0.2 \
+		anstyle-svg-0.1.3 \
+		anstyle-wincon-3.0.2 \
+		anyhow-1.0.81 \
+		arbitrary-1.3.2 \
+		arg_enum_proc_macro-0.3.4 \
+		arrayvec-0.7.4 \
+		assert_cmd-2.0.14 \
+		autocfg-1.2.0 \
+		av1-grain-0.2.3 \
+		avif-serialize-0.8.1 \
+		base64-0.21.7 \
+		bit_field-0.10.2 \
+		bitflags-1.3.2 \
+		bitflags-2.5.0 \
+		bitstream-io-2.2.0 \
+		bstr-1.9.1 \
+		built-0.7.1 \
+		bumpalo-3.15.4 \
+		bytemuck-1.15.0 \
+		byteorder-1.5.0 \
+		cast-0.3.0 \
+		cc-1.0.90 \
+		cfg-expr-0.15.7 \
+		cfg-if-1.0.0 \
+		ciborium-0.2.2 \
+		ciborium-io-0.2.2 \
+		ciborium-ll-0.2.2 \
+		clap-4.5.4 \
+		clap_builder-4.5.2 \
+		clap_complete-4.5.1 \
+		clap_derive-4.5.4 \
+		clap_lex-0.7.0 \
+		clap_mangen-0.2.20 \
+		color_quant-1.1.0 \
+		colorchoice-1.0.0 \
+		colored-2.1.0 \
+		crc32fast-1.4.0 \
+		criterion-0.5.1 \
+		criterion-plot-0.5.0 \
+		crossbeam-deque-0.8.5 \
+		crossbeam-epoch-0.9.18 \
+		crossbeam-utils-0.8.19 \
+		crunchy-0.2.2 \
+		diff-0.1.13 \
+		difflib-0.4.0 \
+		doc-comment-0.3.3 \
+		either-1.10.0 \
+		env_filter-0.1.0 \
+		env_logger-0.11.3 \
+		equivalent-1.0.1 \
+		errno-0.3.8 \
+		exr-1.72.0 \
+		fdeflate-0.3.4 \
+		flate2-1.0.28 \
+		float-cmp-0.9.0 \
+		flume-0.11.0 \
+		form_urlencoded-1.2.1 \
+		getrandom-0.2.12 \
+		gif-0.13.1 \
+		half-2.4.0 \
+		hashbrown-0.14.3 \
+		heck-0.5.0 \
+		hermit-abi-0.3.9 \
+		html-escape-0.2.13 \
+		humantime-2.1.0 \
+		idna-0.5.0 \
+		image-0.25.0 \
+		image-webp-0.1.1 \
+		imgref-1.10.1 \
+		indexmap-2.2.6 \
+		interpolate_name-0.2.4 \
+		is-terminal-0.4.12 \
+		itertools-0.10.5 \
+		itertools-0.12.1 \
+		itoa-1.0.11 \
+		jobserver-0.1.28 \
+		jpeg-decoder-0.3.1 \
+		js-sys-0.3.69 \
+		lazy_static-1.4.0 \
+		lebe-0.5.2 \
+		libc-0.2.153 \
+		libfuzzer-sys-0.4.7 \
+		linux-raw-sys-0.4.13 \
+		lock_api-0.4.11 \
+		log-0.4.21 \
+		loop9-0.1.5 \
+		maybe-rayon-0.1.1 \
+		memchr-2.7.1 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.7.2 \
+		new_debug_unreachable-1.0.6 \
+		nom-7.1.3 \
+		noop_proc_macro-0.3.0 \
+		normalize-line-endings-0.3.0 \
+		num-bigint-0.4.4 \
+		num-derive-0.4.2 \
+		num-integer-0.1.46 \
+		num-rational-0.4.1 \
+		num-traits-0.2.18 \
+		once_cell-1.19.0 \
+		oorandom-11.1.3 \
+		paste-1.0.14 \
+		percent-encoding-2.3.1 \
+		pkg-config-0.3.30 \
+		plotters-0.3.5 \
+		plotters-backend-0.3.5 \
+		plotters-svg-0.3.5 \
+		png-0.17.13 \
+		ppv-lite86-0.2.17 \
+		predicates-3.1.0 \
+		predicates-core-1.0.6 \
+		predicates-tree-1.0.9 \
+		pretty_assertions-1.4.0 \
+		proc-macro2-1.0.79 \
+		profiling-1.0.15 \
+		profiling-procmacros-1.0.15 \
+		qoi-0.4.1 \
+		quick-error-2.0.1 \
+		quote-1.0.35 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.4 \
+		rav1e-0.7.1 \
+		ravif-0.11.5 \
+		rayon-1.10.0 \
+		rayon-core-1.12.1 \
+		regex-1.10.4 \
+		regex-automata-0.4.6 \
+		regex-syntax-0.8.3 \
+		rgb-0.8.37 \
+		ring-0.17.8 \
+		roff-0.2.1 \
+		rustix-0.38.32 \
+		rustls-0.22.3 \
+		rustls-pki-types-1.4.1 \
+		rustls-webpki-0.102.2 \
+		ryu-1.0.17 \
+		same-file-1.0.6 \
+		scopeguard-1.2.0 \
+		serde-1.0.197 \
+		serde_derive-1.0.197 \
+		serde_json-1.0.115 \
+		serde_spanned-0.6.5 \
+		simd-adler32-0.3.7 \
+		simd_helpers-0.1.0 \
+		smallvec-1.13.2 \
+		spin-0.9.8 \
+		strsim-0.11.0 \
+		subtle-2.5.0 \
+		syn-2.0.55 \
+		system-deps-6.2.2 \
+		target-lexicon-0.12.14 \
+		terminal_size-0.3.0 \
+		termtree-0.4.1 \
+		thiserror-1.0.58 \
+		thiserror-impl-1.0.58 \
+		tiff-0.9.1 \
+		tinytemplate-1.2.1 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		toml-0.8.12 \
+		toml_datetime-0.6.5 \
+		toml_edit-0.22.9 \
+		unicode-bidi-0.3.15 \
+		unicode-ident-1.0.12 \
+		unicode-normalization-0.1.23 \
+		unicode-width-0.1.11 \
+		untrusted-0.9.0 \
+		ureq-2.9.6 \
+		url-2.5.0 \
+		utf8-width-0.1.7 \
+		utf8parse-0.2.1 \
+		v_frame-0.3.8 \
+		version-compare-0.2.0 \
+		wait-timeout-0.2.0 \
+		walkdir-2.5.0 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.92 \
+		wasm-bindgen-backend-0.2.92 \
+		wasm-bindgen-macro-0.2.92 \
+		wasm-bindgen-macro-support-0.2.92 \
+		wasm-bindgen-shared-0.2.92 \
+		web-sys-0.3.69 \
+		webpki-roots-0.26.1 \
+		weezl-0.1.8 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.6 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-sys-0.48.0 \
+		windows-sys-0.52.0 \
+		windows-targets-0.48.5 \
+		windows-targets-0.52.4 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_gnullvm-0.52.4 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_aarch64_msvc-0.52.4 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_gnu-0.52.4 \
+		windows_i686_msvc-0.48.5 \
+		windows_i686_msvc-0.52.4 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnu-0.52.4 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_gnullvm-0.52.4 \
+		windows_x86_64_msvc-0.48.5 \
+		windows_x86_64_msvc-0.52.4 \
+		winnow-0.6.5 \
+		yansi-0.5.1 \
+		zeroize-1.7.0 \
+		zune-core-0.4.12 \
+		zune-inflate-0.2.54 \
+		zune-jpeg-0.4.11
diff --git a/graphics/artem/distinfo b/graphics/artem/distinfo
new file mode 100644
index 000000000000..a175d1d5164d
--- /dev/null
+++ b/graphics/artem/distinfo
@@ -0,0 +1,447 @@
+TIMESTAMP = 1737730839
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/aligned-vec-0.5.0.crate) = 4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1
+SIZE (rust/crates/aligned-vec-0.5.0.crate) = 8921
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/anstream-0.6.13.crate) = d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb
+SIZE (rust/crates/anstream-0.6.13.crate) = 30928
+SHA256 (rust/crates/anstyle-1.0.6.crate) = 8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc
+SIZE (rust/crates/anstyle-1.0.6.crate) = 14604
+SHA256 (rust/crates/anstyle-lossy-1.1.0.crate) = a9a0444767dbd4aea9355cb47a370eb184dbfe918875e127eff52cb9d1638181
+SIZE (rust/crates/anstyle-lossy-1.1.0.crate) = 8754
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648
+SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739
+SHA256 (rust/crates/anstyle-svg-0.1.3.crate) = 8b6ddad447b448d6d5db36b31cbd3ff27c7af071619501998eeceab01968287a
+SIZE (rust/crates/anstyle-svg-0.1.3.crate) = 9688
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/anyhow-1.0.81.crate) = 0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247
+SIZE (rust/crates/anyhow-1.0.81.crate) = 45142
+SHA256 (rust/crates/arbitrary-1.3.2.crate) = 7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110
+SIZE (rust/crates/arbitrary-1.3.2.crate) = 32037
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
+SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
+SHA256 (rust/crates/assert_cmd-2.0.14.crate) = ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8
+SIZE (rust/crates/assert_cmd-2.0.14.crate) = 24591
+SHA256 (rust/crates/autocfg-1.2.0.crate) = f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80
+SIZE (rust/crates/autocfg-1.2.0.crate) = 14808
+SHA256 (rust/crates/av1-grain-0.2.3.crate) = 6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf
+SIZE (rust/crates/av1-grain-0.2.3.crate) = 34703
+SHA256 (rust/crates/avif-serialize-0.8.1.crate) = 876c75a42f6364451a033496a14c44bffe41f5f4a8236f697391f11024e596d2
+SIZE (rust/crates/avif-serialize-0.8.1.crate) = 11150
+SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567
+SIZE (rust/crates/base64-0.21.7.crate) = 82576
+SHA256 (rust/crates/bit_field-0.10.2.crate) = dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61
+SIZE (rust/crates/bit_field-0.10.2.crate) = 10568
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1
+SIZE (rust/crates/bitflags-2.5.0.crate) = 43821
+SHA256 (rust/crates/bitstream-io-2.2.0.crate) = 06c9989a51171e2e81038ab168b6ae22886fe9ded214430dbb4f41c28cf176da
+SIZE (rust/crates/bitstream-io-2.2.0.crate) = 34113
+SHA256 (rust/crates/bstr-1.9.1.crate) = 05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706
+SIZE (rust/crates/bstr-1.9.1.crate) = 380305
+SHA256 (rust/crates/built-0.7.1.crate) = 38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53
+SIZE (rust/crates/built-0.7.1.crate) = 21085
+SHA256 (rust/crates/bumpalo-3.15.4.crate) = 7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa
+SIZE (rust/crates/bumpalo-3.15.4.crate) = 85028
+SHA256 (rust/crates/bytemuck-1.15.0.crate) = 5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15
+SIZE (rust/crates/bytemuck-1.15.0.crate) = 47672
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/cc-1.0.90.crate) = 8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5
+SIZE (rust/crates/cc-1.0.90.crate) = 73954
+SHA256 (rust/crates/cfg-expr-0.15.7.crate) = fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d
+SIZE (rust/crates/cfg-expr-0.15.7.crate) = 42003
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
+SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
+SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
+SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
+SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
+SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
+SHA256 (rust/crates/clap-4.5.4.crate) = 90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0
+SIZE (rust/crates/clap-4.5.4.crate) = 55401
+SHA256 (rust/crates/clap_builder-4.5.2.crate) = ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4
+SIZE (rust/crates/clap_builder-4.5.2.crate) = 163566
+SHA256 (rust/crates/clap_complete-4.5.1.crate) = 885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c
+SIZE (rust/crates/clap_complete-4.5.1.crate) = 37823
+SHA256 (rust/crates/clap_derive-4.5.4.crate) = 528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64
+SIZE (rust/crates/clap_derive-4.5.4.crate) = 29159
+SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
+SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915
+SHA256 (rust/crates/clap_mangen-0.2.20.crate) = e1dd95b5ebb5c1c54581dd6346f3ed6a79a3eef95dd372fc2ac13d535535300e
+SIZE (rust/crates/clap_mangen-0.2.20.crate) = 14861
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/colored-2.1.0.crate) = cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8
+SIZE (rust/crates/colored-2.1.0.crate) = 23348
+SHA256 (rust/crates/crc32fast-1.4.0.crate) = b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa
+SIZE (rust/crates/crc32fast-1.4.0.crate) = 38665
+SHA256 (rust/crates/criterion-0.5.1.crate) = f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f
+SIZE (rust/crates/criterion-0.5.1.crate) = 110088
+SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
+SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.19.crate) = 248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345
+SIZE (rust/crates/crossbeam-utils-0.8.19.crate) = 42328
+SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7
+SIZE (rust/crates/crunchy-0.2.2.crate) = 2995
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
+SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
+SHA256 (rust/crates/either-1.10.0.crate) = 11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a
+SIZE (rust/crates/either-1.10.0.crate) = 18334
+SHA256 (rust/crates/env_filter-0.1.0.crate) = a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea
+SIZE (rust/crates/env_filter-0.1.0.crate) = 11553
+SHA256 (rust/crates/env_logger-0.11.3.crate) = 38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9
+SIZE (rust/crates/env_logger-0.11.3.crate) = 29704
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/exr-1.72.0.crate) = 887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4
+SIZE (rust/crates/exr-1.72.0.crate) = 243996
+SHA256 (rust/crates/fdeflate-0.3.4.crate) = 4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645
+SIZE (rust/crates/fdeflate-0.3.4.crate) = 25001
+SHA256 (rust/crates/flate2-1.0.28.crate) = 46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e
+SIZE (rust/crates/flate2-1.0.28.crate) = 73690
+SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
+SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/flume-0.11.0.crate) = 55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181
+SIZE (rust/crates/flume-0.11.0.crate) = 67502
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/getrandom-0.2.12.crate) = 190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5
+SIZE (rust/crates/getrandom-0.2.12.crate) = 36163
+SHA256 (rust/crates/gif-0.13.1.crate) = 3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2
+SIZE (rust/crates/gif-0.13.1.crate) = 36408
+SHA256 (rust/crates/half-2.4.0.crate) = b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e
+SIZE (rust/crates/half-2.4.0.crate) = 50666
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
+SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
+SHA256 (rust/crates/html-escape-0.2.13.crate) = 6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476
+SIZE (rust/crates/html-escape-0.2.13.crate) = 23345
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/image-0.25.0.crate) = a9b4f005360d32e9325029b38ba47ebd7a56f3316df09249368939562d518645
+SIZE (rust/crates/image-0.25.0.crate) = 9176398
+SHA256 (rust/crates/image-webp-0.1.1.crate) = 7a84a25dcae3ac487bc24ef280f9e20c79c9b1a3e5e32cbed3041d1c514aa87c
+SIZE (rust/crates/image-webp-0.1.1.crate) = 49534
+SHA256 (rust/crates/imgref-1.10.1.crate) = 44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126
+SIZE (rust/crates/imgref-1.10.1.crate) = 61797
+SHA256 (rust/crates/indexmap-2.2.6.crate) = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26
+SIZE (rust/crates/indexmap-2.2.6.crate) = 82420
+SHA256 (rust/crates/interpolate_name-0.2.4.crate) = c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60
+SIZE (rust/crates/interpolate_name-0.2.4.crate) = 4027
+SHA256 (rust/crates/is-terminal-0.4.12.crate) = f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b
+SIZE (rust/crates/is-terminal-0.4.12.crate) = 7470
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
+SIZE (rust/crates/itertools-0.12.1.crate) = 137761
+SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b
+SIZE (rust/crates/itoa-1.0.11.crate) = 10563
+SHA256 (rust/crates/jobserver-0.1.28.crate) = ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6
+SIZE (rust/crates/jobserver-0.1.28.crate) = 25543
+SHA256 (rust/crates/jpeg-decoder-0.3.1.crate) = f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0
+SIZE (rust/crates/jpeg-decoder-0.3.1.crate) = 744364
+SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d
+SIZE (rust/crates/js-sys-0.3.69.crate) = 81083
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lebe-0.5.2.crate) = 03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8
+SIZE (rust/crates/lebe-0.5.2.crate) = 8422
+SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
+SIZE (rust/crates/libc-0.2.153.crate) = 740614
+SHA256 (rust/crates/libfuzzer-sys-0.4.7.crate) = a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7
+SIZE (rust/crates/libfuzzer-sys-0.4.7.crate) = 128332
+SHA256 (rust/crates/linux-raw-sys-0.4.13.crate) = 01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c
+SIZE (rust/crates/linux-raw-sys-0.4.13.crate) = 1493855
+SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45
+SIZE (rust/crates/lock_api-0.4.11.crate) = 27487
+SHA256 (rust/crates/log-0.4.21.crate) = 90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c
+SIZE (rust/crates/log-0.4.21.crate) = 43442
+SHA256 (rust/crates/loop9-0.1.5.crate) = 0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062
+SIZE (rust/crates/loop9-0.1.5.crate) = 3406
+SHA256 (rust/crates/maybe-rayon-0.1.1.crate) = 8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519
+SIZE (rust/crates/maybe-rayon-0.1.1.crate) = 2901
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+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.7.2.crate) = 9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7
+SIZE (rust/crates/miniz_oxide-0.7.2.crate) = 55731
+SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
+SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/noop_proc_macro-0.3.0.crate) = 0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8
+SIZE (rust/crates/noop_proc_macro-0.3.0.crate) = 2157
+SHA256 (rust/crates/normalize-line-endings-0.3.0.crate) = 61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be
+SIZE (rust/crates/normalize-line-endings-0.3.0.crate) = 5737
+SHA256 (rust/crates/num-bigint-0.4.4.crate) = 608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0
+SIZE (rust/crates/num-bigint-0.4.4.crate) = 99369
+SHA256 (rust/crates/num-derive-0.4.2.crate) = ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202
+SIZE (rust/crates/num-derive-0.4.2.crate) = 14709
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-rational-0.4.1.crate) = 0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0
+SIZE (rust/crates/num-rational-0.4.1.crate) = 27889
+SHA256 (rust/crates/num-traits-0.2.18.crate) = da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a
+SIZE (rust/crates/num-traits-0.2.18.crate) = 51930
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/oorandom-11.1.3.crate) = 0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575
+SIZE (rust/crates/oorandom-11.1.3.crate) = 10068
+SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
+SIZE (rust/crates/paste-1.0.14.crate) = 18157
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec
+SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613
+SHA256 (rust/crates/plotters-0.3.5.crate) = d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45
+SIZE (rust/crates/plotters-0.3.5.crate) = 143975
+SHA256 (rust/crates/plotters-backend-0.3.5.crate) = 9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609
+SIZE (rust/crates/plotters-backend-0.3.5.crate) = 13440
+SHA256 (rust/crates/plotters-svg-0.3.5.crate) = 38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab
+SIZE (rust/crates/plotters-svg-0.3.5.crate) = 6948
+SHA256 (rust/crates/png-0.17.13.crate) = 06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1
+SIZE (rust/crates/png-0.17.13.crate) = 103176
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/predicates-3.1.0.crate) = 68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8
+SIZE (rust/crates/predicates-3.1.0.crate) = 23090
+SHA256 (rust/crates/predicates-core-1.0.6.crate) = b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174
+SIZE (rust/crates/predicates-core-1.0.6.crate) = 8084
+SHA256 (rust/crates/predicates-tree-1.0.9.crate) = 368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf
+SIZE (rust/crates/predicates-tree-1.0.9.crate) = 7960
+SHA256 (rust/crates/pretty_assertions-1.4.0.crate) = af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66
+SIZE (rust/crates/pretty_assertions-1.4.0.crate) = 78846
+SHA256 (rust/crates/proc-macro2-1.0.79.crate) = e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e
+SIZE (rust/crates/proc-macro2-1.0.79.crate) = 47200
+SHA256 (rust/crates/profiling-1.0.15.crate) = 43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58
+SIZE (rust/crates/profiling-1.0.15.crate) = 14255
+SHA256 (rust/crates/profiling-procmacros-1.0.15.crate) = 8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd
+SIZE (rust/crates/profiling-procmacros-1.0.15.crate) = 5956
+SHA256 (rust/crates/qoi-0.4.1.crate) = 7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001
+SIZE (rust/crates/qoi-0.4.1.crate) = 71135
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rav1e-0.7.1.crate) = cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9
+SIZE (rust/crates/rav1e-0.7.1.crate) = 1472522
+SHA256 (rust/crates/ravif-0.11.5.crate) = bc13288f5ab39e6d7c9d501759712e6969fcc9734220846fc9ed26cae2cc4234
+SIZE (rust/crates/ravif-0.11.5.crate) = 11091
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/regex-1.10.4.crate) = c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c
+SIZE (rust/crates/regex-1.10.4.crate) = 253191
+SHA256 (rust/crates/regex-automata-0.4.6.crate) = 86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea
+SIZE (rust/crates/regex-automata-0.4.6.crate) = 617565
+SHA256 (rust/crates/regex-syntax-0.8.3.crate) = adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56
+SIZE (rust/crates/regex-syntax-0.8.3.crate) = 347497
+SHA256 (rust/crates/rgb-0.8.37.crate) = 05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8
+SIZE (rust/crates/rgb-0.8.37.crate) = 16644
+SHA256 (rust/crates/ring-0.17.8.crate) = c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d
+SIZE (rust/crates/ring-0.17.8.crate) = 4188554
+SHA256 (rust/crates/roff-0.2.1.crate) = b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316
+SIZE (rust/crates/roff-0.2.1.crate) = 10605
+SHA256 (rust/crates/rustix-0.38.32.crate) = 65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89
+SIZE (rust/crates/rustix-0.38.32.crate) = 376999
+SHA256 (rust/crates/rustls-0.22.3.crate) = 99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c
+SIZE (rust/crates/rustls-0.22.3.crate) = 332877
+SHA256 (rust/crates/rustls-pki-types-1.4.1.crate) = ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247
+SIZE (rust/crates/rustls-pki-types-1.4.1.crate) = 29437
+SHA256 (rust/crates/rustls-webpki-0.102.2.crate) = faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610
+SIZE (rust/crates/rustls-webpki-0.102.2.crate) = 196881
+SHA256 (rust/crates/ryu-1.0.17.crate) = e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1
+SIZE (rust/crates/ryu-1.0.17.crate) = 47537
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/serde-1.0.197.crate) = 3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2
+SIZE (rust/crates/serde-1.0.197.crate) = 77087
+SHA256 (rust/crates/serde_derive-1.0.197.crate) = 7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b
+SIZE (rust/crates/serde_derive-1.0.197.crate) = 55771
+SHA256 (rust/crates/serde_json-1.0.115.crate) = 12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd
+SIZE (rust/crates/serde_json-1.0.115.crate) = 147100
+SHA256 (rust/crates/serde_spanned-0.6.5.crate) = eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1
+SIZE (rust/crates/serde_spanned-0.6.5.crate) = 8349
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simd_helpers-0.1.0.crate) = 95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6
+SIZE (rust/crates/simd_helpers-0.1.0.crate) = 1527
+SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
+SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/strsim-0.11.0.crate) = 5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01
+SIZE (rust/crates/strsim-0.11.0.crate) = 13710
+SHA256 (rust/crates/subtle-2.5.0.crate) = 81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc
+SIZE (rust/crates/subtle-2.5.0.crate) = 13909
+SHA256 (rust/crates/syn-2.0.55.crate) = 002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0
+SIZE (rust/crates/syn-2.0.55.crate) = 254901
+SHA256 (rust/crates/system-deps-6.2.2.crate) = a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349
+SIZE (rust/crates/system-deps-6.2.2.crate) = 25546
+SHA256 (rust/crates/target-lexicon-0.12.14.crate) = e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f
+SIZE (rust/crates/target-lexicon-0.12.14.crate) = 25508
+SHA256 (rust/crates/terminal_size-0.3.0.crate) = 21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7
+SIZE (rust/crates/terminal_size-0.3.0.crate) = 10096
+SHA256 (rust/crates/termtree-0.4.1.crate) = 3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76
+SIZE (rust/crates/termtree-0.4.1.crate) = 4557
+SHA256 (rust/crates/thiserror-1.0.58.crate) = 03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297
+SIZE (rust/crates/thiserror-1.0.58.crate) = 21025
+SHA256 (rust/crates/thiserror-impl-1.0.58.crate) = c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7
+SIZE (rust/crates/thiserror-impl-1.0.58.crate) = 15645
+SHA256 (rust/crates/tiff-0.9.1.crate) = ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e
+SIZE (rust/crates/tiff-0.9.1.crate) = 1423953
+SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
+SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
+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.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/toml-0.8.12.crate) = e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3
+SIZE (rust/crates/toml-0.8.12.crate) = 51145
+SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1
+SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910
+SHA256 (rust/crates/toml_edit-0.22.9.crate) = 8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4
+SIZE (rust/crates/toml_edit-0.22.9.crate) = 104173
+SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75
+SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-normalization-0.1.23.crate) = a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5
+SIZE (rust/crates/unicode-normalization-0.1.23.crate) = 122649
+SHA256 (rust/crates/unicode-width-0.1.11.crate) = e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85
+SIZE (rust/crates/unicode-width-0.1.11.crate) = 19187
+SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
+SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
+SHA256 (rust/crates/ureq-2.9.6.crate) = 11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35
+SIZE (rust/crates/ureq-2.9.6.crate) = 113677
+SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
+SIZE (rust/crates/url-2.5.0.crate) = 78605
+SHA256 (rust/crates/utf8-width-0.1.7.crate) = 86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3
+SIZE (rust/crates/utf8-width-0.1.7.crate) = 2977
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/v_frame-0.3.8.crate) = d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b
+SIZE (rust/crates/v_frame-0.3.8.crate) = 14967
+SHA256 (rust/crates/version-compare-0.2.0.crate) = 852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b
+SIZE (rust/crates/version-compare-0.2.0.crate) = 13942
+SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6
+SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+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.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8
+SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da
+SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726
+SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96
+SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263
+SHA256 (rust/crates/web-sys-0.3.69.crate) = 77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef
+SIZE (rust/crates/web-sys-0.3.69.crate) = 728877
+SHA256 (rust/crates/webpki-roots-0.26.1.crate) = b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009
+SIZE (rust/crates/webpki-roots-0.26.1.crate) = 249748
+SHA256 (rust/crates/weezl-0.1.8.crate) = 53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082
+SIZE (rust/crates/weezl-0.1.8.crate) = 42175
+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.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
+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.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.4.crate) = 7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b
+SIZE (rust/crates/windows-targets-0.52.4.crate) = 6310
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = 433373
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.4.crate) = da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675
+SIZE (rust/crates/windows_aarch64_msvc-0.52.4.crate) = 828055
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.4.crate) = b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3
+SIZE (rust/crates/windows_i686_gnu-0.52.4.crate) = 875736
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.4.crate) = 1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02
+SIZE (rust/crates/windows_i686_msvc-0.52.4.crate) = 895530
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03
+SIZE (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 831627
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 433358
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8
+SIZE (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 828019
+SHA256 (rust/crates/winnow-0.6.5.crate) = dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8
+SIZE (rust/crates/winnow-0.6.5.crate) = 159316
+SHA256 (rust/crates/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec
+SIZE (rust/crates/yansi-0.5.1.crate) = 16525
+SHA256 (rust/crates/zeroize-1.7.0.crate) = 525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d
+SIZE (rust/crates/zeroize-1.7.0.crate) = 19039
+SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
+SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
+SHA256 (rust/crates/zune-inflate-0.2.54.crate) = 73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02
+SIZE (rust/crates/zune-inflate-0.2.54.crate) = 37973
+SHA256 (rust/crates/zune-jpeg-0.4.11.crate) = ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448
+SIZE (rust/crates/zune-jpeg-0.4.11.crate) = 61815
+SHA256 (finefindus-artem-v3.0.0_GH0.tar.gz) = d180ff37691654744891de77d956c83cc334c82e2377d1cfe4b795234753781a
+SIZE (finefindus-artem-v3.0.0_GH0.tar.gz) = 8305607
diff --git a/graphics/artem/pkg-descr b/graphics/artem/pkg-descr
new file mode 100644
index 000000000000..2e56d124f46c
--- /dev/null
+++ b/graphics/artem/pkg-descr
@@ -0,0 +1,6 @@
+Artem is a small cli program, written in rust, to easily convert
+images to ASCII art, named after the latin word for art. By default it
+tries to use truecolor, but if the terminal does not support
+truecolor, it falls back to 16 Color ANSI. When the ASCII image is
+written to a file, the image will not use colors. It supports .jpeg,
+.png, .gif, .webp and many more.