git: c2133565c4fc - main - graphics/asciinema-agg: New port: Asciinema gif generator

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Sun, 30 Apr 2023 18:43:07 UTC
The branch main has been updated by fuz:

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

commit c2133565c4fc8e45495fd60a1077496a4c39208f
Author:     Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org>
AuthorDate: 2023-04-29 20:52:00 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-04-30 18:41:42 +0000

    graphics/asciinema-agg: New port: Asciinema gif generator
    
    agg is a command-line tool for generating animated GIF files from
    asciicast v2 files produced by asciinema terminal recorder. It uses
    the excellent gifski library to produce optimized, high quality GIF
    output with accurate frame timing.
    
    WWW: https://github.com/asciinema/agg/
    
    PR:             269675
---
 graphics/Makefile                      |   1 +
 graphics/asciinema-agg/Makefile        |  20 ++
 graphics/asciinema-agg/Makefile.crates | 221 ++++++++++++++++
 graphics/asciinema-agg/distinfo        | 445 +++++++++++++++++++++++++++++++++
 graphics/asciinema-agg/pkg-descr       |   4 +
 graphics/asciinema-agg/pkg-message     |  13 +
 6 files changed, 704 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index e51d95bd12c7..fc8d900b1195 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -61,6 +61,7 @@
     SUBDIR += appleseed
     SUBDIR += argyllcms
     SUBDIR += art
+    SUBDIR += asciinema-agg
     SUBDIR += asciio
     SUBDIR += aseprite
     SUBDIR += atril
diff --git a/graphics/asciinema-agg/Makefile b/graphics/asciinema-agg/Makefile
new file mode 100644
index 000000000000..19c92ff6c670
--- /dev/null
+++ b/graphics/asciinema-agg/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	agg
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.4.1
+CATEGORIES=	graphics
+PKGNAMEPREFIX=	asciinema-
+
+MAINTAINER=	DtxdF@disroot.org
+COMMENT=	Asciinema gif generator
+WWW=		https://github.com/asciinema/agg/
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	asciinema
+
+PLIST_FILES=	bin/agg
+
+.include <bsd.port.mk>
diff --git a/graphics/asciinema-agg/Makefile.crates b/graphics/asciinema-agg/Makefile.crates
new file mode 100644
index 000000000000..d5c343a45c0d
--- /dev/null
+++ b/graphics/asciinema-agg/Makefile.crates
@@ -0,0 +1,221 @@
+CARGO_CRATES=	adler-1.0.2 \
+		ahash-0.7.6 \
+		ahash-0.8.3 \
+		aho-corasick-0.7.20 \
+		anstream-0.2.6 \
+		anstyle-0.3.5 \
+		anstyle-parse-0.1.1 \
+		anstyle-wincon-0.2.0 \
+		anyhow-1.0.70 \
+		arrayref-0.3.7 \
+		arrayvec-0.7.2 \
+		async-compression-0.3.15 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		base64-0.13.1 \
+		base64-0.21.0 \
+		bitflags-1.3.2 \
+		bumpalo-3.12.0 \
+		bytemuck-1.13.1 \
+		bytes-1.4.0 \
+		cc-1.0.79 \
+		cfg-if-1.0.0 \
+		clap-3.2.23 \
+		clap-4.2.1 \
+		clap_builder-4.2.1 \
+		clap_derive-3.2.18 \
+		clap_lex-0.2.4 \
+		clap_lex-0.4.1 \
+		color_quant-1.1.0 \
+		concolor-override-1.0.0 \
+		concolor-query-0.3.3 \
+		crc32fast-1.3.2 \
+		crossbeam-channel-0.5.7 \
+		crossbeam-deque-0.8.3 \
+		crossbeam-epoch-0.9.14 \
+		crossbeam-utils-0.8.15 \
+		data-url-0.2.0 \
+		dirs-5.0.0 \
+		dirs-sys-0.4.0 \
+		dunce-1.0.3 \
+		either-1.8.1 \
+		encoding_rs-0.8.32 \
+		env_logger-0.10.0 \
+		errno-0.3.0 \
+		errno-dragonfly-0.1.2 \
+		fallible_collections-0.4.7 \
+		flate2-1.0.25 \
+		float-cmp-0.9.0 \
+		fnv-1.0.7 \
+		fontconfig-parser-0.5.2 \
+		fontdb-0.10.0 \
+		fontdue-0.7.2 \
+		form_urlencoded-1.1.0 \
+		futures-channel-0.3.27 \
+		futures-core-0.3.27 \
+		futures-io-0.3.27 \
+		futures-sink-0.3.27 \
+		futures-task-0.3.27 \
+		futures-util-0.3.27 \
+		getrandom-0.2.8 \
+		gif-0.11.4 \
+		gif-0.12.0 \
+		gif-dispose-4.0.0 \
+		gifsicle-1.93.0 \
+		gifski-1.10.3 \
+		glob-0.3.1 \
+		h2-0.3.16 \
+		hashbrown-0.11.2 \
+		hashbrown-0.12.3 \
+		hashbrown-0.13.2 \
+		heck-0.4.1 \
+		hermit-abi-0.1.19 \
+		hermit-abi-0.2.6 \
+		hermit-abi-0.3.1 \
+		http-0.2.9 \
+		http-body-0.4.5 \
+		httparse-1.8.0 \
+		httpdate-1.0.2 \
+		humantime-2.1.0 \
+		hyper-0.14.25 \
+		hyper-rustls-0.23.2 \
+		idna-0.3.0 \
+		imagequant-4.1.1 \
+		imagesize-0.10.1 \
+		imgref-1.9.4 \
+		indexmap-1.9.3 \
+		io-lifetimes-1.0.9 \
+		ipnet-2.7.2 \
+		is-terminal-0.4.6 \
+		itoa-1.0.6 \
+		jpeg-decoder-0.3.0 \
+		js-sys-0.3.61 \
+		kurbo-0.8.3 \
+		libc-0.2.140 \
+		linux-raw-sys-0.3.0 \
+		lodepng-3.7.2 \
+		log-0.4.17 \
+		loop9-0.1.3 \
+		memchr-2.5.0 \
+		memmap2-0.5.10 \
+		memoffset-0.8.0 \
+		mime-0.3.17 \
+		miniz_oxide-0.5.4 \
+		miniz_oxide-0.6.2 \
+		mio-0.8.6 \
+		natord-1.0.9 \
+		noisy_float-0.2.0 \
+		num-traits-0.2.15 \
+		num_cpus-1.15.0 \
+		once_cell-1.17.1 \
+		os_str_bytes-6.5.0 \
+		pbr-1.1.1 \
+		percent-encoding-2.2.0 \
+		pico-args-0.5.0 \
+		pin-project-lite-0.2.9 \
+		pin-utils-0.1.0 \
+		png-0.17.6 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.54 \
+		quick-error-2.0.1 \
+		quote-1.0.26 \
+		rayon-1.7.0 \
+		rayon-core-1.11.0 \
+		rctree-0.5.0 \
+		redox_syscall-0.2.16 \
+		redox_users-0.4.3 \
+		regex-1.7.3 \
+		regex-syntax-0.6.29 \
+		reqwest-0.11.16 \
+		resize-0.7.4 \
+		resvg-0.28.0 \
+		rgb-0.8.36 \
+		ring-0.16.20 \
+		roxmltree-0.15.1 \
+		roxmltree-0.18.0 \
+		rustix-0.37.5 \
+		rustls-0.20.8 \
+		rustls-pemfile-1.0.2 \
+		rustybuzz-0.6.0 \
+		ryu-1.0.13 \
+		scopeguard-1.1.0 \
+		sct-0.7.0 \
+		serde-1.0.159 \
+		serde_derive-1.0.159 \
+		serde_json-1.0.95 \
+		serde_urlencoded-0.7.1 \
+		shellexpand-3.1.0 \
+		simplecss-0.2.1 \
+		siphasher-0.3.10 \
+		slab-0.4.8 \
+		smallvec-1.10.0 \
+		socket2-0.4.9 \
+		spin-0.5.2 \
+		strict-num-0.1.0 \
+		strsim-0.10.0 \
+		svgfilters-0.4.0 \
+		svgtypes-0.8.2 \
+		syn-1.0.109 \
+		syn-2.0.11 \
+		termcolor-1.2.0 \
+		textwrap-0.16.0 \
+		thiserror-1.0.40 \
+		thiserror-impl-1.0.40 \
+		thread_local-1.1.7 \
+		tiny-skia-0.8.3 \
+		tiny-skia-path-0.8.3 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		tokio-1.27.0 \
+		tokio-rustls-0.23.4 \
+		tokio-util-0.7.7 \
+		tower-service-0.3.2 \
+		tracing-0.1.37 \
+		tracing-core-0.1.30 \
+		try-lock-0.2.4 \
+		ttf-parser-0.15.2 \
+		ttf-parser-0.17.1 \
+		unicode-bidi-0.3.13 \
+		unicode-bidi-mirroring-0.1.0 \
+		unicode-ccc-0.1.2 \
+		unicode-general-category-0.6.0 \
+		unicode-ident-1.0.8 \
+		unicode-normalization-0.1.22 \
+		unicode-script-0.5.5 \
+		unicode-vo-0.1.0 \
+		untrusted-0.7.1 \
+		url-2.3.1 \
+		usvg-0.28.0 \
+		usvg-text-layout-0.28.0 \
+		utf8parse-0.2.1 \
+		version_check-0.9.4 \
+		want-0.3.0 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.84 \
+		wasm-bindgen-backend-0.2.84 \
+		wasm-bindgen-futures-0.4.34 \
+		wasm-bindgen-macro-0.2.84 \
+		wasm-bindgen-macro-support-0.2.84 \
+		wasm-bindgen-shared-0.2.84 \
+		web-sys-0.3.61 \
+		webpki-0.22.0 \
+		webpki-roots-0.22.6 \
+		weezl-0.1.7 \
+		wild-2.1.0 \
+		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.45.0 \
+		windows-targets-0.42.2 \
+		windows_aarch64_gnullvm-0.42.2 \
+		windows_aarch64_msvc-0.42.2 \
+		windows_i686_gnu-0.42.2 \
+		windows_i686_msvc-0.42.2 \
+		windows_x86_64_gnu-0.42.2 \
+		windows_x86_64_gnullvm-0.42.2 \
+		windows_x86_64_msvc-0.42.2 \
+		winreg-0.10.1 \
+		xmlparser-0.13.5 \
+		avt@git+https://github.com/asciinema/avt.git?tag=v0.6.0\#168627cf65999720a6fce122e3419da0147d9296
diff --git a/graphics/asciinema-agg/distinfo b/graphics/asciinema-agg/distinfo
new file mode 100644
index 000000000000..e61cfad705df
--- /dev/null
+++ b/graphics/asciinema-agg/distinfo
@@ -0,0 +1,445 @@
+TIMESTAMP = 1682702803
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/ahash-0.7.6.crate) = fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47
+SIZE (rust/crates/ahash-0.7.6.crate) = 38030
+SHA256 (rust/crates/ahash-0.8.3.crate) = 2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f
+SIZE (rust/crates/ahash-0.8.3.crate) = 42416
+SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
+SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440
+SHA256 (rust/crates/anstream-0.2.6.crate) = 342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f
+SIZE (rust/crates/anstream-0.2.6.crate) = 19429
+SHA256 (rust/crates/anstyle-0.3.5.crate) = 23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2
+SIZE (rust/crates/anstyle-0.3.5.crate) = 14272
+SHA256 (rust/crates/anstyle-parse-0.1.1.crate) = a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116
+SIZE (rust/crates/anstyle-parse-0.1.1.crate) = 24186
+SHA256 (rust/crates/anstyle-wincon-0.2.0.crate) = c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa
+SIZE (rust/crates/anstyle-wincon-0.2.0.crate) = 11667
+SHA256 (rust/crates/anyhow-1.0.70.crate) = 7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4
+SIZE (rust/crates/anyhow-1.0.70.crate) = 43803
+SHA256 (rust/crates/arrayref-0.3.7.crate) = 6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545
+SIZE (rust/crates/arrayref-0.3.7.crate) = 9620
+SHA256 (rust/crates/arrayvec-0.7.2.crate) = 8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6
+SIZE (rust/crates/arrayvec-0.7.2.crate) = 29341
+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/base64-0.21.0.crate) = a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a
+SIZE (rust/crates/base64-0.21.0.crate) = 72180
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bumpalo-3.12.0.crate) = 0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535
+SIZE (rust/crates/bumpalo-3.12.0.crate) = 81604
+SHA256 (rust/crates/bytemuck-1.13.1.crate) = 17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea
+SIZE (rust/crates/bytemuck-1.13.1.crate) = 42309
+SHA256 (rust/crates/bytes-1.4.0.crate) = 89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be
+SIZE (rust/crates/bytes-1.4.0.crate) = 58080
+SHA256 (rust/crates/cc-1.0.79.crate) = 50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f
+SIZE (rust/crates/cc-1.0.79.crate) = 62624
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-3.2.23.crate) = 71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5
+SIZE (rust/crates/clap-3.2.23.crate) = 219435
+SHA256 (rust/crates/clap-4.2.1.crate) = 046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3
+SIZE (rust/crates/clap-4.2.1.crate) = 53500
+SHA256 (rust/crates/clap_builder-4.2.1.crate) = 223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f
+SIZE (rust/crates/clap_builder-4.2.1.crate) = 158784
+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/clap_lex-0.4.1.crate) = 8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1
+SIZE (rust/crates/clap_lex-0.4.1.crate) = 12122
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/concolor-override-1.0.0.crate) = a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f
+SIZE (rust/crates/concolor-override-1.0.0.crate) = 6570
+SHA256 (rust/crates/concolor-query-0.3.3.crate) = 88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf
+SIZE (rust/crates/concolor-query-0.3.3.crate) = 8337
+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.7.crate) = cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c
+SIZE (rust/crates/crossbeam-channel-0.5.7.crate) = 90257
+SHA256 (rust/crates/crossbeam-deque-0.8.3.crate) = ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef
+SIZE (rust/crates/crossbeam-deque-0.8.3.crate) = 21746
+SHA256 (rust/crates/crossbeam-epoch-0.9.14.crate) = 46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695
+SIZE (rust/crates/crossbeam-epoch-0.9.14.crate) = 48524
+SHA256 (rust/crates/crossbeam-utils-0.8.15.crate) = 3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b
+SIZE (rust/crates/crossbeam-utils-0.8.15.crate) = 42326
+SHA256 (rust/crates/data-url-0.2.0.crate) = 8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5
+SIZE (rust/crates/data-url-0.2.0.crate) = 20553
+SHA256 (rust/crates/dirs-5.0.0.crate) = dece029acd3353e3a58ac2e3eb3c8d6c35827a892edc6cc4138ef9c33df46ecd
+SIZE (rust/crates/dirs-5.0.0.crate) = 12235
+SHA256 (rust/crates/dirs-sys-0.4.0.crate) = 04414300db88f70d74c5ff54e50f9e1d1737d9a5b90f53fcf2e95ca2a9ab554b
+SIZE (rust/crates/dirs-sys-0.4.0.crate) = 10509
+SHA256 (rust/crates/dunce-1.0.3.crate) = 0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c
+SIZE (rust/crates/dunce-1.0.3.crate) = 8035
+SHA256 (rust/crates/either-1.8.1.crate) = 7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91
+SIZE (rust/crates/either-1.8.1.crate) = 16027
+SHA256 (rust/crates/encoding_rs-0.8.32.crate) = 071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394
+SIZE (rust/crates/encoding_rs-0.8.32.crate) = 1370046
+SHA256 (rust/crates/env_logger-0.10.0.crate) = 85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0
+SIZE (rust/crates/env_logger-0.10.0.crate) = 36574
+SHA256 (rust/crates/errno-0.3.0.crate) = 50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0
+SIZE (rust/crates/errno-0.3.0.crate) = 10268
+SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
+SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
+SHA256 (rust/crates/fallible_collections-0.4.7.crate) = 9acf77205554f3cfeca94a4b910e159ad9824e8c2d164de02b3f12495cc1074d
+SIZE (rust/crates/fallible_collections-0.4.7.crate) = 49549
+SHA256 (rust/crates/flate2-1.0.25.crate) = a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841
+SIZE (rust/crates/flate2-1.0.25.crate) = 70210
+SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
+SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/fontconfig-parser-0.5.2.crate) = 4ab2e12762761366dcb876ab8b6e0cfa4797ddcd890575919f008b5ba655672a
+SIZE (rust/crates/fontconfig-parser-0.5.2.crate) = 36759
+SHA256 (rust/crates/fontdb-0.10.0.crate) = 8131752b3f3b876a20f42b3d08233ad177d6e7ec6d18aaa6954489a201071be5
+SIZE (rust/crates/fontdb-0.10.0.crate) = 15485
+SHA256 (rust/crates/fontdue-0.7.2.crate) = 6a62391ecb864cf12ed06b2af4eda2e609b97657950d6a8f06841b17726ab253
+SIZE (rust/crates/fontdue-0.7.2.crate) = 143663
+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.27.crate) = 164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac
+SIZE (rust/crates/futures-channel-0.3.27.crate) = 32278
+SHA256 (rust/crates/futures-core-0.3.27.crate) = 86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd
+SIZE (rust/crates/futures-core-0.3.27.crate) = 14709
+SHA256 (rust/crates/futures-io-0.3.27.crate) = 89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91
+SIZE (rust/crates/futures-io-0.3.27.crate) = 8912
+SHA256 (rust/crates/futures-sink-0.3.27.crate) = ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2
+SIZE (rust/crates/futures-sink-0.3.27.crate) = 7853
+SHA256 (rust/crates/futures-task-0.3.27.crate) = fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879
+SIZE (rust/crates/futures-task-0.3.27.crate) = 11854
+SHA256 (rust/crates/futures-util-0.3.27.crate) = 3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab
+SIZE (rust/crates/futures-util-0.3.27.crate) = 158556
+SHA256 (rust/crates/getrandom-0.2.8.crate) = c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31
+SIZE (rust/crates/getrandom-0.2.8.crate) = 30553
+SHA256 (rust/crates/gif-0.11.4.crate) = 3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06
+SIZE (rust/crates/gif-0.11.4.crate) = 634244
+SHA256 (rust/crates/gif-0.12.0.crate) = 80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045
+SIZE (rust/crates/gif-0.12.0.crate) = 634734
+SHA256 (rust/crates/gif-dispose-4.0.0.crate) = a40dfdf5be59e0cbbf77cb7c6a91a18ee6d398b70fc54ad900e2bcba1860cb50
+SIZE (rust/crates/gif-dispose-4.0.0.crate) = 6373
+SHA256 (rust/crates/gifsicle-1.93.0.crate) = 0d2c35b9670c2a3313343ce54d00669ca18a8236fe727f52e0cf8c5a77acac07
+SIZE (rust/crates/gifsicle-1.93.0.crate) = 149064
+SHA256 (rust/crates/gifski-1.10.3.crate) = fd5981f4673c4da9f816e141d0baef1ca4f9008fc31573b2d19984c390c46442
+SIZE (rust/crates/gifski-1.10.3.crate) = 40532
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/h2-0.3.16.crate) = 5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d
+SIZE (rust/crates/h2-0.3.16.crate) = 162883
+SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
+SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e
+SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hermit-abi-0.2.6.crate) = ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7
+SIZE (rust/crates/hermit-abi-0.2.6.crate) = 13027
+SHA256 (rust/crates/hermit-abi-0.3.1.crate) = fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286
+SIZE (rust/crates/hermit-abi-0.3.1.crate) = 13793
+SHA256 (rust/crates/http-0.2.9.crate) = bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482
+SIZE (rust/crates/http-0.2.9.crate) = 100146
+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.25.crate) = cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899
+SIZE (rust/crates/hyper-0.14.25.crate) = 195127
+SHA256 (rust/crates/hyper-rustls-0.23.2.crate) = 1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c
+SIZE (rust/crates/hyper-rustls-0.23.2.crate) = 30993
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/imagequant-4.1.1.crate) = f332f82fc531b53cffa3181c14f7beb5b6c33932d68bb0c2fa4fd583553fca64
+SIZE (rust/crates/imagequant-4.1.1.crate) = 55912
+SHA256 (rust/crates/imagesize-0.10.1.crate) = df19da1e92fbfec043ca97d622955381b1f3ee72a180ec999912df31b1ccd951
+SIZE (rust/crates/imagesize-0.10.1.crate) = 11439
+SHA256 (rust/crates/imgref-1.9.4.crate) = b2cf49df1085dcfb171460e4592597b84abe50d900fb83efb6e41b20fefd6c2c
+SIZE (rust/crates/imgref-1.9.4.crate) = 61486
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+SHA256 (rust/crates/io-lifetimes-1.0.9.crate) = 09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb
+SIZE (rust/crates/io-lifetimes-1.0.9.crate) = 36442
+SHA256 (rust/crates/ipnet-2.7.2.crate) = 12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f
+SIZE (rust/crates/ipnet-2.7.2.crate) = 27044
+SHA256 (rust/crates/is-terminal-0.4.6.crate) = 256017f749ab3117e93acb91063009e1f1bb56d03965b14c2c8df4eb02c524d8
+SIZE (rust/crates/is-terminal-0.4.6.crate) = 7856
+SHA256 (rust/crates/itoa-1.0.6.crate) = 453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6
+SIZE (rust/crates/itoa-1.0.6.crate) = 10410
+SHA256 (rust/crates/jpeg-decoder-0.3.0.crate) = bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e
+SIZE (rust/crates/jpeg-decoder-0.3.0.crate) = 742671
+SHA256 (rust/crates/js-sys-0.3.61.crate) = 445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730
+SIZE (rust/crates/js-sys-0.3.61.crate) = 80158
+SHA256 (rust/crates/kurbo-0.8.3.crate) = 7a53776d271cfb873b17c618af0298445c88afc52837f3e948fa3fafd131f449
+SIZE (rust/crates/kurbo-0.8.3.crate) = 81131
+SHA256 (rust/crates/libc-0.2.140.crate) = 99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c
+SIZE (rust/crates/libc-0.2.140.crate) = 669153
+SHA256 (rust/crates/linux-raw-sys-0.3.0.crate) = cd550e73688e6d578f0ac2119e32b797a327631a42f9433e59d02e139c8df60d
+SIZE (rust/crates/linux-raw-sys-0.3.0.crate) = 914053
+SHA256 (rust/crates/lodepng-3.7.2.crate) = f0ad39f75bbaa4b10bb6f2316543632a8046a5bcf9c785488d79720b21f044f8
+SIZE (rust/crates/lodepng-3.7.2.crate) = 48504
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/loop9-0.1.3.crate) = a703804431e5927454bcaf2b2a162595e95db931130c2728c18d050090f69940
+SIZE (rust/crates/loop9-0.1.3.crate) = 2377
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/memmap2-0.5.10.crate) = 83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327
+SIZE (rust/crates/memmap2-0.5.10.crate) = 26847
+SHA256 (rust/crates/memoffset-0.8.0.crate) = d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1
+SIZE (rust/crates/memoffset-0.8.0.crate) = 8912
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/miniz_oxide-0.5.4.crate) = 96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34
+SIZE (rust/crates/miniz_oxide-0.5.4.crate) = 53485
+SHA256 (rust/crates/miniz_oxide-0.6.2.crate) = b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa
+SIZE (rust/crates/miniz_oxide-0.6.2.crate) = 54536
+SHA256 (rust/crates/mio-0.8.6.crate) = 5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9
+SIZE (rust/crates/mio-0.8.6.crate) = 93658
+SHA256 (rust/crates/natord-1.0.9.crate) = 308d96db8debc727c3fd9744aac51751243420e46edf401010908da7f8d5e57c
+SIZE (rust/crates/natord-1.0.9.crate) = 3866
+SHA256 (rust/crates/noisy_float-0.2.0.crate) = 978fe6e6ebc0bf53de533cd456ca2d9de13de13856eda1518a285d7705a213af
+SIZE (rust/crates/noisy_float-0.2.0.crate) = 15564
+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.15.0.crate) = 0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b
+SIZE (rust/crates/num_cpus-1.15.0.crate) = 15680
+SHA256 (rust/crates/once_cell-1.17.1.crate) = b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3
+SIZE (rust/crates/once_cell-1.17.1.crate) = 32856
+SHA256 (rust/crates/os_str_bytes-6.5.0.crate) = ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267
+SIZE (rust/crates/os_str_bytes-6.5.0.crate) = 23166
+SHA256 (rust/crates/pbr-1.1.1.crate) = ed5827dfa0d69b6c92493d6c38e633bbaa5937c153d0d7c28bf12313f8c6d514
+SIZE (rust/crates/pbr-1.1.1.crate) = 13786
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/pico-args-0.5.0.crate) = 5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315
+SIZE (rust/crates/pico-args-0.5.0.crate) = 11545
+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/png-0.17.6.crate) = 8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c
+SIZE (rust/crates/png-0.17.6.crate) = 80695
+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.54.crate) = e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534
+SIZE (rust/crates/proc-macro2-1.0.54.crate) = 43485
+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.26.crate) = 4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc
+SIZE (rust/crates/quote-1.0.26.crate) = 28397
+SHA256 (rust/crates/rayon-1.7.0.crate) = 1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b
+SIZE (rust/crates/rayon-1.7.0.crate) = 169488
+SHA256 (rust/crates/rayon-core-1.11.0.crate) = 4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d
+SIZE (rust/crates/rayon-core-1.11.0.crate) = 73118
+SHA256 (rust/crates/rctree-0.5.0.crate) = 3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f
+SIZE (rust/crates/rctree-0.5.0.crate) = 8298
+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.3.crate) = 8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d
+SIZE (rust/crates/regex-1.7.3.crate) = 239886
+SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1
+SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
+SHA256 (rust/crates/reqwest-0.11.16.crate) = 27b71749df584b7f4cac2c426c127a7c785a5106cc98f7a8feb044115f0fa254
+SIZE (rust/crates/reqwest-0.11.16.crate) = 152152
+SHA256 (rust/crates/resize-0.7.4.crate) = 87e7bdfff05e26408cf8f82fe896ce3d7624f0c0b06c84b2f1009c50452ead41
+SIZE (rust/crates/resize-0.7.4.crate) = 10345
+SHA256 (rust/crates/resvg-0.28.0.crate) = c115863f2d3621999cf187e318bc92b16402dfeff6a48c74df700d77381394c1
+SIZE (rust/crates/resvg-0.28.0.crate) = 94137
+SHA256 (rust/crates/rgb-0.8.36.crate) = 20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59
+SIZE (rust/crates/rgb-0.8.36.crate) = 16576
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/roxmltree-0.15.1.crate) = 6b9de9831a129b122e7e61f242db509fa9d0838008bf0b29bb0624669edfe48a
+SIZE (rust/crates/roxmltree-0.15.1.crate) = 39078
+SHA256 (rust/crates/roxmltree-0.18.0.crate) = d8f595a457b6b8c6cda66a48503e92ee8d19342f905948f29c383200ec9eb1d8
+SIZE (rust/crates/roxmltree-0.18.0.crate) = 42463
+SHA256 (rust/crates/rustix-0.37.5.crate) = 0e78cc525325c06b4a7ff02db283472f3c042b7ff0c391f96c6d5ac6f4f91b75
+SIZE (rust/crates/rustix-0.37.5.crate) = 305076
+SHA256 (rust/crates/rustls-0.20.8.crate) = fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f
+SIZE (rust/crates/rustls-0.20.8.crate) = 270142
+SHA256 (rust/crates/rustls-pemfile-1.0.2.crate) = d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b
+SIZE (rust/crates/rustls-pemfile-1.0.2.crate) = 19347
+SHA256 (rust/crates/rustybuzz-0.6.0.crate) = ab9e34ecf6900625412355a61bda0bd68099fe674de707c67e5e4aed2c05e489
+SIZE (rust/crates/rustybuzz-0.6.0.crate) = 219599
+SHA256 (rust/crates/ryu-1.0.13.crate) = f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041
+SIZE (rust/crates/ryu-1.0.13.crate) = 46823
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/serde-1.0.159.crate) = 3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065
+SIZE (rust/crates/serde-1.0.159.crate) = 77014
+SHA256 (rust/crates/serde_derive-1.0.159.crate) = 4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585
+SIZE (rust/crates/serde_derive-1.0.159.crate) = 55039
+SHA256 (rust/crates/serde_json-1.0.95.crate) = d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744
+SIZE (rust/crates/serde_json-1.0.95.crate) = 144618
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/shellexpand-3.1.0.crate) = da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b
+SIZE (rust/crates/shellexpand-3.1.0.crate) = 25591
+SHA256 (rust/crates/simplecss-0.2.1.crate) = a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d
+SIZE (rust/crates/simplecss-0.2.1.crate) = 19418
+SHA256 (rust/crates/siphasher-0.3.10.crate) = 7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de
+SIZE (rust/crates/siphasher-0.3.10.crate) = 9889
+SHA256 (rust/crates/slab-0.4.8.crate) = 6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d
+SIZE (rust/crates/slab-0.4.8.crate) = 16928
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/socket2-0.4.9.crate) = 64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662
+SIZE (rust/crates/socket2-0.4.9.crate) = 45421
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/strict-num-0.1.0.crate) = 9df65f20698aeed245efdde3628a6b559ea1239bbb871af1b6e3b58c413b2bd1
+SIZE (rust/crates/strict-num-0.1.0.crate) = 4692
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/svgfilters-0.4.0.crate) = 639abcebc15fdc2df179f37d6f5463d660c1c79cd552c12343a4600827a04bce
+SIZE (rust/crates/svgfilters-0.4.0.crate) = 22597
+SHA256 (rust/crates/svgtypes-0.8.2.crate) = 22975e8a2bac6a76bb54f898a6b18764633b00e780330f0b689f65afb3975564
+SIZE (rust/crates/svgtypes-0.8.2.crate) = 32694
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.11.crate) = 21e3787bb71465627110e7d87ed4faaa36c1f61042ee67badb9e2ef173accc40
+SIZE (rust/crates/syn-2.0.11.crate) = 240090
+SHA256 (rust/crates/termcolor-1.2.0.crate) = be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6
+SIZE (rust/crates/termcolor-1.2.0.crate) = 17917
+SHA256 (rust/crates/textwrap-0.16.0.crate) = 222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d
+SIZE (rust/crates/textwrap-0.16.0.crate) = 53722
+SHA256 (rust/crates/thiserror-1.0.40.crate) = 978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac
+SIZE (rust/crates/thiserror-1.0.40.crate) = 18709
+SHA256 (rust/crates/thiserror-impl-1.0.40.crate) = f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f
+SIZE (rust/crates/thiserror-impl-1.0.40.crate) = 15138
+SHA256 (rust/crates/thread_local-1.1.7.crate) = 3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152
+SIZE (rust/crates/thread_local-1.1.7.crate) = 13585
+SHA256 (rust/crates/tiny-skia-0.8.3.crate) = bfef3412c6975196fdfac41ef232f910be2bb37b9dd3313a49a1a6bc815a5bdb
+SIZE (rust/crates/tiny-skia-0.8.3.crate) = 192796
+SHA256 (rust/crates/tiny-skia-path-0.8.3.crate) = a4b5edac058fc98f51c935daea4d805b695b38e2f151241cad125ade2a2ac20d
+SIZE (rust/crates/tiny-skia-path-0.8.3.crate) = 45814
+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/tokio-1.27.0.crate) = d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001
+SIZE (rust/crates/tokio-1.27.0.crate) = 653991
+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.7.crate) = 5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2
+SIZE (rust/crates/tokio-util-0.7.7.crate) = 100405
+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.4.crate) = 3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed
+SIZE (rust/crates/try-lock-0.2.4.crate) = 4467
+SHA256 (rust/crates/ttf-parser-0.15.2.crate) = 7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd
+SIZE (rust/crates/ttf-parser-0.15.2.crate) = 136251
+SHA256 (rust/crates/ttf-parser-0.17.1.crate) = 375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff
+SIZE (rust/crates/ttf-parser-0.17.1.crate) = 150772
+SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460
+SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477
+SHA256 (rust/crates/unicode-bidi-mirroring-0.1.0.crate) = 56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694
+SIZE (rust/crates/unicode-bidi-mirroring-0.1.0.crate) = 8241
+SHA256 (rust/crates/unicode-ccc-0.1.2.crate) = cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1
+SIZE (rust/crates/unicode-ccc-0.1.2.crate) = 8848
+SHA256 (rust/crates/unicode-general-category-0.6.0.crate) = 2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7
+SIZE (rust/crates/unicode-general-category-0.6.0.crate) = 35177
+SHA256 (rust/crates/unicode-ident-1.0.8.crate) = e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4
+SIZE (rust/crates/unicode-ident-1.0.8.crate) = 41962
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-script-0.5.5.crate) = 7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc
+SIZE (rust/crates/unicode-script-0.5.5.crate) = 43874
+SHA256 (rust/crates/unicode-vo-0.1.0.crate) = b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94
+SIZE (rust/crates/unicode-vo-0.1.0.crate) = 8084
+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/usvg-0.28.0.crate) = 8b5b7c2b30845b3348c067ca3d09e20cc6e327c288f0ca4c48698712abf432e9
+SIZE (rust/crates/usvg-0.28.0.crate) = 84567
+SHA256 (rust/crates/usvg-text-layout-0.28.0.crate) = 4c9550670848028641bf976b06f5c520ffdcd6f00ee7ee7eb0853f78e2c249d7
+SIZE (rust/crates/usvg-text-layout-0.28.0.crate) = 21618
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
+SIZE (rust/crates/want-0.3.0.crate) = 6550
+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.84.crate) = 31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b
+SIZE (rust/crates/wasm-bindgen-0.2.84.crate) = 172947
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.84.crate) = 95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9
+SIZE (rust/crates/wasm-bindgen-backend-0.2.84.crate) = 26344
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.34.crate) = f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454
+SIZE (rust/crates/wasm-bindgen-futures-0.4.34.crate) = 15117
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.84.crate) = 4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5
+SIZE (rust/crates/wasm-bindgen-macro-0.2.84.crate) = 12857
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.84.crate) = 2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.84.crate) = 19076
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.84.crate) = 0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.84.crate) = 7219
+SHA256 (rust/crates/web-sys-0.3.61.crate) = e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97
+SIZE (rust/crates/web-sys-0.3.61.crate) = 706333
+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.6.crate) = b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87
+SIZE (rust/crates/webpki-roots-0.22.6.crate) = 242386
+SHA256 (rust/crates/weezl-0.1.7.crate) = 9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb
+SIZE (rust/crates/weezl-0.1.7.crate) = 42166
+SHA256 (rust/crates/wild-2.1.0.crate) = 05b116685a6be0c52f5a103334cbff26db643826c7b3735fc0a3ba9871310a74
+SIZE (rust/crates/wild-2.1.0.crate) = 7548
+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.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0
+SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659
+SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
+SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43
+SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981
+SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f
+SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236
+SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060
+SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36
+SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0
+SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936
+SHA256 (rust/crates/winreg-0.10.1.crate) = 80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d
+SIZE (rust/crates/winreg-0.10.1.crate) = 25725
+SHA256 (rust/crates/xmlparser-0.13.5.crate) = 4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd
+SIZE (rust/crates/xmlparser-0.13.5.crate) = 26225
+SHA256 (asciinema-avt-v0.6.0_GH0.tar.gz) = 946bf3134bb4315eaf4dd5bc50644cfa9d296272e6cf4c6c177201103b6f60c1
+SIZE (asciinema-avt-v0.6.0_GH0.tar.gz) = 471495
+SHA256 (asciinema-agg-v1.4.1_GH0.tar.gz) = ee997a9259b853d90aacdbae26ab64564022e1010d128b2713cc5ded16252e21
+SIZE (asciinema-agg-v1.4.1_GH0.tar.gz) = 2967983
diff --git a/graphics/asciinema-agg/pkg-descr b/graphics/asciinema-agg/pkg-descr
new file mode 100644
index 000000000000..c273b3b5d780
--- /dev/null
+++ b/graphics/asciinema-agg/pkg-descr
@@ -0,0 +1,4 @@
+agg is a command-line tool for generating animated GIF files from
+asciicast v2 files produced by asciinema terminal recorder. It uses
+the excellent gifski library to produce optimized, high quality GIF
+output with accurate frame timing.
diff --git a/graphics/asciinema-agg/pkg-message b/graphics/asciinema-agg/pkg-message
new file mode 100644
index 000000000000..59cc7aa72e96
--- /dev/null
+++ b/graphics/asciinema-agg/pkg-message
@@ -0,0 +1,13 @@
+[
+{ type: install
+  message: <<EOM
+agg was installed and there are some notes:
+
+1. You need at least one font family that is used by the --font-family
+   parameter.
+
+2. It is recommended to install graphics/gifsicle if you want to
+   optimize your GIF.
+EOM
+}
+]