aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Knoblich <kai@FreeBSD.org>2023-05-08 11:47:11 +0000
committerKai Knoblich <kai@FreeBSD.org>2023-05-08 11:54:44 +0000
commit5a788a624932f69708a11d4470c157bd216d455d (patch)
tree2dd9b411f9bf5eaf420b2045667697b14a6d9bad
parente25a727caaaf028b0f9d1ab9878c2ec7d00fff83 (diff)
downloadports-5a788a624932f69708a11d4470c157bd216d455d.tar.gz
ports-5a788a624932f69708a11d4470c157bd216d455d.zip
games/anki: Update to 2.1.62
* Since release 2.1.55, upstream has changed the build system to a homebrew solution written in Rust, which generates the files for ninja(1) and then uses the latter also for building. As a result, quite a number of patches, that revolved around the Bazel build system, can now be removed and the Makefile can also be slimmed down considerably. By environment variables recognized by the build system, some required binaries (e.g. Python, Node.js, etc.) for the build can be directly defined instead downloading the binary tarballs from the official repositories, which saving quite a bit of patches at the end. In order to be able to build Anki successfully on FreeBSD, a few more environment variables have been introduced via custom patches. With this it's possible to use an offline cache for Node.js as well as a native Python environment instead of a venv. * Belatedly add devel/py-orjson as a fixed runtime dependency and although it's still optional in the code, the question is how long this will be the case. Thus update NOT_FOR_ARCH_REASON accordingly and keep ONLY_FOR_ARCH unchanged for now. Changelogs since 2.1.54: https://changes.ankiweb.net/changes/2.1.60-69.html https://changes.ankiweb.net/changes/2.1.50-59.html MFH: No (feature release)
-rw-r--r--games/anki/Makefile938
-rw-r--r--games/anki/distinfo1344
-rw-r--r--games/anki/files/bazel/BUILD.bazel-local_esbuild1
-rw-r--r--games/anki/files/bazel/BUILD.bazel-local_node1
-rw-r--r--games/anki/files/bazel/BUILD.bazel-protoc_bin_freebsd1
-rw-r--r--games/anki/files/bazel/BUILD.bazel-pylib-rsbridge12
-rw-r--r--games/anki/files/bazel/BUILD.bazel-rslib-i18n10
-rw-r--r--games/anki/files/bazel/BUILD.bazel-rust_output-librsbridge7
-rw-r--r--games/anki/files/bazel/BUILD.bazel-rust_output-strings_json7
-rw-r--r--games/anki/files/bazel/repos.bzl93
-rw-r--r--games/anki/files/patch-build_configure_src_main.rs48
-rw-r--r--games/anki/files/patch-build_configure_src_python.rs39
-rw-r--r--games/anki/files/patch-build_configure_src_rust.rs69
-rw-r--r--games/anki/files/patch-build_ninja__gen_src_archives.rs29
-rw-r--r--games/anki/files/patch-build_ninja__gen_src_cargo.rs13
-rw-r--r--games/anki/files/patch-build_ninja__gen_src_git.rs34
-rw-r--r--games/anki/files/patch-build_ninja__gen_src_python.rs53
-rw-r--r--games/anki/files/patch-build_runner_src_build.rs48
-rw-r--r--games/anki/files/patch-build_runner_src_yarn.rs35
-rw-r--r--games/anki/files/patch-defs.bzl55
-rw-r--r--games/anki/files/patch-ftl_BUILD.bazel16
-rw-r--r--games/anki/files/patch-late__deps.bzl16
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js13
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_internal_npm__install_npm__install.bzl14
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_nodejs_private_os__name.bzl33
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__packages.bzl23
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__repositories.bzl43
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel50
-rw-r--r--games/anki/files/patch-platforms_BUILD.bazel18
-rw-r--r--games/anki/files/patch-proto_protobuf.bzl24
-rw-r--r--games/anki/files/patch-pylib_BUILD.bazel52
-rw-r--r--games/anki/files/patch-pylib_anki_BUILD.bazel35
-rw-r--r--games/anki/files/patch-pylib_anki___backend_BUILD.bazel29
-rw-r--r--games/anki/files/patch-pylib_orjson.bzl15
-rw-r--r--games/anki/files/patch-pylib_tools_BUILD.bazel27
-rw-r--r--games/anki/files/patch-python_binary.bzl22
-rw-r--r--games/anki/files/patch-python_pyqt_install.py30
-rw-r--r--games/anki/files/patch-python_python.bzl13
-rw-r--r--games/anki/files/patch-python_stubs_BUILD.bazel35
-rw-r--r--games/anki/files/patch-qt_BUILD.bazel69
-rw-r--r--games/anki/files/patch-qt_aqt_BUILD.bazel32
-rw-r--r--games/anki/files/patch-qt_aqt_____init____.py4
-rw-r--r--games/anki/files/patch-tools_status.sh9
-rw-r--r--games/anki/files/patch-ts_lib_BUILD.bazel21
-rw-r--r--games/anki/pkg-message29
-rw-r--r--games/anki/pkg-plist1159
46 files changed, 1986 insertions, 2682 deletions
diff --git a/games/anki/Makefile b/games/anki/Makefile
index 153ea7eee848..14e8801b0155 100644
--- a/games/anki/Makefile
+++ b/games/anki/Makefile
@@ -1,12 +1,9 @@
PORTNAME= anki
-DISTVERSION= 2.1.54
-PORTREVISION= 17
+DISTVERSION= 2.1.62
# Don't forget to update ${_MY_BUILDHASH} if DISTVERSION changes
CATEGORIES= games education python
-MASTER_SITES= LOCAL/kai/:yarncache \
- LOCAL/kai/:npmcache
-DISTFILES= anki-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}:yarncache \
- anki-npm-cache-${DISTVERSION}${EXTRACT_SUFX}:npmcache
+MASTER_SITES= LOCAL/kai/:yarncache
+DISTFILES= anki-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}:yarncache
MAINTAINER= kai@FreeBSD.org
COMMENT= Flashcard trainer with spaced repetition
@@ -16,25 +13,15 @@ LICENSE= AGPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc
-NOT_FOR_ARCHS_REASON= the bazel build framework supports only 64-bit systems.
+NOT_FOR_ARCHS_REASON= devel/py-orjson, which is required for runtime, is only available for 64-bit systems.
-BUILD_DEPENDS= bash:shells/bash \
- bazel:devel/bazel \
- npm:www/npm \
- protoc:devel/protobuf \
+BUILD_DEPENDS= protoc:devel/protobuf \
rsync:net/rsync \
yarn:www/yarn \
- ${PYTHON_PKGNAMEPREFIX}mypy-protobuf>=1.21:devel/py-mypy-protobuf@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}stringcase>0:devel/py-stringcase@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}black>0:devel/py-black@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}fluent>0:devel/py-fluent@${PY_FLAVOR} \
- ${RUN_DEPENDS}
-
-# NB: For x64 architectures there's also a Python package devel/py-orjson.
-# Chances are good that it'll be added to RUN_DEPENDS with the next release.
-#
-# Although the "orjson" package is required via the setup.py of Anki's Python
-# library it's (still) optional in the code.
+ ${PYTHON_PKGNAMEPREFIX}mypy-protobuf>=1.21:devel/py-mypy-protobuf@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS= libzstd.so:archivers/zstd
RUN_DEPENDS= lame:audio/lame \
${PYTHON_PKGNAMEPREFIX}pyaudio>0:audio/py-pyaudio@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
@@ -42,98 +29,137 @@ RUN_DEPENDS= lame:audio/lame \
${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}send2trash>0:deskutils/py-send2trash@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}distro>0:sysutils/py-distro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}orjson>0:devel/py-orjson@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}markdown>0:textproc/py-markdown@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}beautifulsoup>0:www/py-beautifulsoup@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Flask>0:www/py-flask@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Flask-Cors>0:www/py-flask-cors@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}protobuf>=3.17:devel/py-protobuf@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}waitress>0:www/py-waitress@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}protobuf>=4.21:devel/py-protobuf@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}waitress>=2.0.0:www/py-waitress@${PY_FLAVOR}
# USES=ssl is required for the compilation of the Rust code
-USES= cargo desktop-file-utils go:modules,no_targets nodejs:build pyqt:6 \
- python:3.9+ shebangfix ssl
+USES= cargo desktop-file-utils ninja nodejs:build pyqt:6 python:3.9+ \
+ shebangfix ssl
USE_GITHUB= yes
GH_ACCOUNT= ankitects
# Translation files
-GH_TUPLE= ankitects:anki-core-i18n:f3f9912:ftlrslib \
- ankitects:anki-desktop-ftl:6e59ce7e:ftlextra
-# Bazel Skylib framework and sets of bazel rules
-GH_TUPLE+= bazelbuild:bazel-skylib:e59b620:bzlskylib \
- bazelbuild:rules_cc:40548a2:bzlrcc \
- bazelbuild:rules_java:c13e3ea:bzlrjava \
- bazelbuild:rules_nodejs:45e97fc:bzlrnodejs \
- bazelbuild:rules_proto:f7a30f6:bzlrproto \
- bazelbuild:rules_python:b842276:bzlrpython \
- ankitects:rules_rust:adf2790:bzlrrust \
- bazelbuild:rules_sass:d0cda22:bzlrsass
-# esbuild dependencies
-GH_TUPLE+= evanw:esbuild:${_MY_ESBUILDVER}:esbuild \
- golang:sys:aa78b53d3365:golang_sys
+GH_TUPLE= ankitects:anki-core-i18n:7638cf0:ftlrslib \
+ ankitects:anki-desktop-ftl:e1abce4:ftlextra
USE_PYQT= pyqt6 sip:build webengine
SHEBANG_FILES= qt/tools/runanki.system.in
-CARGO_CRATES= adler-1.0.2 \
+CARGO_CRATES= addr2line-0.19.0 \
+ adler-1.0.2 \
+ aes-0.7.5 \
ahash-0.7.6 \
- aho-corasick-0.7.18 \
- ammonia-3.1.4 \
- anyhow-1.0.56 \
- arc-swap-1.5.0 \
- arrayref-0.3.6 \
- arrayvec-0.4.12 \
+ aho-corasick-0.7.20 \
+ ammonia-3.3.0 \
+ android_system_properties-0.1.5 \
+ anes-0.1.6 \
+ anstream-0.2.6 \
+ anstyle-0.3.5 \
+ anstyle-parse-0.1.1 \
+ anstyle-wincon-0.2.0 \
+ anyhow-1.0.70 \
+ apple-bundles-0.17.0 \
+ arrayref-0.3.7 \
arrayvec-0.7.2 \
- async-trait-0.1.52 \
+ assert-json-diff-2.0.2 \
+ async-channel-1.8.0 \
+ async-compression-0.3.15 \
+ async-stream-0.3.4 \
+ async-stream-impl-0.3.4 \
+ async-trait-0.1.68 \
atty-0.2.14 \
autocfg-1.1.0 \
- base64-0.13.0 \
+ axum-0.6.12 \
+ axum-client-ip-0.3.1 \
+ axum-core-0.3.3 \
+ axum-macros-0.3.7 \
+ backtrace-0.3.67 \
+ base64-0.13.1 \
+ base64-0.21.0 \
+ base64ct-1.6.0 \
bitflags-1.3.2 \
- blake3-1.3.1 \
- block-buffer-0.10.2 \
+ bitflags-2.0.2 \
+ blake3-1.3.3 \
+ block-buffer-0.10.4 \
+ block-padding-0.3.2 \
bstr-0.2.17 \
- bumpalo-3.9.1 \
+ bstr-1.4.0 \
+ bumpalo-3.12.0 \
byteorder-1.4.3 \
- bytes-1.1.0 \
- cast-0.2.7 \
- cc-1.0.73 \
+ bytes-1.4.0 \
+ bzip2-0.4.4 \
+ bzip2-sys-0.1.11+1.0.8 \
+ camino-1.1.4 \
+ cast-0.3.0 \
+ cbc-0.1.2 \
+ cc-1.0.79 \
cfg-if-1.0.0 \
- chrono-0.4.19 \
- clap-2.34.0 \
- coarsetime-0.1.21 \
+ chrono-0.4.24 \
+ ciborium-0.2.0 \
+ ciborium-io-0.2.0 \
+ ciborium-ll-0.2.0 \
+ cipher-0.3.0 \
+ cipher-0.4.4 \
+ clap-3.2.23 \
+ clap-4.2.1 \
+ clap_builder-4.2.1 \
+ clap_complete-4.2.0 \
+ clap_derive-4.2.0 \
+ clap_lex-0.2.4 \
+ clap_lex-0.4.1 \
+ coarsetime-0.1.23 \
codespan-0.11.1 \
codespan-reporting-0.11.1 \
+ concolor-override-1.0.0 \
+ concolor-query-0.3.3 \
+ concurrent-queue-2.1.0 \
constant_time_eq-0.1.5 \
- convert_case-0.4.0 \
+ constant_time_eq-0.2.5 \
+ convert_case-0.6.0 \
core-foundation-0.9.3 \
core-foundation-sys-0.8.3 \
+ cpufeatures-0.2.6 \
crc32fast-1.3.2 \
- criterion-0.3.5 \
- criterion-plot-0.4.4 \
- crossbeam-channel-0.5.2 \
- crossbeam-deque-0.8.1 \
- crossbeam-epoch-0.9.7 \
- crossbeam-utils-0.8.7 \
- crypto-common-0.1.3 \
- cssparser-0.27.2 \
- cssparser-macros-0.6.0 \
- csv-1.1.6 \
- csv-core-0.1.10 \
- derive_more-0.99.17 \
- digest-0.10.3 \
- dirs-next-2.0.0 \
- dirs-sys-next-0.1.2 \
- dtoa-0.4.8 \
- dtoa-short-0.3.3 \
- dunce-1.0.2 \
- either-1.6.1 \
- encoding_rs-0.8.30 \
- env_logger-0.9.0 \
+ criterion-0.4.0 \
+ criterion-plot-0.5.0 \
+ crossbeam-channel-0.5.8 \
+ crossbeam-deque-0.8.3 \
+ crossbeam-epoch-0.9.14 \
+ crossbeam-utils-0.8.15 \
+ crypto-common-0.1.6 \
+ cxx-1.0.94 \
+ cxx-build-1.0.94 \
+ cxxbridge-flags-1.0.94 \
+ cxxbridge-macro-1.0.94 \
+ deadpool-0.9.5 \
+ deadpool-runtime-0.1.2 \
+ des-0.8.1 \
+ difflib-0.4.0 \
+ digest-0.10.6 \
+ displaydoc-0.2.3 \
+ doc-comment-0.3.3 \
+ duct-0.13.6 \
+ dunce-1.0.3 \
+ either-1.8.1 \
+ elasticlunr-rs-3.0.2 \
+ encoding_rs-0.8.32 \
+ env_logger-0.10.0 \
+ errno-0.3.0 \
+ errno-dragonfly-0.1.2 \
+ event-listener-2.5.3 \
fallible-iterator-0.2.0 \
fallible-streaming-iterator-0.1.9 \
- fastrand-1.7.0 \
- fixedbitset-0.4.1 \
- flate2-1.0.22 \
+ fastrand-1.9.0 \
+ filetime-0.2.20 \
+ find-winsdk-0.2.0 \
+ fixedbitset-0.4.2 \
+ flate2-1.0.25 \
fluent-0.16.0 \
fluent-bundle-0.15.2 \
fluent-langneg-0.13.0 \
@@ -141,306 +167,408 @@ CARGO_CRATES= adler-1.0.2 \
fnv-1.0.7 \
foreign-types-0.3.2 \
foreign-types-shared-0.1.1 \
- form_urlencoded-1.0.1 \
+ form_urlencoded-1.1.0 \
+ forwarded-header-value-0.1.1 \
+ fs2-0.4.3 \
+ fsevent-sys-4.1.0 \
futf-0.1.5 \
- futures-0.3.21 \
- futures-channel-0.3.21 \
- futures-core-0.3.21 \
- futures-executor-0.3.21 \
- futures-io-0.3.21 \
- futures-macro-0.3.21 \
- futures-sink-0.3.21 \
- futures-task-0.3.21 \
- futures-util-0.3.21 \
- fxhash-0.2.1 \
- generic-array-0.14.5 \
+ futures-0.3.28 \
+ futures-channel-0.3.28 \
+ futures-core-0.3.28 \
+ futures-executor-0.3.28 \
+ futures-io-0.3.28 \
+ futures-lite-1.12.0 \
+ futures-macro-0.3.28 \
+ futures-sink-0.3.28 \
+ futures-task-0.3.28 \
+ futures-timer-3.0.2 \
+ futures-util-0.3.28 \
+ generic-array-0.14.7 \
getopts-0.2.21 \
getrandom-0.1.16 \
- getrandom-0.2.5 \
- h2-0.3.12 \
+ getrandom-0.2.8 \
+ gimli-0.27.2 \
+ gitignore-1.0.7 \
+ glob-0.3.1 \
+ globset-0.4.10 \
+ h2-0.3.18 \
half-1.8.2 \
- hashbrown-0.11.2 \
- hashlink-0.7.0 \
- heck-0.3.3 \
+ handlebars-4.3.6 \
+ hashbrown-0.12.3 \
+ hashlink-0.8.1 \
+ headers-0.3.8 \
+ headers-core-0.2.0 \
+ heck-0.4.1 \
hermit-abi-0.1.19 \
+ hermit-abi-0.2.6 \
+ hermit-abi-0.3.1 \
hex-0.4.3 \
- html5ever-0.25.1 \
+ hmac-0.12.1 \
+ html5ever-0.26.0 \
htmlescape-0.3.1 \
- http-0.2.6 \
- http-body-0.4.4 \
- httparse-1.6.0 \
+ http-0.2.9 \
+ http-body-0.4.5 \
+ http-range-header-0.3.0 \
+ http-types-2.12.0 \
+ httparse-1.8.0 \
httpdate-1.0.2 \
humantime-2.1.0 \
- hyper-0.14.17 \
- hyper-rustls-0.22.1 \
+ hyper-0.14.25 \
+ hyper-rustls-0.23.2 \
hyper-tls-0.5.0 \
+ iana-time-zone-0.1.56 \
+ iana-time-zone-haiku-0.1.1 \
id_tree-1.8.0 \
- idna-0.2.3 \
- indexmap-1.8.0 \
- indoc-0.3.6 \
- indoc-impl-0.3.6 \
+ idna-0.3.0 \
+ indexmap-1.9.3 \
+ indoc-1.0.9 \
+ infer-0.2.3 \
inflections-1.1.1 \
+ inotify-0.9.6 \
+ inotify-sys-0.1.5 \
+ inout-0.1.3 \
instant-0.1.12 \
intl-memoizer-0.5.1 \
- intl_pluralrules-7.0.1 \
- ipnet-2.4.0 \
- itertools-0.10.3 \
- itoa-0.4.8 \
- itoa-1.0.1 \
- jobserver-0.1.24 \
- js-sys-0.3.56 \
- kuchiki-0.8.1 \
+ intl_pluralrules-7.0.2 \
+ io-lifetimes-1.0.9 \
+ ipnet-2.7.2 \
+ is-terminal-0.4.6 \
+ itertools-0.10.5 \
+ itoa-1.0.6 \
+ jobserver-0.1.26 \
+ js-sys-0.3.61 \
+ junction-1.0.0 \
+ kqueue-1.0.7 \
+ kqueue-sys-1.0.3 \
lazy_static-1.4.0 \
- libc-0.2.120 \
- libsqlite3-sys-0.23.2 \
- linkify-0.5.0 \
- lock_api-0.4.6 \
- log-0.4.14 \
+ libc-0.2.140 \
+ libsqlite3-sys-0.26.0 \
+ line-wrap-0.1.1 \
+ link-cplusplus-1.0.8 \
+ linkify-0.7.0 \
+ linux-raw-sys-0.3.1 \
+ lock_api-0.4.9 \
+ log-0.4.17 \
+ lzma-sys-0.1.20 \
mac-0.1.1 \
maplit-1.0.2 \
- markup5ever-0.10.1 \
- markup5ever_rcdom-0.1.0 \
- matches-0.1.9 \
- memchr-2.4.1 \
- memoffset-0.6.5 \
- mime-0.3.16 \
+ markup5ever-0.11.0 \
+ markup5ever_rcdom-0.2.0 \
+ matchers-0.1.0 \
+ matches-0.1.10 \
+ matchit-0.7.0 \
+ mdbook-0.4.28 \
+ memchr-2.5.0 \
+ memoffset-0.8.0 \
+ mime-0.3.17 \
mime_guess-2.0.4 \
minimal-lexical-0.2.1 \
- miniz_oxide-0.4.4 \
- mio-0.8.1 \
- miow-0.3.7 \
+ miniz_oxide-0.6.2 \
+ mio-0.8.6 \
+ multer-2.0.4 \
multimap-0.8.3 \
- native-tls-0.2.8 \
+ native-tls-0.2.11 \
new_debug_unreachable-1.0.4 \
- nodrop-0.1.14 \
- nom-7.1.1 \
- ntapi-0.3.7 \
- num-format-0.4.0 \
- num-integer-0.1.44 \
- num-traits-0.2.14 \
- num_cpus-1.13.1 \
- num_enum-0.5.7 \
- num_enum_derive-0.5.7 \
- num_threads-0.1.4 \
- once_cell-1.10.0 \
+ nom-7.1.3 \
+ nonempty-0.7.0 \
+ notify-5.1.0 \
+ notify-debouncer-mini-0.2.1 \
+ nu-ansi-term-0.46.0 \
+ num-format-0.4.4 \
+ num-integer-0.1.45 \
+ num-traits-0.2.15 \
+ num_cpus-1.15.0 \
+ num_enum-0.5.11 \
+ num_enum_derive-0.5.11 \
+ object-0.30.3 \
+ once_cell-1.17.1 \
oorandom-11.1.3 \
- openssl-0.10.38 \
+ opaque-debug-0.3.0 \
+ opener-0.5.2 \
+ openssl-0.10.48 \
+ openssl-macros-0.1.0 \
openssl-probe-0.1.5 \
- openssl-sys-0.9.72 \
- parking_lot-0.11.2 \
- parking_lot-0.12.0 \
- parking_lot_core-0.8.5 \
- parking_lot_core-0.9.1 \
- paste-0.1.18 \
- paste-impl-0.1.18 \
- percent-encoding-2.1.0 \
- petgraph-0.6.0 \
- phf-0.8.0 \
+ openssl-sys-0.9.83 \
+ os_pipe-1.1.3 \
+ os_str_bytes-6.5.0 \
+ overload-0.1.1 \
+ p12-0.6.3 \
+ parking-2.0.0 \
+ parking_lot-0.12.1 \
+ parking_lot_core-0.9.7 \
+ password-hash-0.4.2 \
+ pbkdf2-0.11.0 \
+ pem-1.1.1 \
+ percent-encoding-2.2.0 \
+ pest-2.5.7 \
+ pest_derive-2.5.7 \
+ pest_generator-2.5.7 \
+ pest_meta-2.5.7 \
+ petgraph-0.6.3 \
phf-0.10.1 \
- phf_codegen-0.8.0 \
- phf_generator-0.8.0 \
+ phf-0.11.1 \
+ phf_codegen-0.10.0 \
phf_generator-0.10.0 \
- phf_macros-0.8.0 \
- phf_macros-0.10.0 \
- phf_shared-0.8.0 \
+ phf_generator-0.11.1 \
+ phf_macros-0.11.1 \
phf_shared-0.10.0 \
- pin-project-1.0.10 \
- pin-project-internal-1.0.10 \
- pin-project-lite-0.2.8 \
+ phf_shared-0.11.1 \
+ pin-project-1.0.12 \
+ pin-project-internal-1.0.12 \
+ pin-project-lite-0.2.9 \
pin-utils-0.1.0 \
- pkg-config-0.3.24 \
- plotters-0.3.1 \
- plotters-backend-0.3.2 \
- plotters-svg-0.3.1 \
- ppv-lite86-0.2.16 \
+ pkg-config-0.3.26 \
+ plist-1.4.3 \
+ plotters-0.3.4 \
+ plotters-backend-0.3.4 \
+ plotters-svg-0.3.3 \
+ ppv-lite86-0.2.17 \
precomputed-hash-0.1.1 \
- proc-macro-crate-1.1.3 \
- proc-macro-hack-0.5.19 \
- proc-macro-nested-0.1.7 \
- proc-macro2-1.0.36 \
- prost-0.9.0 \
- prost-build-0.9.0 \
- prost-derive-0.9.0 \
- prost-types-0.9.0 \
+ prettyplease-0.1.25 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-hack-0.5.20+deprecated \
+ proc-macro2-1.0.54 \
+ prost-0.11.8 \
+ prost-build-0.11.8 \
+ prost-derive-0.11.8 \
+ prost-types-0.11.8 \
pulldown-cmark-0.8.0 \
- pyo3-0.15.1 \
- pyo3-build-config-0.15.1 \
- pyo3-macros-0.15.1 \
- pyo3-macros-backend-0.15.1 \
- quote-1.0.15 \
+ pulldown-cmark-0.9.2 \
+ pyo3-0.18.2 \
+ pyo3-build-config-0.18.2 \
+ pyo3-ffi-0.18.2 \
+ pyo3-macros-0.18.2 \
+ pyo3-macros-backend-0.18.2 \
+ quick-xml-0.28.1 \
+ quote-1.0.26 \
rand-0.7.3 \
rand-0.8.5 \
rand_chacha-0.2.2 \
rand_chacha-0.3.1 \
rand_core-0.5.1 \
- rand_core-0.6.3 \
+ rand_core-0.6.4 \
rand_hc-0.2.0 \
rand_pcg-0.2.1 \
- rayon-1.5.1 \
- rayon-core-1.9.1 \
- redox_syscall-0.2.11 \
- redox_users-0.4.0 \
- regex-1.5.6 \
+ rayon-1.7.0 \
+ rayon-core-1.11.0 \
+ rc2-0.8.1 \
+ rcgen-0.10.0 \
+ redox_syscall-0.2.16 \
+ redox_syscall-0.3.5 \
+ regex-1.7.3 \
regex-automata-0.1.10 \
- regex-syntax-0.6.26 \
- remove_dir_all-0.5.3 \
+ regex-syntax-0.6.29 \
+ reqwest-0.11.16 \
+ retain_mut-0.1.9 \
ring-0.16.20 \
- rusqlite-0.26.3 \
+ rusqlite-0.29.0 \
+ rustc-demangle-0.1.22 \
rustc-hash-1.1.0 \
- rustc_version-0.4.0 \
- rustls-0.19.1 \
- rustls-native-certs-0.5.0 \
- rustversion-1.0.6 \
- ryu-1.0.9 \
+ rustix-0.37.5 \
+ rustls-0.20.8 \
+ rustls-native-certs-0.6.2 \
+ rustls-pemfile-1.0.2 \
+ rustversion-1.0.12 \
+ ryu-1.0.13 \
+ safemem-0.3.3 \
same-file-1.0.6 \
- schannel-0.1.19 \
+ schannel-0.1.21 \
+ scoped-tls-1.0.1 \
scopeguard-1.1.0 \
- sct-0.6.1 \
- security-framework-2.6.1 \
- security-framework-sys-2.6.1 \
- selectors-0.22.0 \
+ scratch-1.0.5 \
+ sct-0.7.0 \
+ security-framework-2.8.2 \
+ security-framework-sys-2.8.0 \
self_cell-0.10.2 \
- semver-1.0.6 \
- serde-1.0.136 \
- serde-aux-3.0.1 \
- serde_cbor-0.11.2 \
- serde_derive-1.0.136 \
- serde_json-1.0.79 \
- serde_repr-0.1.7 \
+ semver-1.0.17 \
+ serde-1.0.159 \
+ serde-aux-4.1.2 \
+ serde_derive-1.0.159 \
+ serde_json-1.0.95 \
+ serde_path_to_error-0.1.11 \
+ serde_qs-0.8.5 \
+ serde_repr-0.1.12 \
serde_tuple-0.5.0 \
serde_tuple_macros-0.5.0 \
serde_urlencoded-0.7.1 \
- servo_arc-0.1.1 \
- sha1-0.6.1 \
- sha1_smol-1.0.0 \
- signal-hook-registry-1.4.0 \
+ sha1-0.10.5 \
+ sha2-0.10.6 \
+ sharded-slab-0.1.4 \
+ shared_child-1.0.0 \
+ shlex-1.1.0 \
+ signal-hook-registry-1.4.1 \
+ simple-file-manifest-0.11.0 \
siphasher-0.3.10 \
- slab-0.4.5 \
- slog-2.7.0 \
- slog-async-2.7.0 \
- slog-envlogger-2.2.0 \
- slog-scope-4.4.0 \
- slog-stdlog-4.1.0 \
- slog-term-2.9.0 \
- smallvec-1.8.0 \
+ slab-0.4.8 \
+ smallvec-1.10.0 \
+ snafu-0.7.4 \
+ snafu-derive-0.7.4 \
snowflake-1.3.0 \
- socket2-0.4.4 \
+ socket2-0.4.9 \
spin-0.5.2 \
- stable_deref_trait-1.2.0 \
- string_cache-0.8.3 \
- string_cache_codegen-0.5.1 \
- strum-0.23.0 \
- strum_macros-0.23.1 \
+ spin-0.9.8 \
+ string_cache-0.8.7 \
+ string_cache_codegen-0.5.2 \
+ strsim-0.10.0 \
+ strum-0.24.1 \
+ strum_macros-0.24.3 \
subtle-2.4.1 \
- syn-1.0.88 \
- take_mut-0.2.2 \
- tempfile-3.3.0 \
- tendril-0.4.2 \
- term-0.7.0 \
- termcolor-1.1.3 \
- textwrap-0.11.0 \
- thin-slice-0.1.1 \
- thiserror-1.0.30 \
- thiserror-impl-1.0.30 \
- thread_local-1.1.4 \
- time-0.1.44 \
- time-0.3.7 \
- time-macros-0.2.3 \
- tinystr-0.3.4 \
+ syn-1.0.109 \
+ syn-2.0.12 \
+ sync_wrapper-0.1.2 \
+ tar-0.4.38 \
+ target-lexicon-0.12.6 \
+ tempfile-3.5.0 \
+ tendril-0.4.3 \
+ termcolor-1.2.0 \
+ terminal_size-0.2.6 \
+ textwrap-0.16.0 \
+ thiserror-1.0.40 \
+ thiserror-impl-1.0.40 \
+ thread_local-1.1.7 \
+ time-0.3.20 \
+ time-core-0.1.0 \
+ time-macros-0.2.8 \
+ tinystr-0.7.1 \
tinytemplate-1.2.1 \
- tinyvec-1.5.1 \
- tinyvec_macros-0.1.0 \
- tokio-1.17.0 \
- tokio-macros-1.7.0 \
- tokio-native-tls-0.3.0 \
- tokio-rustls-0.22.0 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.27.0 \
+ tokio-macros-2.0.0 \
+ tokio-native-tls-0.3.1 \
+ tokio-rustls-0.23.4 \
tokio-socks-0.5.1 \
- tokio-util-0.6.9 \
- toml-0.5.8 \
- tower-service-0.3.1 \
- tracing-0.1.32 \
- tracing-core-0.1.23 \
- try-lock-0.2.3 \
+ tokio-stream-0.1.12 \
+ tokio-tungstenite-0.18.0 \
+ tokio-util-0.7.7 \
+ toml-0.5.11 \
+ toml_datetime-0.6.1 \
+ toml_edit-0.19.8 \
+ topological-sort-0.2.2 \
+ tower-0.4.13 \
+ tower-http-0.4.0 \
+ tower-layer-0.3.2 \
+ tower-service-0.3.2 \
+ tracing-0.1.37 \
+ tracing-appender-0.2.2 \
+ tracing-attributes-0.1.23 \
+ tracing-core-0.1.30 \
+ tracing-log-0.1.3 \
+ tracing-subscriber-0.3.16 \
+ try-lock-0.2.4 \
+ tugger-common-0.10.0 \
+ tugger-windows-0.10.0 \
+ tugger-windows-codesign-0.10.0 \
+ tungstenite-0.18.0 \
type-map-0.4.0 \
- typenum-1.15.0 \
+ typenum-1.16.0 \
+ ucd-trie-0.1.5 \
unic-char-property-0.9.0 \
unic-char-range-0.9.0 \
unic-common-0.9.0 \
- unic-langid-0.9.0 \
- unic-langid-impl-0.9.0 \
- unic-langid-macros-0.9.0 \
- unic-langid-macros-impl-0.9.0 \
+ unic-langid-0.9.1 \
+ unic-langid-impl-0.9.1 \
+ unic-langid-macros-0.9.1 \
+ unic-langid-macros-impl-0.9.1 \
unic-ucd-category-0.9.0 \
unic-ucd-version-0.9.0 \
unicase-2.6.0 \
- unicode-bidi-0.3.7 \
- unicode-normalization-0.1.19 \
- unicode-segmentation-1.9.0 \
- unicode-width-0.1.9 \
- unicode-xid-0.2.2 \
- unindent-0.1.8 \
+ unicode-bidi-0.3.13 \
+ unicode-ident-1.0.8 \
+ unicode-normalization-0.1.22 \
+ unicode-segmentation-1.10.1 \
+ unicode-width-0.1.10 \
+ unindent-0.1.11 \
untrusted-0.7.1 \
- url-2.2.2 \
+ url-2.3.1 \
utf-8-0.7.6 \
- utf8-decode-1.0.1 \
+ utf8parse-0.2.1 \
utime-0.3.1 \
+ valuable-0.1.0 \
vcpkg-0.2.15 \
version_check-0.9.4 \
- walkdir-2.3.2 \
+ waker-fn-1.1.0 \
+ walkdir-2.3.3 \
want-0.3.0 \
+ warp-0.3.4 \
wasi-0.9.0+wasi-snapshot-preview1 \
- wasi-0.10.0+wasi-snapshot-preview1 \
wasi-0.11.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.79 \
- wasm-bindgen-backend-0.2.79 \
- wasm-bindgen-futures-0.4.29 \
- wasm-bindgen-macro-0.2.79 \
- wasm-bindgen-macro-support-0.2.79 \
- wasm-bindgen-shared-0.2.79 \
- web-sys-0.3.56 \
- webpki-0.21.4 \
- webpki-roots-0.21.1 \
- which-4.2.4 \
+ 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 \
+ wasm-streams-0.2.3 \
+ web-sys-0.3.61 \
+ webpki-0.22.0 \
+ webpki-roots-0.22.6 \
+ which-4.4.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.32.0 \
- windows_aarch64_msvc-0.32.0 \
- windows_i686_gnu-0.32.0 \
- windows_i686_msvc-0.32.0 \
- windows_x86_64_gnu-0.32.0 \
- windows_x86_64_msvc-0.32.0 \
- winreg-0.7.0 \
- xml5ever-0.16.2 \
- zip-0.5.13 \
- zstd-0.10.0+zstd.1.5.2 \
- zstd-safe-4.1.4+zstd.1.5.2 \
- zstd-sys-1.6.3+zstd.1.5.2 \
- reqwest@git+https://github.com/ankitects/reqwest.git?rev=7591444614de02b658ddab125efba7b2bb4e2335\#7591444614de02b658ddab125efba7b2bb4e2335 \
- hyper-timeout@git+https://github.com/ankitects/hyper-timeout.git?rev=0cb6f7d14c62819e37cd221736f8b0555e823712\#0cb6f7d14c62819e37cd221736f8b0555e823712 \
+ windows-0.48.0 \
+ windows-sys-0.42.0 \
+ windows-sys-0.45.0 \
+ windows-sys-0.48.0 \
+ windows-targets-0.42.2 \
+ windows-targets-0.48.0 \
+ windows_aarch64_gnullvm-0.42.2 \
+ windows_aarch64_gnullvm-0.48.0 \
+ windows_aarch64_msvc-0.42.2 \
+ windows_aarch64_msvc-0.48.0 \
+ windows_i686_gnu-0.42.2 \
+ windows_i686_gnu-0.48.0 \
+ windows_i686_msvc-0.42.2 \
+ windows_i686_msvc-0.48.0 \
+ windows_x86_64_gnu-0.42.2 \
+ windows_x86_64_gnu-0.48.0 \
+ windows_x86_64_gnullvm-0.42.2 \
+ windows_x86_64_gnullvm-0.48.0 \
+ windows_x86_64_msvc-0.42.2 \
+ windows_x86_64_msvc-0.48.0 \
+ winnow-0.4.1 \
+ winreg-0.5.1 \
+ winreg-0.10.1 \
+ wiremock-0.5.17 \
+ xattr-0.2.3 \
+ xml5ever-0.17.0 \
+ xz2-0.1.7 \
+ yasna-0.5.1 \
+ zip-0.6.4 \
+ zstd-0.11.2+zstd.1.5.2 \
+ zstd-0.12.3+zstd.1.5.2 \
+ zstd-safe-5.0.2+zstd.1.5.2 \
+ zstd-safe-6.0.4+zstd.1.5.4 \
+ zstd-sys-2.0.7+zstd.1.5.4 \
+ percent-encoding@git+https://github.com/ankitects/rust-url.git?rev=06a87b6c31c7e9a856a3fb058cb30b204c05b650\#06a87b6c31c7e9a856a3fb058cb30b204c05b650 \
csv,csv-core@git+https://github.com/ankitects/rust-csv.git?rev=1c9d3aab6f79a7d815c69f925a46a4590c115f90\#1c9d3aab6f79a7d815c69f925a46a4590c115f90 \
- linkcheck@git+https://github.com/ankitects/linkcheck.git?rev=2f20798ce521cc594d510d4e417e76d5eac04d4b\#2f20798ce521cc594d510d4e417e76d5eac04d4b \
- tokio-io-timeout@git+https://github.com/ankitects/tokio-io-timeout.git?rev=1ee0892217e9a76bba4bb369ec5fab8854935a3c\#1ee0892217e9a76bba4bb369ec5fab8854935a3c \
- pct-str@git+https://github.com/timothee-haudebourg/pct-str.git?rev=4adccd8d4a222ab2672350a102f06ae832a0572d\#4adccd8d4a222ab2672350a102f06ae832a0572d
+ linkcheck@git+https://github.com/ankitects/linkcheck.git?rev=184b2ca50ed39ca43da13f0b830a463861adb9ca\#184b2ca50ed39ca43da13f0b830a463861adb9ca
-CARGO_CARGOTOML= ${WRKSRC}/pylib/rsbridge/Cargo.toml
+CARGO_CARGOTOML= ${WRKSRC}/Cargo.toml
CARGO_BUILD= no
CARGO_INSTALL= no
-# BAZEL=1 is required otherwise ${WRKSRC}/rslib/build/main.rs produces a dummy
-# buildinfo.txt that doesn't contain the actual build hash.
-CARGO_ENV= BAZEL=1 \
- BUILDINFO=${_MY_LOCALREPO}/rust_output/buildinfo.txt \
- PYO3_PYTHON=${PYTHON_CMD} \
- PROTO_TOP=${WRKSRC}/proto/.top_level \
- PROTOC=${LOCALBASE}/bin/protoc \
- BACKEND_PROTO=${WRKSRC}/rslib/backend.proto \
- RSLIB_FTL_ROOT=${WRKSRC_ftlrslib}/l10n.toml \
- EXTRA_FTL_ROOT=${WRKSRC_ftlextra}/l10n.toml
+CARGO_TARGET_DIR= ${WRKSRC}/out/rust
-GO_TARGET= ./cmd/esbuild:esbuild
+# Custom variables introduced to the runner build system via patches
+MAKE_ENV+= NO_BUNDLE=1 \
+ NO_VENV=1 \
+ OFFLINE_BUILD=1 \
+ OFFLINE_YARNCACHE=${_MY_YARNCACHE}
+# Variables already known and used by the "runner" build system
+MAKE_ENV+= NODE_BINARY=${LOCALBASE}/bin/node \
+ PROTOC_BINARY=${LOCALBASE}/bin/protoc \
+ PYTHON_BINARY=${PYTHON_CMD} \
+ YARN_BINARY=${LOCALBASE}/bin/yarn \
+ out=${WRKSRC}/out
+# If RELEASE is unset the "runner" build system omits the
+# "--release" flag for cargo(1).
+.if !defined(WITH_DEBUG)
+MAKE_ENV+= RELEASE=1
+.endif
OPTIONS_DEFAULT= MPV
OPTIONS_GROUP= PLAYER
@@ -455,162 +583,69 @@ MPV_RUN_DEPENDS= mpv:multimedia/mpv
# Should contain the most recent commit that reflects ${DISTVERSION} and must
# be exactly 8 digits otherwise the check for newer versions won't work as
# expected.
-_MY_BUILDHASH= b6a7760c
-# Required version of esbuild that is pre-built. This is because the JS
-# counterpart of esbuild, which is used by the NodeJS ruleset for Bazel, has a
-# fixed version check for the binary version.
-_MY_ESBUILDVER= v0.14.11
-# Path of the local bazel repositories
-_MY_LOCALREPO= ${WRKSRC}/local_repos
-# Path of caches that are used by www/npm and www/yarn
-_MY_NPMCACHE= ${WRKDIR}/.npm
+_MY_BUILDHASH= 77dd1dc1
+# Remove ${CARGO_BUILD_TARGET} from ${CARGO_ENV} to avoid problems with
+# hardcoded paths as the "runner" build system expects its components
+# in ${WRKSRC}/out/rust/debug
+_MY_CARGO_ENV= ${CARGO_ENV:C/CARGO_BUILD_TARGET=.+//}
+# Path of the cache that is used by www/yarn
_MY_YARNCACHE= ${WRKDIR}/.yarn
post-extract:
- # Create a configuration file for bazel
- @${ECHO_CMD} "startup --batch" > ${WRKSRC}/user.bazelrc
- # Create local repositories which are used by bazel
- @${MKDIR} ${_MY_LOCALREPO} \
- ${_MY_LOCALREPO}/local_esbuild/bin \
- ${_MY_LOCALREPO}/local_node/node/bin \
- ${_MY_LOCALREPO}/local_node/node/lib \
- ${_MY_LOCALREPO}/local_node/yarn/bin \
- ${_MY_LOCALREPO}/protoc_bin_freebsd/bin \
- ${_MY_LOCALREPO}/rust_output/librsbridge \
- ${_MY_LOCALREPO}/rust_output/strings_json
- # Create empty WORKSPACE files in the top directory of each local
- # repository
- @${TOUCH} ${_MY_LOCALREPO}/local_esbuild/WORKSPACE \
- ${_MY_LOCALREPO}/local_node/WORKSPACE \
- ${_MY_LOCALREPO}/protoc_bin_freebsd/WORKSPACE
- # Copy the bazel rules for NodeJS to the custom local repository
- # as they need some patching
- @${CP} -r ${WRKSRC_bzlrnodejs} ${_MY_LOCALREPO}/rules_nodejs
- # Link the remaining bazel rules into the custom local repository as
- # they don't need to be patched
-.for _dir in bzlskylib bzlrcc bzlrjava bzlrproto bzlrpython bzlrrust bzlrsass
- @${RLN} ${WRKSRC_${_dir}} ${_MY_LOCALREPO}/${_dir:S/bzlr/rules_/}
-.endfor
- # Prepare the Go environment for esbuild
- @${MKDIR} ${WRKSRC_esbuild}/vendor/golang.org/x
- @${RLN} ${WRKSRC_golang_sys} ${WRKSRC_esbuild}/vendor/golang.org/x/sys
- # Copy custom BUILD.bazel files to the local repositories
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-local_esbuild \
- ${_MY_LOCALREPO}/local_esbuild/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-local_node \
- ${_MY_LOCALREPO}/local_node/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-protoc_bin_freebsd \
- ${_MY_LOCALREPO}/protoc_bin_freebsd/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-librsbridge \
- ${_MY_LOCALREPO}/rust_output/librsbridge/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-strings_json \
- ${_MY_LOCALREPO}/rust_output/strings_json/BUILD.bazel
- # Move some files out of the way as they will be replaced by custom copies.
- @${MV} ${WRKSRC}/repos.bzl ${WRKSRC}/repos.bzl.dist
- @${MV} ${WRKSRC}/pylib/rsbridge/BUILD.bazel ${WRKSRC}/pylib/rsbridge/BUILD.bazel.dist
- @${MV} ${WRKSRC}/rslib/i18n/BUILD.bazel ${WRKSRC}/rslib/i18n/BUILD.bazel.dist
- # Copy the replacement files
- @${CP} ${FILESDIR}/bazel/repos.bzl ${WRKSRC}/
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-pylib-rsbridge \
- ${WRKSRC}/pylib/rsbridge/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-rslib-i18n \
- ${WRKSRC}/rslib/i18n/BUILD.bazel
+# Some parts of the runner build system expects to be in a git repository
+ @${TOUCH} ${WRKSRC}/.git
+# Prepare the virtual repositories for the translation files
+ @${RM} -r ${WRKSRC}/ftl/core-repo ${WRKSRC}/ftl/qt-repo
+ @${RLN} ${WRKSRC_ftlrslib} ${WRKSRC}/ftl/core-repo
+ @${RLN} ${WRKSRC_ftlextra} ${WRKSRC}/ftl/qt-repo
post-patch:
- @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
- ${_MY_LOCALREPO}/rules_nodejs/internal/node/node_patches.js
@${REINPLACE_CMD} -e 's|\@PREFIX\@|${PREFIX}|' \
${WRKSRC}/qt/tools/runanki.system.in
- @${REINPLACE_CMD} -e 's|%%_MY_BUILDHASH%%|${_MY_BUILDHASH}|' \
- ${WRKSRC}/tools/status.sh
- @${REINPLACE_CMD} -e 's|%%_MY_LOCALREPO%%|${_MY_LOCALREPO}|g' \
- ${WRKSRC}/proto/protobuf.bzl \
- ${WRKSRC}/repos.bzl \
- ${_MY_LOCALREPO}/rules_nodejs/toolchains/esbuild/esbuild_repositories.bzl
- @${REINPLACE_CMD} -e 's|%%_MY_YARNCACHE%%|${_MY_YARNCACHE}|' \
- ${_MY_LOCALREPO}/rules_nodejs/internal/npm_install/npm_install.bzl
pre-configure:
- # Link the binaries of Node, Protobuf and Yarn into the local bazel
- # repositories to provide them during build.
- ${LN} -s ${LOCALBASE}/bin/node ${_MY_LOCALREPO}/local_node/node/bin/node
- ${LN} -s ${LOCALBASE}/lib/node_modules ${_MY_LOCALREPO}/local_node/node/lib/node_modules
- ${LN} -s ${LOCALBASE}/bin/yarn.js ${_MY_LOCALREPO}/local_node/yarn/bin/yarn.js
- ${LN} -s ${LOCALBASE}/bin/protoc ${_MY_LOCALREPO}/protoc_bin_freebsd/bin/protoc
+ # Create paths for the Python pseudo venv and link some binaries to it.
+ ${MKDIR} ${WRKSRC}/out/pyenv/bin
+ ${LN} -s ${PYTHON_CMD} ${WRKSRC}/out/pyenv/bin/python
+ ${LN} -s ${LOCALBASE}/bin/protoc-gen-mypy ${WRKSRC}/out/pyenv/bin/protoc-gen-mypy
# Overview of the build process
#
-# Steps 1 and 2 are built separately from the bazel build process.
-#
-# 1. rslib (Rust library, implictly built by step 2)
-# `-> produces ${_MY_LOCALREPO}/rust_output/strings_json/strings.json
-# 2. pylib/rsbridge (Rust/Python bridge)
-# `-> produces ${_MY_LOCALREPO}/rust_output/librsbridge/librsbridge.so
-# 3. The remaining components (Python, Qt5 and JS) are built by bazel
+# 1. The "runner" build system is built without the "--release" flag to avoid
+# issues with hardcoded paths. Once completed the binaries are placed
+# into ${WRKSRC}/out/rust/debug.
+# 2. As soon as step 1 is finished, the "runner" build system is executed,
+# which then processes the following steps:
+# * build remaining components of "runner" (= ninja_gen, configure, etc.)
+# * generate the ninja file and run ninja afterwards
+# * create the Python wheel files in ${WRKSRC}/out/wheels
pre-build:
- ${ECHO_MSG} "===> Building vendored esbuild binary with Go"
- (cd ${WRKSRC_esbuild} ; \
- for t in ${GO_TARGET}; do \
- out=$$(${BASENAME} $$(${ECHO_CMD} $${t} | \
- ${SED} -Ee 's/^[^:]*:([^:]+).*$$/\1/' -e 's/^\.$$/esbuild/')); \
- pkg=$$(${ECHO_CMD} $${t} | \
- ${SED} -Ee 's/^([^:]*).*$$/\1/' -e 's/^esbuild$$/./'); \
- ${ECHO_MSG} "===> Building $${out} from $${pkg}"; \
- ${SETENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=off ${GO_CMD} build ${GO_BUILDFLAGS} \
- -o ${GO_WRKDIR_BIN}/$${out} \
- $${pkg}; \
- done)
- ${CP} ${GO_WRKDIR_BIN}/esbuild ${_MY_LOCALREPO}/local_esbuild/bin/
- ${ECHO_MSG} "===> Building library with Rust"
- # Generate buildinfo.txt which is used via BUILDINFO in ${CARGO_ENV} during
- # compilation.
- ${ECHO_CMD} -e "STABLE_VERSION ${DISTVERSION}\nSTABLE_BUILDHASH ${_MY_BUILDHASH}" >> ${_MY_LOCALREPO}/rust_output/buildinfo.txt
- ${CARGO_CARGO_RUN} build \
- --manifest-path ${CARGO_CARGOTOML} \
- --verbose \
- ${CARGO_BUILD_ARGS}
- # These files are required for the remaining build process via bazel so copy
- # them the local repository.
- ${CP} `${FIND} ${CARGO_TARGET_DIR} -name "librsbridge.so"` ${_MY_LOCALREPO}/rust_output/librsbridge/
- ${CP} `${FIND} ${CARGO_TARGET_DIR} -name "strings.json"` ${_MY_LOCALREPO}/rust_output/strings_json/
-
+ ${ECHO_CMD} -e "${_MY_BUILDHASH}" >> ${WRKSRC}/out/buildhash
+ ${ECHO_MSG} "===> Building runner build framework"
+ cd ${WRKSRC} && ${SET_ENV} ${MAKE_ENV} ${_MY_CARGO_ENV} \
+ ${CARGO} build --package runner --verbose --verbose
do-build:
- # Limit bazel jobs to 1 due random build failures while compiling TS files
- # via "tsc".
- cd ${WRKSRC} && \
- bazel --output_user_root="${WRKDIR}/.bazel" build \
- --action_env=npm_config_cache="${_MY_NPMCACHE}" \
- --action_env=npm_config_offline="true" \
- --action_env=PYO3_PYTHON="${PYTHON_CMD}" \
- --action_env=PYTHON_SITE_PACKAGES="${PYTHON_SITELIBDIR}" \
- --action_env=PYTHON_SYS_EXECUTABLE="${PYTHON_CMD}" \
- --color=no \
- --compilation_mode opt \
- --config opt \
- --jobs=1 \
- --subcommands \
- --show_progress_rate_limit=-1 \
- wheels
+ ${ECHO_MSG} "===> Executing runner build framework"
+ cd ${WRKSRC} && ${SET_ENV} ${MAKE_ENV} ${_MY_CARGO_ENV} \
+ ${WRKSRC}/out/rust/debug/runner build wheels
post-build:
- ${MKDIR} ${WRKSRC}/bazel-dist
- ${TAR} -xf `${FIND} ${WRKDIR}/.bazel -name "wheels.tar"` -C ${WRKSRC}/bazel-dist
- cd ${WRKSRC}/bazel-dist && \
- ${UNZIP_NATIVE_CMD} anki-${DISTVERSION}-*.whl && \
- ${UNZIP_NATIVE_CMD} aqt-${DISTVERSION}-*.whl
- # Compile Anki's Python libary (pylib) and Qt5 library (aqt) to prepare
- # them for installation
- ${PYTHON_CMD} -m compileall ${WRKSRC}/bazel-dist/anki
- ${PYTHON_CMD} -O -m compileall ${WRKSRC}/bazel-dist/anki
- ${PYTHON_CMD} -m compileall ${WRKSRC}/bazel-dist/aqt
- ${PYTHON_CMD} -O -m compileall ${WRKSRC}/bazel-dist/aqt
+ ${MKDIR} ${WRKSRC}/out/dist
+ cd ${WRKSRC}/out/wheels \
+ && ${UNZIP_NATIVE_CMD} -d ${WRKSRC}/out/dist anki*.whl \
+ && ${UNZIP_NATIVE_CMD} -d ${WRKSRC}/out/dist aqt*.whl
+# Update the timestamps otherwise the set dates of the wheels
+# (= 1980-01-01 00:00:00) are used
+ ${FIND} ${WRKSRC}/out/dist -type f -exec ${TOUCH} {} +
do-install:
- ${MKDIR} ${STAGEDIR}${DATADIR}/anki \
+ ${MKDIR} ${STAGEDIR}${DATADIR}/_aqt \
+ ${STAGEDIR}${DATADIR}/anki \
${STAGEDIR}${DATADIR}/aqt \
${STAGEDIR}${PREFIX}/share/pixmaps \
${STAGEDIR}${PREFIX}/share/applications
- cd ${WRKSRC}/bazel-dist/ \
+ cd ${WRKSRC}/out/dist/ \
+ && ${COPYTREE_SHARE} _aqt ${STAGEDIR}${DATADIR} "! -name .gitignore" \
&& ${COPYTREE_SHARE} anki ${STAGEDIR}${DATADIR} "! -name .gitignore" \
&& ${COPYTREE_SHARE} aqt ${STAGEDIR}${DATADIR} "! -name .gitignore"
cd ${WRKSRC}/qt/bundle/lin \
@@ -619,28 +654,15 @@ do-install:
&& ${INSTALL_MAN} anki.1 ${STAGEDIR}${MANPREFIX}/man/man1
cd ${WRKSRC}/qt/tools \
&& ${INSTALL_SCRIPT} runanki.system.in ${STAGEDIR}${PREFIX}/bin/anki
- ${STRIP_CMD} ${STAGEDIR}${DATADIR}/anki/_backend/rsbridge.so
-
-# Helper target to make the generation of the npm cache easier (only required for esbuild-npm)
-make-npm-cache: patch
- @cd ${WRKDIR} && ${RM} -r ${_MY_NPMCACHE}
- @cd ${WRKSRC_bzlrnodejs}/toolchains/esbuild/ \
- && ${SETENV} HOME=${WRKDIR} ${LOCALBASE}/bin/npm install --no-optional --ignore-scripts
- @cd ${_MY_NPMCACHE} \
- && ${RM} -r _locks anonymous-cli-metrics.json
- @cd ${WRKDIR} \
- && ${TAR} -czf ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX} .npm \
- && ${ECHO_CMD} "Please upload the file ${WRKDIR}/${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}"
+ ${STRIP_CMD} ${STAGEDIR}${DATADIR}/anki/_rsbridge.so
# Helper target to make the generation of the yarn cache easier
make-yarn-cache: patch
@${RM} -r ${_MY_YARNCACHE}
- @cd ${WRKSRC}/ts \
- && ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
- @cd ${WRKSRC_bzlrnodejs}/packages/labs/grpc_web/ \
- && ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
- @cd ${WRKSRC_bzlrsass}/sass \
- && ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
+ @cd ${WRKSRC} \
+ && ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install --ignore-scripts
+ @cd ${WRKSRC} \
+ && ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} add patch-package
@cd ${WRKDIR} \
&& ${TAR} -czf ${PORTNAME}-yarn-cache-${DISTVERSION}${EXTRACT_SUFX} .yarn \
&& ${ECHO_CMD} "Please upload the file ${WRKDIR}/${PORTNAME}-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}"
diff --git a/games/anki/distinfo b/games/anki/distinfo
index ca7baf22ee3c..542d11abab90 100644
--- a/games/anki/distinfo
+++ b/games/anki/distinfo
@@ -1,126 +1,224 @@
-TIMESTAMP = 1662406747
-SHA256 (anki-yarn-cache-2.1.54.tar.gz) = cc2a8185de1ec617a1d90c8108f0bf00fc28f7aa307e79c4e72040602d8f502d
-SIZE (anki-yarn-cache-2.1.54.tar.gz) = 141134171
-SHA256 (anki-npm-cache-2.1.54.tar.gz) = f137df731bdffd4d62c2d46d35913714180a4c2c52e8079376653d870631ab0d
-SIZE (anki-npm-cache-2.1.54.tar.gz) = 3261225
+TIMESTAMP = 1683391409
+SHA256 (anki-yarn-cache-2.1.62.tar.gz) = 2df52b233c8b2c3b98d76efe2f7a1865e2cc001d2ed71ed5a07b572e3fd20b04
+SIZE (anki-yarn-cache-2.1.62.tar.gz) = 269394973
+SHA256 (rust/crates/addr2line-0.19.0.crate) = a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97
+SIZE (rust/crates/addr2line-0.19.0.crate) = 33210
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/ahash-0.7.6.crate) = fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47
SIZE (rust/crates/ahash-0.7.6.crate) = 38030
-SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
-SHA256 (rust/crates/ammonia-3.1.4.crate) = ea9f21d23d82bae9d33c21080572af1fa749788e68234b5d8fa5e39d3e0783ed
-SIZE (rust/crates/ammonia-3.1.4.crate) = 39875
-SHA256 (rust/crates/anyhow-1.0.56.crate) = 4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27
-SIZE (rust/crates/anyhow-1.0.56.crate) = 44780
-SHA256 (rust/crates/arc-swap-1.5.0.crate) = c5d78ce20460b82d3fa150275ed9d55e21064fc7951177baacf86a145c4a4b1f
-SIZE (rust/crates/arc-swap-1.5.0.crate) = 65351
-SHA256 (rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
-SIZE (rust/crates/arrayref-0.3.6.crate) = 10035
-SHA256 (rust/crates/arrayvec-0.4.12.crate) = cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9
-SIZE (rust/crates/arrayvec-0.4.12.crate) = 26551
+SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
+SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440
+SHA256 (rust/crates/ammonia-3.3.0.crate) = 64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170
+SIZE (rust/crates/ammonia-3.3.0.crate) = 46061
+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/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+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/apple-bundles-0.17.0.crate) = 716b8a7bacf7325eb3e7a1a7f5ead4da91e1e16d9b56a25edea0e1e4ba21fd8e
+SIZE (rust/crates/apple-bundles-0.17.0.crate) = 10405
+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-trait-0.1.52.crate) = 061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3
-SIZE (rust/crates/async-trait-0.1.52.crate) = 25913
+SHA256 (rust/crates/assert-json-diff-2.0.2.crate) = 47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12
+SIZE (rust/crates/assert-json-diff-2.0.2.crate) = 10874
+SHA256 (rust/crates/async-channel-1.8.0.crate) = cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833
+SIZE (rust/crates/async-channel-1.8.0.crate) = 13534
+SHA256 (rust/crates/async-compression-0.3.15.crate) = 942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a
+SIZE (rust/crates/async-compression-0.3.15.crate) = 58241
+SHA256 (rust/crates/async-stream-0.3.4.crate) = ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e
+SIZE (rust/crates/async-stream-0.3.4.crate) = 12419
+SHA256 (rust/crates/async-stream-impl-0.3.4.crate) = e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965
+SIZE (rust/crates/async-stream-impl-0.3.4.crate) = 4097
+SHA256 (rust/crates/async-trait-0.1.68.crate) = b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842
+SIZE (rust/crates/async-trait-0.1.68.crate) = 28625
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.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
-SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/axum-0.6.12.crate) = 349f8ccfd9221ee7d1f3d4b33e1f8319b3a81ed8f61f2ea40b37b859794b4491
+SIZE (rust/crates/axum-0.6.12.crate) = 139967
+SHA256 (rust/crates/axum-client-ip-0.3.1.crate) = ddfb5a3ddd6367075d50629546fb46710584016ae7704cd03b6d41cb5be82e5a
+SIZE (rust/crates/axum-client-ip-0.3.1.crate) = 10411
+SHA256 (rust/crates/axum-core-0.3.3.crate) = b2f958c80c248b34b9a877a643811be8dbca03ca5ba827f2b63baf3a81e5fc4e
+SIZE (rust/crates/axum-core-0.3.3.crate) = 20568
+SHA256 (rust/crates/axum-macros-0.3.7.crate) = 2bb524613be645939e280b7279f7b017f98cf7f5ef084ec374df373530e73277
+SIZE (rust/crates/axum-macros-0.3.7.crate) = 35825
+SHA256 (rust/crates/backtrace-0.3.67.crate) = 233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca
+SIZE (rust/crates/backtrace-0.3.67.crate) = 78564
+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/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b
+SIZE (rust/crates/base64ct-1.6.0.crate) = 28870
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/blake3-1.3.1.crate) = a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f
-SIZE (rust/crates/blake3-1.3.1.crate) = 157714
-SHA256 (rust/crates/block-buffer-0.10.2.crate) = 0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324
-SIZE (rust/crates/block-buffer-0.10.2.crate) = 10258
+SHA256 (rust/crates/bitflags-2.0.2.crate) = 487f1e0fcbe47deb8b0574e646def1c903389d95241dd1bbcc6ce4a715dfc0c1
+SIZE (rust/crates/bitflags-2.0.2.crate) = 32293
+SHA256 (rust/crates/blake3-1.3.3.crate) = 42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef
+SIZE (rust/crates/blake3-1.3.3.crate) = 159889
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/block-padding-0.3.2.crate) = 0a90ec2df9600c28a01c56c4784c9207a96d2451833aeceb8cc97e4c9548bb78
+SIZE (rust/crates/block-padding-0.3.2.crate) = 8452
SHA256 (rust/crates/bstr-0.2.17.crate) = ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223
SIZE (rust/crates/bstr-0.2.17.crate) = 330350
-SHA256 (rust/crates/bumpalo-3.9.1.crate) = a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899
-SIZE (rust/crates/bumpalo-3.9.1.crate) = 77507
+SHA256 (rust/crates/bstr-1.4.0.crate) = c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09
+SIZE (rust/crates/bstr-1.4.0.crate) = 345921
+SHA256 (rust/crates/bumpalo-3.12.0.crate) = 0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535
+SIZE (rust/crates/bumpalo-3.12.0.crate) = 81604
SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
-SIZE (rust/crates/bytes-1.1.0.crate) = 49640
-SHA256 (rust/crates/cast-0.2.7.crate) = 4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a
-SIZE (rust/crates/cast-0.2.7.crate) = 11222
-SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
-SIZE (rust/crates/cc-1.0.73.crate) = 57880
+SHA256 (rust/crates/bytes-1.4.0.crate) = 89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be
+SIZE (rust/crates/bytes-1.4.0.crate) = 58080
+SHA256 (rust/crates/bzip2-0.4.4.crate) = bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8
+SIZE (rust/crates/bzip2-0.4.4.crate) = 34197
+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/camino-1.1.4.crate) = c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2
+SIZE (rust/crates/camino-1.1.4.crate) = 32290
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/cbc-0.1.2.crate) = 26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6
+SIZE (rust/crates/cbc-0.1.2.crate) = 23501
+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/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (rust/crates/chrono-0.4.19.crate) = 155663
-SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c
-SIZE (rust/crates/clap-2.34.0.crate) = 202210
-SHA256 (rust/crates/coarsetime-0.1.21.crate) = 441947d9f3582f20b35fdd2bc5ada3a8c74c9ea380d66268607cb399b510ee08
-SIZE (rust/crates/coarsetime-0.1.21.crate) = 8167
+SHA256 (rust/crates/chrono-0.4.24.crate) = 4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b
+SIZE (rust/crates/chrono-0.4.24.crate) = 191330
+SHA256 (rust/crates/ciborium-0.2.0.crate) = b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f
+SIZE (rust/crates/ciborium-0.2.0.crate) = 30130
+SHA256 (rust/crates/ciborium-io-0.2.0.crate) = 346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369
+SIZE (rust/crates/ciborium-io-0.2.0.crate) = 2738
+SHA256 (rust/crates/ciborium-ll-0.2.0.crate) = 213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b
+SIZE (rust/crates/ciborium-ll-0.2.0.crate) = 10740
+SHA256 (rust/crates/cipher-0.3.0.crate) = 7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7
+SIZE (rust/crates/cipher-0.3.0.crate) = 12756
+SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
+SIZE (rust/crates/cipher-0.4.4.crate) = 19073
+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_complete-4.2.0.crate) = 01c22dcfb410883764b29953103d9ef7bb8fe21b3fa1158bc99986c2067294bd
+SIZE (rust/crates/clap_complete-4.2.0.crate) = 33353
+SHA256 (rust/crates/clap_derive-4.2.0.crate) = 3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4
+SIZE (rust/crates/clap_derive-4.2.0.crate) = 28953
+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/coarsetime-0.1.23.crate) = a90d114103adbc625300f346d4d09dfb4ab1c4a8df6868435dd903392ecf4354
+SIZE (rust/crates/coarsetime-0.1.23.crate) = 8953
SHA256 (rust/crates/codespan-0.11.1.crate) = 3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e
SIZE (rust/crates/codespan-0.11.1.crate) = 8895
SHA256 (rust/crates/codespan-reporting-0.11.1.crate) = 3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e
SIZE (rust/crates/codespan-reporting-0.11.1.crate) = 48963
+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/concurrent-queue-2.1.0.crate) = c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e
+SIZE (rust/crates/concurrent-queue-2.1.0.crate) = 19476
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/convert_case-0.4.0.crate) = 6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e
-SIZE (rust/crates/convert_case-0.4.0.crate) = 8098
+SHA256 (rust/crates/constant_time_eq-0.2.5.crate) = 13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b
+SIZE (rust/crates/constant_time_eq-0.2.5.crate) = 10021
+SHA256 (rust/crates/convert_case-0.6.0.crate) = ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca
+SIZE (rust/crates/convert_case-0.6.0.crate) = 18675
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.6.crate) = 280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181
+SIZE (rust/crates/cpufeatures-0.2.6.crate) = 11467
SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
-SHA256 (rust/crates/criterion-0.3.5.crate) = 1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10
-SIZE (rust/crates/criterion-0.3.5.crate) = 110662
-SHA256 (rust/crates/criterion-plot-0.4.4.crate) = d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57
-SIZE (rust/crates/criterion-plot-0.4.4.crate) = 22546
-SHA256 (rust/crates/crossbeam-channel-0.5.2.crate) = e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa
-SIZE (rust/crates/crossbeam-channel-0.5.2.crate) = 87842
-SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
-SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
-SHA256 (rust/crates/crossbeam-epoch-0.9.7.crate) = c00d6d2ea26e8b151d99093005cb442fb9a37aeaca582a03ec70946f49ab5ed9
-SIZE (rust/crates/crossbeam-epoch-0.9.7.crate) = 46089
-SHA256 (rust/crates/crossbeam-utils-0.8.7.crate) = b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6
-SIZE (rust/crates/crossbeam-utils-0.8.7.crate) = 39751
-SHA256 (rust/crates/crypto-common-0.1.3.crate) = 57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8
-SIZE (rust/crates/crypto-common-0.1.3.crate) = 8556
-SHA256 (rust/crates/cssparser-0.27.2.crate) = 754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a
-SIZE (rust/crates/cssparser-0.27.2.crate) = 56792
-SHA256 (rust/crates/cssparser-macros-0.6.0.crate) = dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e
-SIZE (rust/crates/cssparser-macros-0.6.0.crate) = 6684
-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/derive_more-0.99.17.crate) = 4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321
-SIZE (rust/crates/derive_more-0.99.17.crate) = 55771
-SHA256 (rust/crates/digest-0.10.3.crate) = f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506
-SIZE (rust/crates/digest-0.10.3.crate) = 18990
-SHA256 (rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
-SIZE (rust/crates/dirs-next-2.0.0.crate) = 11689
-SHA256 (rust/crates/dirs-sys-next-0.1.2.crate) = 4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d
-SIZE (rust/crates/dirs-sys-next-0.1.2.crate) = 10681
-SHA256 (rust/crates/dtoa-0.4.8.crate) = 56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0
-SIZE (rust/crates/dtoa-0.4.8.crate) = 16175
-SHA256 (rust/crates/dtoa-short-0.3.3.crate) = bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6
-SIZE (rust/crates/dtoa-short-0.3.3.crate) = 8198
-SHA256 (rust/crates/dunce-1.0.2.crate) = 453440c271cf5577fd2a40e4942540cb7d0d2f85e27c8d07dd0023c925a67541
-SIZE (rust/crates/dunce-1.0.2.crate) = 7953
-SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (rust/crates/either-1.6.1.crate) = 13641
-SHA256 (rust/crates/encoding_rs-0.8.30.crate) = 7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df
-SIZE (rust/crates/encoding_rs-0.8.30.crate) = 1370089
-SHA256 (rust/crates/env_logger-0.9.0.crate) = 0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3
-SIZE (rust/crates/env_logger-0.9.0.crate) = 33573
+SHA256 (rust/crates/criterion-0.4.0.crate) = e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb
+SIZE (rust/crates/criterion-0.4.0.crate) = 108978
+SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
+SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
+SHA256 (rust/crates/crossbeam-channel-0.5.8.crate) = a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200
+SIZE (rust/crates/crossbeam-channel-0.5.8.crate) = 90455
+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/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/cxx-1.0.94.crate) = f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93
+SIZE (rust/crates/cxx-1.0.94.crate) = 196058
+SHA256 (rust/crates/cxx-build-1.0.94.crate) = 12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b
+SIZE (rust/crates/cxx-build-1.0.94.crate) = 84842
+SHA256 (rust/crates/cxxbridge-flags-1.0.94.crate) = 7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb
+SIZE (rust/crates/cxxbridge-flags-1.0.94.crate) = 5253
+SHA256 (rust/crates/cxxbridge-macro-1.0.94.crate) = 2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5
+SIZE (rust/crates/cxxbridge-macro-1.0.94.crate) = 59873
+SHA256 (rust/crates/deadpool-0.9.5.crate) = 421fe0f90f2ab22016f32a9881be5134fdd71c65298917084b0c7477cbc3856e
+SIZE (rust/crates/deadpool-0.9.5.crate) = 32190
+SHA256 (rust/crates/deadpool-runtime-0.1.2.crate) = eaa37046cc0f6c3cc6090fbdbf73ef0b8ef4cfcc37f6befc0020f63e8cf121e1
+SIZE (rust/crates/deadpool-runtime-0.1.2.crate) = 2926
+SHA256 (rust/crates/des-0.8.1.crate) = ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e
+SIZE (rust/crates/des-0.8.1.crate) = 38783
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/digest-0.10.6.crate) = 8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f
+SIZE (rust/crates/digest-0.10.6.crate) = 19527
+SHA256 (rust/crates/displaydoc-0.2.3.crate) = 3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886
+SIZE (rust/crates/displaydoc-0.2.3.crate) = 17060
+SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
+SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
+SHA256 (rust/crates/duct-0.13.6.crate) = 37ae3fc31835f74c2a7ceda3aeede378b0ae2e74c8f1c36559fcc9ae2a4e7d3e
+SIZE (rust/crates/duct-0.13.6.crate) = 29320
+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/elasticlunr-rs-3.0.2.crate) = 41e83863a500656dfa214fee6682de9c5b9f03de6860fec531235ed2ae9f6571
+SIZE (rust/crates/elasticlunr-rs-3.0.2.crate) = 109533
+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/event-listener-2.5.3.crate) = 0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0
+SIZE (rust/crates/event-listener-2.5.3.crate) = 15392
SHA256 (rust/crates/fallible-iterator-0.2.0.crate) = 4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7
SIZE (rust/crates/fallible-iterator-0.2.0.crate) = 18509
SHA256 (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a
SIZE (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 9249
-SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf
-SIZE (rust/crates/fastrand-1.7.0.crate) = 11265
-SHA256 (rust/crates/fixedbitset-0.4.1.crate) = 279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e
-SIZE (rust/crates/fixedbitset-0.4.1.crate) = 15551
-SHA256 (rust/crates/flate2-1.0.22.crate) = 1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f
-SIZE (rust/crates/flate2-1.0.22.crate) = 76026
+SHA256 (rust/crates/fastrand-1.9.0.crate) = e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be
+SIZE (rust/crates/fastrand-1.9.0.crate) = 11910
+SHA256 (rust/crates/filetime-0.2.20.crate) = 8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412
+SIZE (rust/crates/filetime-0.2.20.crate) = 15027
+SHA256 (rust/crates/find-winsdk-0.2.0.crate) = a8cbf17b871570c1f8612b763bac3e86290602bcf5dc3c5ce657e0e1e9071d9e
+SIZE (rust/crates/find-winsdk-0.2.0.crate) = 8693
+SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80
+SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954
+SHA256 (rust/crates/flate2-1.0.25.crate) = a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841
+SIZE (rust/crates/flate2-1.0.25.crate) = 70210
SHA256 (rust/crates/fluent-0.16.0.crate) = 61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7
SIZE (rust/crates/fluent-0.16.0.crate) = 8321
SHA256 (rust/crates/fluent-bundle-0.15.2.crate) = e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd
@@ -135,260 +233,354 @@ SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869
SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
-SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
-SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
+SHA256 (rust/crates/form_urlencoded-1.1.0.crate) = a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8
+SIZE (rust/crates/form_urlencoded-1.1.0.crate) = 8734
+SHA256 (rust/crates/forwarded-header-value-0.1.1.crate) = 8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9
+SIZE (rust/crates/forwarded-header-value-0.1.1.crate) = 5805
+SHA256 (rust/crates/fs2-0.4.3.crate) = 9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213
+SIZE (rust/crates/fs2-0.4.3.crate) = 13138
+SHA256 (rust/crates/fsevent-sys-4.1.0.crate) = 76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2
+SIZE (rust/crates/fsevent-sys-4.1.0.crate) = 4620
SHA256 (rust/crates/futf-0.1.5.crate) = df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843
SIZE (rust/crates/futf-0.1.5.crate) = 11344
-SHA256 (rust/crates/futures-0.3.21.crate) = f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e
-SIZE (rust/crates/futures-0.3.21.crate) = 49935
-SHA256 (rust/crates/futures-channel-0.3.21.crate) = c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010
-SIZE (rust/crates/futures-channel-0.3.21.crate) = 31961
-SHA256 (rust/crates/futures-core-0.3.21.crate) = 0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3
-SIZE (rust/crates/futures-core-0.3.21.crate) = 14601
-SHA256 (rust/crates/futures-executor-0.3.21.crate) = 9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6
-SIZE (rust/crates/futures-executor-0.3.21.crate) = 17306
-SHA256 (rust/crates/futures-io-0.3.21.crate) = fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b
-SIZE (rust/crates/futures-io-0.3.21.crate) = 8902
-SHA256 (rust/crates/futures-macro-0.3.21.crate) = 33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512
-SIZE (rust/crates/futures-macro-0.3.21.crate) = 11250
-SHA256 (rust/crates/futures-sink-0.3.21.crate) = 21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868
-SIZE (rust/crates/futures-sink-0.3.21.crate) = 7843
-SHA256 (rust/crates/futures-task-0.3.21.crate) = 57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a
-SIZE (rust/crates/futures-task-0.3.21.crate) = 11815
-SHA256 (rust/crates/futures-util-0.3.21.crate) = d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a
-SIZE (rust/crates/futures-util-0.3.21.crate) = 153768
-SHA256 (rust/crates/fxhash-0.2.1.crate) = c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c
-SIZE (rust/crates/fxhash-0.2.1.crate) = 4102
-SHA256 (rust/crates/generic-array-0.14.5.crate) = fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803
-SIZE (rust/crates/generic-array-0.14.5.crate) = 28915
+SHA256 (rust/crates/futures-0.3.28.crate) = 23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40
+SIZE (rust/crates/futures-0.3.28.crate) = 53229
+SHA256 (rust/crates/futures-channel-0.3.28.crate) = 955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2
+SIZE (rust/crates/futures-channel-0.3.28.crate) = 32281
+SHA256 (rust/crates/futures-core-0.3.28.crate) = 4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c
+SIZE (rust/crates/futures-core-0.3.28.crate) = 14780
+SHA256 (rust/crates/futures-executor-0.3.28.crate) = ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0
+SIZE (rust/crates/futures-executor-0.3.28.crate) = 17743
+SHA256 (rust/crates/futures-io-0.3.28.crate) = 4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964
+SIZE (rust/crates/futures-io-0.3.28.crate) = 8910
+SHA256 (rust/crates/futures-lite-1.12.0.crate) = 7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48
+SIZE (rust/crates/futures-lite-1.12.0.crate) = 36032
+SHA256 (rust/crates/futures-macro-0.3.28.crate) = 89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72
+SIZE (rust/crates/futures-macro-0.3.28.crate) = 11272
+SHA256 (rust/crates/futures-sink-0.3.28.crate) = f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e
+SIZE (rust/crates/futures-sink-0.3.28.crate) = 7852
+SHA256 (rust/crates/futures-task-0.3.28.crate) = 76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65
+SIZE (rust/crates/futures-task-0.3.28.crate) = 11848
+SHA256 (rust/crates/futures-timer-3.0.2.crate) = e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c
+SIZE (rust/crates/futures-timer-3.0.2.crate) = 19879
+SHA256 (rust/crates/futures-util-0.3.28.crate) = 26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533
+SIZE (rust/crates/futures-util-0.3.28.crate) = 158510
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
SHA256 (rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5
SIZE (rust/crates/getopts-0.2.21.crate) = 18457
SHA256 (rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
SIZE (rust/crates/getrandom-0.1.16.crate) = 25077
-SHA256 (rust/crates/getrandom-0.2.5.crate) = d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77
-SIZE (rust/crates/getrandom-0.2.5.crate) = 27719
-SHA256 (rust/crates/h2-0.3.12.crate) = 62eeb471aa3e3c9197aa4bfeabfe02982f6dc96f750486c0bb0009ac58b26d2b
-SIZE (rust/crates/h2-0.3.12.crate) = 161865
+SHA256 (rust/crates/getrandom-0.2.8.crate) = c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31
+SIZE (rust/crates/getrandom-0.2.8.crate) = 30553
+SHA256 (rust/crates/gimli-0.27.2.crate) = ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4
+SIZE (rust/crates/gimli-0.27.2.crate) = 721636
+SHA256 (rust/crates/gitignore-1.0.7.crate) = 78aa90e4620c1498ac434c06ba6e521b525794bbdacf085d490cc794b4a2f9a4
+SIZE (rust/crates/gitignore-1.0.7.crate) = 12148
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/globset-0.4.10.crate) = 029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc
+SIZE (rust/crates/globset-0.4.10.crate) = 22923
+SHA256 (rust/crates/h2-0.3.18.crate) = 17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21
+SIZE (rust/crates/h2-0.3.18.crate) = 164556
SHA256 (rust/crates/half-1.8.2.crate) = eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7
SIZE (rust/crates/half-1.8.2.crate) = 41874
-SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
-SHA256 (rust/crates/hashlink-0.7.0.crate) = 7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf
-SIZE (rust/crates/hashlink-0.7.0.crate) = 25309
-SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/handlebars-4.3.6.crate) = 035ef95d03713f2c347a72547b7cd38cbc9af7cd51e6099fb62d586d4a6dee3a
+SIZE (rust/crates/handlebars-4.3.6.crate) = 92108
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hashlink-0.8.1.crate) = 69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa
+SIZE (rust/crates/hashlink-0.8.1.crate) = 26404
+SHA256 (rust/crates/headers-0.3.8.crate) = f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584
+SIZE (rust/crates/headers-0.3.8.crate) = 67904
+SHA256 (rust/crates/headers-core-0.2.0.crate) = e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429
+SIZE (rust/crates/headers-core-0.2.0.crate) = 2380
+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/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
SIZE (rust/crates/hex-0.4.3.crate) = 13299
-SHA256 (rust/crates/html5ever-0.25.1.crate) = aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b
-SIZE (rust/crates/html5ever-0.25.1.crate) = 73165
+SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
+SIZE (rust/crates/hmac-0.12.1.crate) = 42657
+SHA256 (rust/crates/html5ever-0.26.0.crate) = bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7
+SIZE (rust/crates/html5ever-0.26.0.crate) = 72921
SHA256 (rust/crates/htmlescape-0.3.1.crate) = e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163
SIZE (rust/crates/htmlescape-0.3.1.crate) = 53226
-SHA256 (rust/crates/http-0.2.6.crate) = 31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03
-SIZE (rust/crates/http-0.2.6.crate) = 106384
-SHA256 (rust/crates/http-body-0.4.4.crate) = 1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6
-SIZE (rust/crates/http-body-0.4.4.crate) = 7836
-SHA256 (rust/crates/httparse-1.6.0.crate) = 9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4
-SIZE (rust/crates/httparse-1.6.0.crate) = 28175
+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/http-range-header-0.3.0.crate) = 0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29
+SIZE (rust/crates/http-range-header-0.3.0.crate) = 7120
+SHA256 (rust/crates/http-types-2.12.0.crate) = 6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad
+SIZE (rust/crates/http-types-2.12.0.crate) = 1193808
+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.17.crate) = 043f0e083e9901b6cc658a77d1eb86f4fc650bbb977a4337dd63192826aa85dd
-SIZE (rust/crates/hyper-0.14.17.crate) = 179560
-SHA256 (rust/crates/hyper-rustls-0.22.1.crate) = 5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64
-SIZE (rust/crates/hyper-rustls-0.22.1.crate) = 26718
+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/hyper-tls-0.5.0.crate) = d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905
SIZE (rust/crates/hyper-tls-0.5.0.crate) = 13257
+SHA256 (rust/crates/iana-time-zone-0.1.56.crate) = 0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c
+SIZE (rust/crates/iana-time-zone-0.1.56.crate) = 19517
+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/id_tree-1.8.0.crate) = bcd9db8dd5be8bde5a2624ed4b2dfb74368fe7999eb9c4940fd3ca344b61071a
SIZE (rust/crates/id_tree-1.8.0.crate) = 30170
-SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
-SIZE (rust/crates/idna-0.2.3.crate) = 271023
-SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
-SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
-SHA256 (rust/crates/indoc-0.3.6.crate) = 47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8
-SIZE (rust/crates/indoc-0.3.6.crate) = 9663
-SHA256 (rust/crates/indoc-impl-0.3.6.crate) = ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0
-SIZE (rust/crates/indoc-impl-0.3.6.crate) = 7933
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+SHA256 (rust/crates/indoc-1.0.9.crate) = bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306
+SIZE (rust/crates/indoc-1.0.9.crate) = 13475
+SHA256 (rust/crates/infer-0.2.3.crate) = 64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac
+SIZE (rust/crates/infer-0.2.3.crate) = 12401
SHA256 (rust/crates/inflections-1.1.1.crate) = a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a
SIZE (rust/crates/inflections-1.1.1.crate) = 6853
+SHA256 (rust/crates/inotify-0.9.6.crate) = f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff
+SIZE (rust/crates/inotify-0.9.6.crate) = 22971
+SHA256 (rust/crates/inotify-sys-0.1.5.crate) = e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb
+SIZE (rust/crates/inotify-sys-0.1.5.crate) = 6965
+SHA256 (rust/crates/inout-0.1.3.crate) = a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5
+SIZE (rust/crates/inout-0.1.3.crate) = 10743
SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
SIZE (rust/crates/instant-0.1.12.crate) = 6128
SHA256 (rust/crates/intl-memoizer-0.5.1.crate) = c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f
SIZE (rust/crates/intl-memoizer-0.5.1.crate) = 8292
-SHA256 (rust/crates/intl_pluralrules-7.0.1.crate) = b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf
-SIZE (rust/crates/intl_pluralrules-7.0.1.crate) = 9263
-SHA256 (rust/crates/ipnet-2.4.0.crate) = 35e70ee094dc02fd9c13fdad4940090f22dbd6ac7c9e7094a46cf0232a50bc7c
-SIZE (rust/crates/ipnet-2.4.0.crate) = 25186
-SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3
-SIZE (rust/crates/itertools-0.10.3.crate) = 118661
-SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
-SIZE (rust/crates/itoa-0.4.8.crate) = 11926
-SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
-SIZE (rust/crates/itoa-1.0.1.crate) = 11059
-SHA256 (rust/crates/jobserver-0.1.24.crate) = af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa
-SIZE (rust/crates/jobserver-0.1.24.crate) = 21303
-SHA256 (rust/crates/js-sys-0.3.56.crate) = a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04
-SIZE (rust/crates/js-sys-0.3.56.crate) = 70520
-SHA256 (rust/crates/kuchiki-0.8.1.crate) = 1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358
-SIZE (rust/crates/kuchiki-0.8.1.crate) = 22153
+SHA256 (rust/crates/intl_pluralrules-7.0.2.crate) = 078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972
+SIZE (rust/crates/intl_pluralrules-7.0.2.crate) = 9201
+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/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.6.crate) = 453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6
+SIZE (rust/crates/itoa-1.0.6.crate) = 10410
+SHA256 (rust/crates/jobserver-0.1.26.crate) = 936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2
+SIZE (rust/crates/jobserver-0.1.26.crate) = 22645
+SHA256 (rust/crates/js-sys-0.3.61.crate) = 445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730
+SIZE (rust/crates/js-sys-0.3.61.crate) = 80158
+SHA256 (rust/crates/junction-1.0.0.crate) = ca39ef0d69b18e6a2fd14c2f0a1d593200f4a4ed949b240b5917ab51fac754cb
+SIZE (rust/crates/junction-1.0.0.crate) = 11136
+SHA256 (rust/crates/kqueue-1.0.7.crate) = 2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98
+SIZE (rust/crates/kqueue-1.0.7.crate) = 12554
+SHA256 (rust/crates/kqueue-sys-1.0.3.crate) = 8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587
+SIZE (rust/crates/kqueue-sys-1.0.3.crate) = 6673
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.120.crate) = ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09
-SIZE (rust/crates/libc-0.2.120.crate) = 574677
-SHA256 (rust/crates/libsqlite3-sys-0.23.2.crate) = d2cafc7c74096c336d9d27145f7ebd4f4b6f95ba16aa5a282387267e6925cb58
-SIZE (rust/crates/libsqlite3-sys-0.23.2.crate) = 4687087
-SHA256 (rust/crates/linkify-0.5.0.crate) = 78d59d732ba6d7eeefc418aab8057dc8e3da4374bd5802ffa95bebc04b4d1dfb
-SIZE (rust/crates/linkify-0.5.0.crate) = 15108
-SHA256 (rust/crates/lock_api-0.4.6.crate) = 88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b
-SIZE (rust/crates/lock_api-0.4.6.crate) = 25215
-SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/libc-0.2.140.crate) = 99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c
+SIZE (rust/crates/libc-0.2.140.crate) = 669153
+SHA256 (rust/crates/libsqlite3-sys-0.26.0.crate) = afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326
+SIZE (rust/crates/libsqlite3-sys-0.26.0.crate) = 4840390
+SHA256 (rust/crates/line-wrap-0.1.1.crate) = f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9
+SIZE (rust/crates/line-wrap-0.1.1.crate) = 10010
+SHA256 (rust/crates/link-cplusplus-1.0.8.crate) = ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5
+SIZE (rust/crates/link-cplusplus-1.0.8.crate) = 7674
+SHA256 (rust/crates/linkify-0.7.0.crate) = 04d828fdc1ffceb369a5a9183bd4df2dbb3678f40c8b3fbaa9231de32beb29f9
+SIZE (rust/crates/linkify-0.7.0.crate) = 15498
+SHA256 (rust/crates/linux-raw-sys-0.3.1.crate) = d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f
+SIZE (rust/crates/linux-raw-sys-0.3.1.crate) = 932203
+SHA256 (rust/crates/lock_api-0.4.9.crate) = 435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df
+SIZE (rust/crates/lock_api-0.4.9.crate) = 25685
+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/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
SIZE (rust/crates/mac-0.1.1.crate) = 4838
SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
SIZE (rust/crates/maplit-1.0.2.crate) = 8871
-SHA256 (rust/crates/markup5ever-0.10.1.crate) = a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd
-SIZE (rust/crates/markup5ever-0.10.1.crate) = 34668
-SHA256 (rust/crates/markup5ever_rcdom-0.1.0.crate) = f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b
-SIZE (rust/crates/markup5ever_rcdom-0.1.0.crate) = 25165
-SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f
-SIZE (rust/crates/matches-0.1.9.crate) = 2246
-SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
-SIZE (rust/crates/memchr-2.4.1.crate) = 64977
-SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
-SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
-SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
-SIZE (rust/crates/mime-0.3.16.crate) = 15206
+SHA256 (rust/crates/markup5ever-0.11.0.crate) = 7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016
+SIZE (rust/crates/markup5ever-0.11.0.crate) = 34667
+SHA256 (rust/crates/markup5ever_rcdom-0.2.0.crate) = b9521dd6750f8e80ee6c53d65e2e4656d7de37064f3a7a5d2d11d05df93839c2
+SIZE (rust/crates/markup5ever_rcdom-0.2.0.crate) = 222948
+SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
+SIZE (rust/crates/matchers-0.1.0.crate) = 6948
+SHA256 (rust/crates/matches-0.1.10.crate) = 2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5
+SIZE (rust/crates/matches-0.1.10.crate) = 2592
+SHA256 (rust/crates/matchit-0.7.0.crate) = b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40
+SIZE (rust/crates/matchit-0.7.0.crate) = 19113
+SHA256 (rust/crates/mdbook-0.4.28.crate) = 764dcbfc2e5f868bc1b566eb179dff1a06458fd0cff846aae2579392dd3f01a0
+SIZE (rust/crates/mdbook-0.4.28.crate) = 1475538
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+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/mime_guess-2.0.4.crate) = 4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef
SIZE (rust/crates/mime_guess-2.0.4.crate) = 26399
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.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
-SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
-SHA256 (rust/crates/mio-0.8.1.crate) = 7ba42135c6a5917b9db9cd7b293e5409e1c6b041e6f9825e92e55a894c63b6f8
-SIZE (rust/crates/mio-0.8.1.crate) = 88205
-SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
-SIZE (rust/crates/miow-0.3.7.crate) = 24563
+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/multer-2.0.4.crate) = 6ed4198ce7a4cbd2a57af78d28c6fbb57d81ac5f1d6ad79ac6c5587419cbdf22
+SIZE (rust/crates/multer-2.0.4.crate) = 24090
SHA256 (rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
SIZE (rust/crates/multimap-0.8.3.crate) = 13518
-SHA256 (rust/crates/native-tls-0.2.8.crate) = 48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d
-SIZE (rust/crates/native-tls-0.2.8.crate) = 24956
+SHA256 (rust/crates/native-tls-0.2.11.crate) = 07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e
+SIZE (rust/crates/native-tls-0.2.11.crate) = 29008
SHA256 (rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
SIZE (rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
-SHA256 (rust/crates/nodrop-0.1.14.crate) = 72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb
-SIZE (rust/crates/nodrop-0.1.14.crate) = 7667
-SHA256 (rust/crates/nom-7.1.1.crate) = a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36
-SIZE (rust/crates/nom-7.1.1.crate) = 115818
-SHA256 (rust/crates/ntapi-0.3.7.crate) = c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f
-SIZE (rust/crates/ntapi-0.3.7.crate) = 126994
-SHA256 (rust/crates/num-format-0.4.0.crate) = bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465
-SIZE (rust/crates/num-format-0.4.0.crate) = 59791
-SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
-SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
-SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
-SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
-SHA256 (rust/crates/num_enum-0.5.7.crate) = cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9
-SIZE (rust/crates/num_enum-0.5.7.crate) = 15199
-SHA256 (rust/crates/num_enum_derive-0.5.7.crate) = 3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce
-SIZE (rust/crates/num_enum_derive-0.5.7.crate) = 12225
-SHA256 (rust/crates/num_threads-0.1.4.crate) = c539a50b93a303167eded6e8dff5220cd39447409fb659f4cd24b1f72fe4f133
-SIZE (rust/crates/num_threads-0.1.4.crate) = 7093
-SHA256 (rust/crates/once_cell-1.10.0.crate) = 87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9
-SIZE (rust/crates/once_cell-1.10.0.crate) = 30414
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/nonempty-0.7.0.crate) = e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7
+SIZE (rust/crates/nonempty-0.7.0.crate) = 7157
+SHA256 (rust/crates/notify-5.1.0.crate) = 58ea850aa68a06e48fdb069c0ec44d0d64c8dbffa49bf3b6f7f0a901fdea1ba9
+SIZE (rust/crates/notify-5.1.0.crate) = 37269
+SHA256 (rust/crates/notify-debouncer-mini-0.2.1.crate) = e23e9fa24f094b143c1eb61f90ac6457de87be6987bc70746e0179f7dbc9007b
+SIZE (rust/crates/notify-debouncer-mini-0.2.1.crate) = 4988
+SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
+SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
+SHA256 (rust/crates/num-format-0.4.4.crate) = a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3
+SIZE (rust/crates/num-format-0.4.4.crate) = 61509
+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.15.0.crate) = 0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b
+SIZE (rust/crates/num_cpus-1.15.0.crate) = 15680
+SHA256 (rust/crates/num_enum-0.5.11.crate) = 1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9
+SIZE (rust/crates/num_enum-0.5.11.crate) = 16772
+SHA256 (rust/crates/num_enum_derive-0.5.11.crate) = dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799
+SIZE (rust/crates/num_enum_derive-0.5.11.crate) = 15552
+SHA256 (rust/crates/object-0.30.3.crate) = ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439
+SIZE (rust/crates/object-0.30.3.crate) = 258901
+SHA256 (rust/crates/once_cell-1.17.1.crate) = b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3
+SIZE (rust/crates/once_cell-1.17.1.crate) = 32856
SHA256 (rust/crates/oorandom-11.1.3.crate) = 0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575
SIZE (rust/crates/oorandom-11.1.3.crate) = 10068
-SHA256 (rust/crates/openssl-0.10.38.crate) = 0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95
-SIZE (rust/crates/openssl-0.10.38.crate) = 207436
+SHA256 (rust/crates/opaque-debug-0.3.0.crate) = 624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5
+SIZE (rust/crates/opaque-debug-0.3.0.crate) = 5767
+SHA256 (rust/crates/opener-0.5.2.crate) = 293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005
+SIZE (rust/crates/opener-0.5.2.crate) = 16345
+SHA256 (rust/crates/openssl-0.10.48.crate) = 518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2
+SIZE (rust/crates/openssl-0.10.48.crate) = 250240
+SHA256 (rust/crates/openssl-macros-0.1.0.crate) = b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c
+SIZE (rust/crates/openssl-macros-0.1.0.crate) = 5566
SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
-SHA256 (rust/crates/openssl-sys-0.9.72.crate) = 7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb
-SIZE (rust/crates/openssl-sys-0.9.72.crate) = 56510
-SHA256 (rust/crates/parking_lot-0.11.2.crate) = 7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99
-SIZE (rust/crates/parking_lot-0.11.2.crate) = 39869
-SHA256 (rust/crates/parking_lot-0.12.0.crate) = 87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58
-SIZE (rust/crates/parking_lot-0.12.0.crate) = 39761
-SHA256 (rust/crates/parking_lot_core-0.8.5.crate) = d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216
-SIZE (rust/crates/parking_lot_core-0.8.5.crate) = 32466
-SHA256 (rust/crates/parking_lot_core-0.9.1.crate) = 28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954
-SIZE (rust/crates/parking_lot_core-0.9.1.crate) = 32234
-SHA256 (rust/crates/paste-0.1.18.crate) = 45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880
-SIZE (rust/crates/paste-0.1.18.crate) = 12259
-SHA256 (rust/crates/paste-impl-0.1.18.crate) = d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6
-SIZE (rust/crates/paste-impl-0.1.18.crate) = 9451
-SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
-SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
-SHA256 (rust/crates/petgraph-0.6.0.crate) = 4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f
-SIZE (rust/crates/petgraph-0.6.0.crate) = 182063
-SHA256 (rust/crates/phf-0.8.0.crate) = 3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12
-SIZE (rust/crates/phf-0.8.0.crate) = 3902
+SHA256 (rust/crates/openssl-sys-0.9.83.crate) = 666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b
+SIZE (rust/crates/openssl-sys-0.9.83.crate) = 63079
+SHA256 (rust/crates/os_pipe-1.1.3.crate) = a53dbb20faf34b16087a931834cba2d7a73cc74af2b7ef345a4c8324e2409a12
+SIZE (rust/crates/os_pipe-1.1.3.crate) = 11438
+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/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
+SIZE (rust/crates/overload-0.1.1.crate) = 24439
+SHA256 (rust/crates/p12-0.6.3.crate) = d4873306de53fe82e7e484df31e1e947d61514b6ea2ed6cd7b45d63006fd9224
+SIZE (rust/crates/p12-0.6.3.crate) = 11753
+SHA256 (rust/crates/parking-2.0.0.crate) = 427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72
+SIZE (rust/crates/parking-2.0.0.crate) = 9714
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.7.crate) = 9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521
+SIZE (rust/crates/parking_lot_core-0.9.7.crate) = 32412
+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/pem-1.1.1.crate) = a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8
+SIZE (rust/crates/pem-1.1.1.crate) = 11352
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/pest-2.5.7.crate) = 7b1403e8401ad5dedea73c626b99758535b342502f8d1e361f4a2dd952749122
+SIZE (rust/crates/pest-2.5.7.crate) = 107898
+SHA256 (rust/crates/pest_derive-2.5.7.crate) = be99c4c1d2fc2769b1d00239431d711d08f6efedcecb8b6e30707160aee99c15
+SIZE (rust/crates/pest_derive-2.5.7.crate) = 18483
+SHA256 (rust/crates/pest_generator-2.5.7.crate) = e56094789873daa36164de2e822b3888c6ae4b4f9da555a1103587658c805b1e
+SIZE (rust/crates/pest_generator-2.5.7.crate) = 17138
+SHA256 (rust/crates/pest_meta-2.5.7.crate) = 6733073c7cff3d8459fda0e42f13a047870242aed8b509fe98000928975f359e
+SIZE (rust/crates/pest_meta-2.5.7.crate) = 33476
+SHA256 (rust/crates/petgraph-0.6.3.crate) = 4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4
+SIZE (rust/crates/petgraph-0.6.3.crate) = 185740
SHA256 (rust/crates/phf-0.10.1.crate) = fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259
SIZE (rust/crates/phf-0.10.1.crate) = 5406
-SHA256 (rust/crates/phf_codegen-0.8.0.crate) = cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815
-SIZE (rust/crates/phf_codegen-0.8.0.crate) = 3192
-SHA256 (rust/crates/phf_generator-0.8.0.crate) = 17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526
-SIZE (rust/crates/phf_generator-0.8.0.crate) = 7604
+SHA256 (rust/crates/phf-0.11.1.crate) = 928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c
+SIZE (rust/crates/phf-0.11.1.crate) = 17232
+SHA256 (rust/crates/phf_codegen-0.10.0.crate) = 4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd
+SIZE (rust/crates/phf_codegen-0.10.0.crate) = 3402
SHA256 (rust/crates/phf_generator-0.10.0.crate) = 5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6
SIZE (rust/crates/phf_generator-0.10.0.crate) = 7525
-SHA256 (rust/crates/phf_macros-0.8.0.crate) = 7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c
-SIZE (rust/crates/phf_macros-0.8.0.crate) = 5814
-SHA256 (rust/crates/phf_macros-0.10.0.crate) = 58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0
-SIZE (rust/crates/phf_macros-0.10.0.crate) = 3552
-SHA256 (rust/crates/phf_shared-0.8.0.crate) = c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7
-SIZE (rust/crates/phf_shared-0.8.0.crate) = 2860
+SHA256 (rust/crates/phf_generator-0.11.1.crate) = b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf
+SIZE (rust/crates/phf_generator-0.11.1.crate) = 11075
+SHA256 (rust/crates/phf_macros-0.11.1.crate) = 92aacdc5f16768709a569e913f7451034034178b05bdc8acda226659a3dccc66
+SIZE (rust/crates/phf_macros-0.11.1.crate) = 4693
SHA256 (rust/crates/phf_shared-0.10.0.crate) = b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096
SIZE (rust/crates/phf_shared-0.10.0.crate) = 4095
-SHA256 (rust/crates/pin-project-1.0.10.crate) = 58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e
-SIZE (rust/crates/pin-project-1.0.10.crate) = 56366
-SHA256 (rust/crates/pin-project-internal-1.0.10.crate) = 744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb
-SIZE (rust/crates/pin-project-internal-1.0.10.crate) = 27913
-SHA256 (rust/crates/pin-project-lite-0.2.8.crate) = e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c
-SIZE (rust/crates/pin-project-lite-0.2.8.crate) = 27847
+SHA256 (rust/crates/phf_shared-0.11.1.crate) = e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676
+SIZE (rust/crates/phf_shared-0.11.1.crate) = 10320
+SHA256 (rust/crates/pin-project-1.0.12.crate) = ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc
+SIZE (rust/crates/pin-project-1.0.12.crate) = 56972
+SHA256 (rust/crates/pin-project-internal-1.0.12.crate) = 069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55
+SIZE (rust/crates/pin-project-internal-1.0.12.crate) = 27956
+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.24.crate) = 58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe
-SIZE (rust/crates/pkg-config-0.3.24.crate) = 16489
-SHA256 (rust/crates/plotters-0.3.1.crate) = 32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a
-SIZE (rust/crates/plotters-0.3.1.crate) = 8595577
-SHA256 (rust/crates/plotters-backend-0.3.2.crate) = d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c
-SIZE (rust/crates/plotters-backend-0.3.2.crate) = 13524
-SHA256 (rust/crates/plotters-svg-0.3.1.crate) = 521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9
-SIZE (rust/crates/plotters-svg-0.3.1.crate) = 7596
-SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
-SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
+SHA256 (rust/crates/pkg-config-0.3.26.crate) = 6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160
+SIZE (rust/crates/pkg-config-0.3.26.crate) = 18662
+SHA256 (rust/crates/plist-1.4.3.crate) = 9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590
+SIZE (rust/crates/plist-1.4.3.crate) = 46598
+SHA256 (rust/crates/plotters-0.3.4.crate) = 2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97
+SIZE (rust/crates/plotters-0.3.4.crate) = 143219
+SHA256 (rust/crates/plotters-backend-0.3.4.crate) = 193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142
+SIZE (rust/crates/plotters-backend-0.3.4.crate) = 13416
+SHA256 (rust/crates/plotters-svg-0.3.3.crate) = f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f
+SIZE (rust/crates/plotters-svg-0.3.3.crate) = 6916
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
-SHA256 (rust/crates/proc-macro-crate-1.1.3.crate) = e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a
-SIZE (rust/crates/proc-macro-crate-1.1.3.crate) = 8758
-SHA256 (rust/crates/proc-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
-SIZE (rust/crates/proc-macro-hack-0.5.19.crate) = 15556
-SHA256 (rust/crates/proc-macro-nested-0.1.7.crate) = bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086
-SIZE (rust/crates/proc-macro-nested-0.1.7.crate) = 6495
-SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
-SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
-SHA256 (rust/crates/prost-0.9.0.crate) = 444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001
-SIZE (rust/crates/prost-0.9.0.crate) = 25584
-SHA256 (rust/crates/prost-build-0.9.0.crate) = 62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5
-SIZE (rust/crates/prost-build-0.9.0.crate) = 9947797
-SHA256 (rust/crates/prost-derive-0.9.0.crate) = f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe
-SIZE (rust/crates/prost-derive-0.9.0.crate) = 15266
-SHA256 (rust/crates/prost-types-0.9.0.crate) = 534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a
-SIZE (rust/crates/prost-types-0.9.0.crate) = 27403
+SHA256 (rust/crates/prettyplease-0.1.25.crate) = 6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86
+SIZE (rust/crates/prettyplease-0.1.25.crate) = 49545
+SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919
+SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678
+SHA256 (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068
+SIZE (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = 15045
+SHA256 (rust/crates/proc-macro2-1.0.54.crate) = e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534
+SIZE (rust/crates/proc-macro2-1.0.54.crate) = 43485
+SHA256 (rust/crates/prost-0.11.8.crate) = e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537
+SIZE (rust/crates/prost-0.11.8.crate) = 28958
+SHA256 (rust/crates/prost-build-0.11.8.crate) = 2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12
+SIZE (rust/crates/prost-build-0.11.8.crate) = 37325
+SHA256 (rust/crates/prost-derive-0.11.8.crate) = 4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b
+SIZE (rust/crates/prost-derive-0.11.8.crate) = 19510
+SHA256 (rust/crates/prost-types-0.11.8.crate) = 379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88
+SIZE (rust/crates/prost-types-0.11.8.crate) = 40806
SHA256 (rust/crates/pulldown-cmark-0.8.0.crate) = ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8
SIZE (rust/crates/pulldown-cmark-0.8.0.crate) = 106330
-SHA256 (rust/crates/pyo3-0.15.1.crate) = 7cf01dbf1c05af0a14c7779ed6f3aa9deac9c3419606ac9de537a2d649005720
-SIZE (rust/crates/pyo3-0.15.1.crate) = 370722
-SHA256 (rust/crates/pyo3-build-config-0.15.1.crate) = dbf9e4d128bfbddc898ad3409900080d8d5095c379632fbbfbb9c8cfb1fb852b
-SIZE (rust/crates/pyo3-build-config-0.15.1.crate) = 22095
-SHA256 (rust/crates/pyo3-macros-0.15.1.crate) = 67701eb32b1f9a9722b4bc54b548ff9d7ebfded011c12daece7b9063be1fd755
-SIZE (rust/crates/pyo3-macros-0.15.1.crate) = 7555
-SHA256 (rust/crates/pyo3-macros-backend-0.15.1.crate) = f44f09e825ee49a105f2c7b23ebee50886a9aee0746f4dd5a704138a64b0218a
-SIZE (rust/crates/pyo3-macros-backend-0.15.1.crate) = 46111
-SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145
-SIZE (rust/crates/quote-1.0.15.crate) = 27281
+SHA256 (rust/crates/pulldown-cmark-0.9.2.crate) = 2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63
+SIZE (rust/crates/pulldown-cmark-0.9.2.crate) = 115824
+SHA256 (rust/crates/pyo3-0.18.2.crate) = cfb848f80438f926a9ebddf0a539ed6065434fd7aae03a89312a9821f81b8501
+SIZE (rust/crates/pyo3-0.18.2.crate) = 418755
+SHA256 (rust/crates/pyo3-build-config-0.18.2.crate) = 98a42e7f42e917ce6664c832d5eee481ad514c98250c49e0b03b20593e2c7ed0
+SIZE (rust/crates/pyo3-build-config-0.18.2.crate) = 29138
+SHA256 (rust/crates/pyo3-ffi-0.18.2.crate) = a0707f0ab26826fe4ccd59b69106e9df5e12d097457c7b8f9c0fd1d2743eec4d
+SIZE (rust/crates/pyo3-ffi-0.18.2.crate) = 62903
+SHA256 (rust/crates/pyo3-macros-0.18.2.crate) = 978d18e61465ecd389e1f235ff5a467146dc4e3c3968b90d274fe73a5dd4a438
+SIZE (rust/crates/pyo3-macros-0.18.2.crate) = 7173
+SHA256 (rust/crates/pyo3-macros-backend-0.18.2.crate) = 8e0e1128f85ce3fca66e435e08aa2089a2689c1c48ce97803e13f63124058462
+SIZE (rust/crates/pyo3-macros-backend-0.18.2.crate) = 48722
+SHA256 (rust/crates/quick-xml-0.28.1.crate) = e5c1a97b1bc42b1d550bfb48d4262153fe400a12bab1511821736f7eac76d7e2
+SIZE (rust/crates/quick-xml-0.28.1.crate) = 155431
+SHA256 (rust/crates/quote-1.0.26.crate) = 4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc
+SIZE (rust/crates/quote-1.0.26.crate) = 28397
SHA256 (rust/crates/rand-0.7.3.crate) = 6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03
SIZE (rust/crates/rand-0.7.3.crate) = 112246
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
@@ -399,262 +591,322 @@ SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
SHA256 (rust/crates/rand_core-0.5.1.crate) = 90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19
SIZE (rust/crates/rand_core-0.5.1.crate) = 21116
-SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
SHA256 (rust/crates/rand_hc-0.2.0.crate) = ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c
SIZE (rust/crates/rand_hc-0.2.0.crate) = 11670
SHA256 (rust/crates/rand_pcg-0.2.1.crate) = 16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429
SIZE (rust/crates/rand_pcg-0.2.1.crate) = 11291
-SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
-SIZE (rust/crates/rayon-1.5.1.crate) = 160424
-SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
-SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
-SHA256 (rust/crates/redox_syscall-0.2.11.crate) = 8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c
-SIZE (rust/crates/redox_syscall-0.2.11.crate) = 24032
-SHA256 (rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
-SIZE (rust/crates/redox_users-0.4.0.crate) = 13023
-SHA256 (rust/crates/regex-1.5.6.crate) = d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1
-SIZE (rust/crates/regex-1.5.6.crate) = 238593
+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/rc2-0.8.1.crate) = 62c64daa8e9438b84aaae55010a93f396f8e60e3911590fcba770d04643fc1dd
+SIZE (rust/crates/rc2-0.8.1.crate) = 7009
+SHA256 (rust/crates/rcgen-0.10.0.crate) = ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b
+SIZE (rust/crates/rcgen-0.10.0.crate) = 40402
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29
+SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404
+SHA256 (rust/crates/regex-1.7.3.crate) = 8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d
+SIZE (rust/crates/regex-1.7.3.crate) = 239886
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.26.crate) = 49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64
-SIZE (rust/crates/regex-syntax-0.6.26.crate) = 293912
-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/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/retain_mut-0.1.9.crate) = 4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0
+SIZE (rust/crates/retain_mut-0.1.9.crate) = 4058
SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
SIZE (rust/crates/ring-0.16.20.crate) = 5082615
-SHA256 (rust/crates/rusqlite-0.26.3.crate) = 4ba4d3462c8b2e4d7f4fcfcf2b296dc6b65404fbbc7b63daa37fd485c149daf7
-SIZE (rust/crates/rusqlite-0.26.3.crate) = 135951
+SHA256 (rust/crates/rusqlite-0.29.0.crate) = 549b9d036d571d42e6e85d1c1425e2ac83491075078ca9a15be021c56b1641f2
+SIZE (rust/crates/rusqlite-0.29.0.crate) = 137156
+SHA256 (rust/crates/rustc-demangle-0.1.22.crate) = d4a36c42d1873f9a77c53bde094f9664d9891bc604a45b4798fd2c389ed12e5b
+SIZE (rust/crates/rustc-demangle-0.1.22.crate) = 29044
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
-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.19.1.crate) = 35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7
-SIZE (rust/crates/rustls-0.19.1.crate) = 208143
-SHA256 (rust/crates/rustls-native-certs-0.5.0.crate) = 5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092
-SIZE (rust/crates/rustls-native-certs-0.5.0.crate) = 18482
-SHA256 (rust/crates/rustversion-1.0.6.crate) = f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f
-SIZE (rust/crates/rustversion-1.0.6.crate) = 18380
-SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
-SIZE (rust/crates/ryu-1.0.9.crate) = 48391
+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-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.2.crate) = d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b
+SIZE (rust/crates/rustls-pemfile-1.0.2.crate) = 19347
+SHA256 (rust/crates/rustversion-1.0.12.crate) = 4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06
+SIZE (rust/crates/rustversion-1.0.12.crate) = 17278
+SHA256 (rust/crates/ryu-1.0.13.crate) = f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041
+SIZE (rust/crates/ryu-1.0.13.crate) = 46823
+SHA256 (rust/crates/safemem-0.3.3.crate) = ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072
+SIZE (rust/crates/safemem-0.3.3.crate) = 7778
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
-SHA256 (rust/crates/schannel-0.1.19.crate) = 8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75
-SIZE (rust/crates/schannel-0.1.19.crate) = 42755
+SHA256 (rust/crates/schannel-0.1.21.crate) = 713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3
+SIZE (rust/crates/schannel-0.1.21.crate) = 41719
+SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294
+SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202
SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
-SHA256 (rust/crates/sct-0.6.1.crate) = b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce
-SIZE (rust/crates/sct-0.6.1.crate) = 26825
-SHA256 (rust/crates/security-framework-2.6.1.crate) = 2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc
-SIZE (rust/crates/security-framework-2.6.1.crate) = 71688
-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/selectors-0.22.0.crate) = df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe
-SIZE (rust/crates/selectors-0.22.0.crate) = 44199
+SHA256 (rust/crates/scratch-1.0.5.crate) = 1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1
+SIZE (rust/crates/scratch-1.0.5.crate) = 8013
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/security-framework-2.8.2.crate) = a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254
+SIZE (rust/crates/security-framework-2.8.2.crate) = 77045
+SHA256 (rust/crates/security-framework-sys-2.8.0.crate) = 31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4
+SIZE (rust/crates/security-framework-sys-2.8.0.crate) = 17911
SHA256 (rust/crates/self_cell-0.10.2.crate) = 1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af
SIZE (rust/crates/self_cell-0.10.2.crate) = 14732
-SHA256 (rust/crates/semver-1.0.6.crate) = a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d
-SIZE (rust/crates/semver-1.0.6.crate) = 29941
-SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
-SIZE (rust/crates/serde-1.0.136.crate) = 76158
-SHA256 (rust/crates/serde-aux-3.0.1.crate) = 93abf9799c576f004252b2a05168d58527fb7c54de12e94b4d12fe3475ffad24
-SIZE (rust/crates/serde-aux-3.0.1.crate) = 10699
-SHA256 (rust/crates/serde_cbor-0.11.2.crate) = 2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5
-SIZE (rust/crates/serde_cbor-0.11.2.crate) = 44570
-SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9
-SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776
-SHA256 (rust/crates/serde_json-1.0.79.crate) = 8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95
-SIZE (rust/crates/serde_json-1.0.79.crate) = 144451
-SHA256 (rust/crates/serde_repr-0.1.7.crate) = 98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5
-SIZE (rust/crates/serde_repr-0.1.7.crate) = 10173
+SHA256 (rust/crates/semver-1.0.17.crate) = bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed
+SIZE (rust/crates/semver-1.0.17.crate) = 29685
+SHA256 (rust/crates/serde-1.0.159.crate) = 3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065
+SIZE (rust/crates/serde-1.0.159.crate) = 77014
+SHA256 (rust/crates/serde-aux-4.1.2.crate) = c599b3fd89a75e0c18d6d2be693ddb12cccaf771db4ff9e39097104808a014c0
+SIZE (rust/crates/serde-aux-4.1.2.crate) = 11562
+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_path_to_error-0.1.11.crate) = f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0
+SIZE (rust/crates/serde_path_to_error-0.1.11.crate) = 16485
+SHA256 (rust/crates/serde_qs-0.8.5.crate) = c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6
+SIZE (rust/crates/serde_qs-0.8.5.crate) = 44854
+SHA256 (rust/crates/serde_repr-0.1.12.crate) = bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab
+SIZE (rust/crates/serde_repr-0.1.12.crate) = 9549
SHA256 (rust/crates/serde_tuple-0.5.0.crate) = f4f025b91216f15a2a32aa39669329a475733590a015835d1783549a56d09427
SIZE (rust/crates/serde_tuple-0.5.0.crate) = 3817
SHA256 (rust/crates/serde_tuple_macros-0.5.0.crate) = 4076151d1a2b688e25aaf236997933c66e18b870d0369f8b248b8ab2be630d7e
SIZE (rust/crates/serde_tuple_macros-0.5.0.crate) = 2205
SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
-SHA256 (rust/crates/servo_arc-0.1.1.crate) = d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432
-SIZE (rust/crates/servo_arc-0.1.1.crate) = 9817
-SHA256 (rust/crates/sha1-0.6.1.crate) = c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770
-SIZE (rust/crates/sha1-0.6.1.crate) = 2931
-SHA256 (rust/crates/sha1_smol-1.0.0.crate) = ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012
-SIZE (rust/crates/sha1_smol-1.0.0.crate) = 9782
-SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
-SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
+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/sharded-slab-0.1.4.crate) = 900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31
+SIZE (rust/crates/sharded-slab-0.1.4.crate) = 52479
+SHA256 (rust/crates/shared_child-1.0.0.crate) = b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef
+SIZE (rust/crates/shared_child-1.0.0.crate) = 8939
+SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3
+SIZE (rust/crates/shlex-1.1.0.crate) = 5199
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/simple-file-manifest-0.11.0.crate) = 5dd19be0257552dd56d1bb6946f89f193c6e5b9f13cc9327c4bc84a357507c74
+SIZE (rust/crates/simple-file-manifest-0.11.0.crate) = 11993
SHA256 (rust/crates/siphasher-0.3.10.crate) = 7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de
SIZE (rust/crates/siphasher-0.3.10.crate) = 9889
-SHA256 (rust/crates/slab-0.4.5.crate) = 9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5
-SIZE (rust/crates/slab-0.4.5.crate) = 15888
-SHA256 (rust/crates/slog-2.7.0.crate) = 8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06
-SIZE (rust/crates/slog-2.7.0.crate) = 45432
-SHA256 (rust/crates/slog-async-2.7.0.crate) = 766c59b252e62a34651412870ff55d8c4e6d04df19b43eecb2703e417b097ffe
-SIZE (rust/crates/slog-async-2.7.0.crate) = 19369
-SHA256 (rust/crates/slog-envlogger-2.2.0.crate) = 906a1a0bc43fed692df4b82a5e2fbfc3733db8dad8bb514ab27a4f23ad04f5c0
-SIZE (rust/crates/slog-envlogger-2.2.0.crate) = 13240
-SHA256 (rust/crates/slog-scope-4.4.0.crate) = 2f95a4b4c3274cd2869549da82b57ccc930859bdbf5bcea0424bc5f140b3c786
-SIZE (rust/crates/slog-scope-4.4.0.crate) = 16753
-SHA256 (rust/crates/slog-stdlog-4.1.0.crate) = 8228ab7302adbf4fcb37e66f3cda78003feb521e7fd9e3847ec117a7784d0f5a
-SIZE (rust/crates/slog-stdlog-4.1.0.crate) = 14523
-SHA256 (rust/crates/slog-term-2.9.0.crate) = 87d29185c55b7b258b4f120eab00f48557d4d9bc814f41713f449d35b0f8977c
-SIZE (rust/crates/slog-term-2.9.0.crate) = 26860
-SHA256 (rust/crates/smallvec-1.8.0.crate) = f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83
-SIZE (rust/crates/smallvec-1.8.0.crate) = 27992
+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/snafu-0.7.4.crate) = cb0656e7e3ffb70f6c39b3c2a86332bb74aa3c679da781642590f3c1118c5045
+SIZE (rust/crates/snafu-0.7.4.crate) = 64092
+SHA256 (rust/crates/snafu-derive-0.7.4.crate) = 475b3bbe5245c26f2d8a6f62d67c1f30eb9fffeccee721c45d162c3ebbdf81b2
+SIZE (rust/crates/snafu-derive-0.7.4.crate) = 28207
SHA256 (rust/crates/snowflake-1.3.0.crate) = 27207bb65232eda1f588cf46db2fee75c0808d557f6b3cf19a75f5d6d7c94df1
SIZE (rust/crates/snowflake-1.3.0.crate) = 8073
-SHA256 (rust/crates/socket2-0.4.4.crate) = 66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0
-SIZE (rust/crates/socket2-0.4.4.crate) = 44048
+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/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
-SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
-SHA256 (rust/crates/string_cache-0.8.3.crate) = 33994d0838dc2d152d17a62adf608a869b5e846b65b389af7f3dbc1de45c5b26
-SIZE (rust/crates/string_cache-0.8.3.crate) = 16261
-SHA256 (rust/crates/string_cache_codegen-0.5.1.crate) = f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97
-SIZE (rust/crates/string_cache_codegen-0.5.1.crate) = 8243
-SHA256 (rust/crates/strum-0.23.0.crate) = cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb
-SIZE (rust/crates/strum-0.23.0.crate) = 5429
-SHA256 (rust/crates/strum_macros-0.23.1.crate) = 5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38
-SIZE (rust/crates/strum_macros-0.23.1.crate) = 18203
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/string_cache-0.8.7.crate) = f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b
+SIZE (rust/crates/string_cache-0.8.7.crate) = 16655
+SHA256 (rust/crates/string_cache_codegen-0.5.2.crate) = 6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988
+SIZE (rust/crates/string_cache_codegen-0.5.2.crate) = 8156
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/strum-0.24.1.crate) = 063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f
+SIZE (rust/crates/strum-0.24.1.crate) = 5636
+SHA256 (rust/crates/strum_macros-0.24.3.crate) = 1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59
+SIZE (rust/crates/strum_macros-0.24.3.crate) = 20696
SHA256 (rust/crates/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
SIZE (rust/crates/subtle-2.4.1.crate) = 12630
-SHA256 (rust/crates/syn-1.0.88.crate) = ebd69e719f31e88618baa1eaa6ee2de5c9a1c004f1e9ecdb58e8352a13f20a01
-SIZE (rust/crates/syn-1.0.88.crate) = 236112
-SHA256 (rust/crates/take_mut-0.2.2.crate) = f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60
-SIZE (rust/crates/take_mut-0.2.2.crate) = 4263
-SHA256 (rust/crates/tempfile-3.3.0.crate) = 5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4
-SIZE (rust/crates/tempfile-3.3.0.crate) = 27578
-SHA256 (rust/crates/tendril-0.4.2.crate) = a9ef557cb397a4f0a5a3a628f06515f78563f2209e64d47055d9dc6052bf5e33
-SIZE (rust/crates/tendril-0.4.2.crate) = 37138
-SHA256 (rust/crates/term-0.7.0.crate) = c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f
-SIZE (rust/crates/term-0.7.0.crate) = 37082
-SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
-SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
-SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
-SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
-SHA256 (rust/crates/thin-slice-0.1.1.crate) = 8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c
-SIZE (rust/crates/thin-slice-0.1.1.crate) = 4484
-SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
-SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
-SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
-SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
-SHA256 (rust/crates/thread_local-1.1.4.crate) = 5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180
-SIZE (rust/crates/thread_local-1.1.4.crate) = 13106
-SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
-SIZE (rust/crates/time-0.1.44.crate) = 28885
-SHA256 (rust/crates/time-0.3.7.crate) = 004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d
-SIZE (rust/crates/time-0.3.7.crate) = 76358
-SHA256 (rust/crates/time-macros-0.2.3.crate) = 25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6
-SIZE (rust/crates/time-macros-0.2.3.crate) = 16838
-SHA256 (rust/crates/tinystr-0.3.4.crate) = 29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1
-SIZE (rust/crates/tinystr-0.3.4.crate) = 19341
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.12.crate) = 79d9531f94112cfc3e4c8f5f02cb2b58f72c97b7efd85f70203cc6d8efda5927
+SIZE (rust/crates/syn-2.0.12.crate) = 240123
+SHA256 (rust/crates/sync_wrapper-0.1.2.crate) = 2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160
+SIZE (rust/crates/sync_wrapper-0.1.2.crate) = 6933
+SHA256 (rust/crates/tar-0.4.38.crate) = 4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6
+SIZE (rust/crates/tar-0.4.38.crate) = 49158
+SHA256 (rust/crates/target-lexicon-0.12.6.crate) = 8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5
+SIZE (rust/crates/target-lexicon-0.12.6.crate) = 24357
+SHA256 (rust/crates/tempfile-3.5.0.crate) = b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998
+SIZE (rust/crates/tempfile-3.5.0.crate) = 31129
+SHA256 (rust/crates/tendril-0.4.3.crate) = d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0
+SIZE (rust/crates/tendril-0.4.3.crate) = 37210
+SHA256 (rust/crates/termcolor-1.2.0.crate) = be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6
+SIZE (rust/crates/termcolor-1.2.0.crate) = 17917
+SHA256 (rust/crates/terminal_size-0.2.6.crate) = 8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237
+SIZE (rust/crates/terminal_size-0.2.6.crate) = 10585
+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/time-0.3.20.crate) = cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890
+SIZE (rust/crates/time-0.3.20.crate) = 111856
+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.8.crate) = fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36
+SIZE (rust/crates/time-macros-0.2.8.crate) = 24295
+SHA256 (rust/crates/tinystr-0.7.1.crate) = 7ac3f5b6856e931e15e07b478e98c8045239829a65f9156d4fa7e7788197a5ef
+SIZE (rust/crates/tinystr-0.7.1.crate) = 15631
SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
-SHA256 (rust/crates/tinyvec-1.5.1.crate) = 2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2
-SIZE (rust/crates/tinyvec-1.5.1.crate) = 44942
-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.17.0.crate) = 2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee
-SIZE (rust/crates/tokio-1.17.0.crate) = 562425
-SHA256 (rust/crates/tokio-macros-1.7.0.crate) = b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7
-SIZE (rust/crates/tokio-macros-1.7.0.crate) = 9261
-SHA256 (rust/crates/tokio-native-tls-0.3.0.crate) = f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b
-SIZE (rust/crates/tokio-native-tls-0.3.0.crate) = 20759
-SHA256 (rust/crates/tokio-rustls-0.22.0.crate) = bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6
-SIZE (rust/crates/tokio-rustls-0.22.0.crate) = 22706
+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-macros-2.0.0.crate) = 61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce
+SIZE (rust/crates/tokio-macros-2.0.0.crate) = 10382
+SHA256 (rust/crates/tokio-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2
+SIZE (rust/crates/tokio-native-tls-0.3.1.crate) = 20676
+SHA256 (rust/crates/tokio-rustls-0.23.4.crate) = c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59
+SIZE (rust/crates/tokio-rustls-0.23.4.crate) = 27024
SHA256 (rust/crates/tokio-socks-0.5.1.crate) = 51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0
SIZE (rust/crates/tokio-socks-0.5.1.crate) = 16137
-SHA256 (rust/crates/tokio-util-0.6.9.crate) = 9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0
-SIZE (rust/crates/tokio-util-0.6.9.crate) = 76480
-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.1.crate) = 360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6
-SIZE (rust/crates/tower-service-0.3.1.crate) = 6299
-SHA256 (rust/crates/tracing-0.1.32.crate) = 4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f
-SIZE (rust/crates/tracing-0.1.32.crate) = 77985
-SHA256 (rust/crates/tracing-core-0.1.23.crate) = aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c
-SIZE (rust/crates/tracing-core-0.1.23.crate) = 53204
-SHA256 (rust/crates/try-lock-0.2.3.crate) = 59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642
-SIZE (rust/crates/try-lock-0.2.3.crate) = 4158
+SHA256 (rust/crates/tokio-stream-0.1.12.crate) = 8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313
+SIZE (rust/crates/tokio-stream-0.1.12.crate) = 33839
+SHA256 (rust/crates/tokio-tungstenite-0.18.0.crate) = 54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd
+SIZE (rust/crates/tokio-tungstenite-0.18.0.crate) = 25705
+SHA256 (rust/crates/tokio-util-0.7.7.crate) = 5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2
+SIZE (rust/crates/tokio-util-0.7.7.crate) = 100405
+SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234
+SIZE (rust/crates/toml-0.5.11.crate) = 54910
+SHA256 (rust/crates/toml_datetime-0.6.1.crate) = 3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622
+SIZE (rust/crates/toml_datetime-0.6.1.crate) = 10765
+SHA256 (rust/crates/toml_edit-0.19.8.crate) = 239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13
+SIZE (rust/crates/toml_edit-0.19.8.crate) = 94457
+SHA256 (rust/crates/topological-sort-0.2.2.crate) = ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d
+SIZE (rust/crates/topological-sort-0.2.2.crate) = 10566
+SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c
+SIZE (rust/crates/tower-0.4.13.crate) = 106906
+SHA256 (rust/crates/tower-http-0.4.0.crate) = 5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658
+SIZE (rust/crates/tower-http-0.4.0.crate) = 112332
+SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0
+SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023
+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-appender-0.2.2.crate) = 09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e
+SIZE (rust/crates/tracing-appender-0.2.2.crate) = 17208
+SHA256 (rust/crates/tracing-attributes-0.1.23.crate) = 4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a
+SIZE (rust/crates/tracing-attributes-0.1.23.crate) = 30450
+SHA256 (rust/crates/tracing-core-0.1.30.crate) = 24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a
+SIZE (rust/crates/tracing-core-0.1.30.crate) = 60351
+SHA256 (rust/crates/tracing-log-0.1.3.crate) = 78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922
+SIZE (rust/crates/tracing-log-0.1.3.crate) = 20549
+SHA256 (rust/crates/tracing-subscriber-0.3.16.crate) = a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70
+SIZE (rust/crates/tracing-subscriber-0.3.16.crate) = 193572
+SHA256 (rust/crates/try-lock-0.2.4.crate) = 3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed
+SIZE (rust/crates/try-lock-0.2.4.crate) = 4467
+SHA256 (rust/crates/tugger-common-0.10.0.crate) = f90d950380afdb1a6bbe74f29485a04e821869dfad11f5929ff1c5b1dac09d02
+SIZE (rust/crates/tugger-common-0.10.0.crate) = 3767
+SHA256 (rust/crates/tugger-windows-0.10.0.crate) = e9f181ac4fc7f8facfd418824d13045cd068ee73de44319a6116868c22789782
+SIZE (rust/crates/tugger-windows-0.10.0.crate) = 5393
+SHA256 (rust/crates/tugger-windows-codesign-0.10.0.crate) = ed3f09f8bdace495373cec3fc607bc39f00720a984ba82e310cc9382462fd364
+SIZE (rust/crates/tugger-windows-codesign-0.10.0.crate) = 7705
+SHA256 (rust/crates/tungstenite-0.18.0.crate) = 30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788
+SIZE (rust/crates/tungstenite-0.18.0.crate) = 55628
SHA256 (rust/crates/type-map-0.4.0.crate) = b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46
SIZE (rust/crates/type-map-0.4.0.crate) = 3177
-SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987
-SIZE (rust/crates/typenum-1.15.0.crate) = 40741
+SHA256 (rust/crates/typenum-1.16.0.crate) = 497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba
+SIZE (rust/crates/typenum-1.16.0.crate) = 42477
+SHA256 (rust/crates/ucd-trie-0.1.5.crate) = 9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81
+SIZE (rust/crates/ucd-trie-0.1.5.crate) = 45391
SHA256 (rust/crates/unic-char-property-0.9.0.crate) = a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221
SIZE (rust/crates/unic-char-property-0.9.0.crate) = 6809
SHA256 (rust/crates/unic-char-range-0.9.0.crate) = 0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc
SIZE (rust/crates/unic-char-range-0.9.0.crate) = 7020
SHA256 (rust/crates/unic-common-0.9.0.crate) = 80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc
SIZE (rust/crates/unic-common-0.9.0.crate) = 2558
-SHA256 (rust/crates/unic-langid-0.9.0.crate) = 73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5
-SIZE (rust/crates/unic-langid-0.9.0.crate) = 3899
-SHA256 (rust/crates/unic-langid-impl-0.9.0.crate) = 1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934d
-SIZE (rust/crates/unic-langid-impl-0.9.0.crate) = 33921
-SHA256 (rust/crates/unic-langid-macros-0.9.0.crate) = 18f980d6d87e8805f2836d64b4138cc95aa7986fa63b1f51f67d5fbff64dd6e5
-SIZE (rust/crates/unic-langid-macros-0.9.0.crate) = 1855
-SHA256 (rust/crates/unic-langid-macros-impl-0.9.0.crate) = 29396ffd97e27574c3e01368b1a64267d3064969e4848e2e130ff668be9daa9f
-SIZE (rust/crates/unic-langid-macros-impl-0.9.0.crate) = 1829
+SHA256 (rust/crates/unic-langid-0.9.1.crate) = 398f9ad7239db44fd0f80fe068d12ff22d78354080332a5077dc6f52f14dcf2f
+SIZE (rust/crates/unic-langid-0.9.1.crate) = 4001
+SHA256 (rust/crates/unic-langid-impl-0.9.1.crate) = e35bfd2f2b8796545b55d7d3fd3e89a0613f68a0d1c8bc28cb7ff96b411a35ff
+SIZE (rust/crates/unic-langid-impl-0.9.1.crate) = 36438
+SHA256 (rust/crates/unic-langid-macros-0.9.1.crate) = 055e618bf694161ffff0466d95cef3e1a5edc59f6ba1888e97801f2b4ebdc4fe
+SIZE (rust/crates/unic-langid-macros-0.9.1.crate) = 1899
+SHA256 (rust/crates/unic-langid-macros-impl-0.9.1.crate) = 1f5cdec05b907f4e2f6843f4354f4ce6a5bebe1a56df320a49134944477ce4d8
+SIZE (rust/crates/unic-langid-macros-impl-0.9.1.crate) = 1791
SHA256 (rust/crates/unic-ucd-category-0.9.0.crate) = 1b8d4591f5fcfe1bd4453baaf803c40e1b1e69ff8455c47620440b46efef91c0
SIZE (rust/crates/unic-ucd-category-0.9.0.crate) = 25480
SHA256 (rust/crates/unic-ucd-version-0.9.0.crate) = 96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4
SIZE (rust/crates/unic-ucd-version-0.9.0.crate) = 2246
SHA256 (rust/crates/unicase-2.6.0.crate) = 50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
SIZE (rust/crates/unicase-2.6.0.crate) = 23478
-SHA256 (rust/crates/unicode-bidi-0.3.7.crate) = 1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f
-SIZE (rust/crates/unicode-bidi-0.3.7.crate) = 33759
-SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
-SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
-SHA256 (rust/crates/unicode-segmentation-1.9.0.crate) = 7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99
-SIZE (rust/crates/unicode-segmentation-1.9.0.crate) = 93241
-SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
-SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
-SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (rust/crates/unindent-0.1.8.crate) = 514672a55d7380da379785a4d70ca8386c8883ff7eaae877be4d2081cebe73d8
-SIZE (rust/crates/unindent-0.1.8.crate) = 8326
+SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460
+SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477
+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-segmentation-1.10.1.crate) = 1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36
+SIZE (rust/crates/unicode-segmentation-1.10.1.crate) = 98416
+SHA256 (rust/crates/unicode-width-0.1.10.crate) = c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b
+SIZE (rust/crates/unicode-width-0.1.10.crate) = 18968
+SHA256 (rust/crates/unindent-0.1.11.crate) = e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c
+SIZE (rust/crates/unindent-0.1.11.crate) = 7700
SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
-SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
-SIZE (rust/crates/url-2.2.2.crate) = 68555
+SHA256 (rust/crates/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643
+SIZE (rust/crates/url-2.3.1.crate) = 72777
SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
-SHA256 (rust/crates/utf8-decode-1.0.1.crate) = ca61eb27fa339aa08826a29f03e87b99b4d8f0fc2255306fd266bb1b6a9de498
-SIZE (rust/crates/utf8-decode-1.0.1.crate) = 7605
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
SHA256 (rust/crates/utime-0.3.1.crate) = 91baa0c65eabd12fcbdac8cc35ff16159cab95cae96d0222d6d0271db6193cef
SIZE (rust/crates/utime-0.3.1.crate) = 8311
+SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d
+SIZE (rust/crates/valuable-0.1.0.crate) = 27718
SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
SIZE (rust/crates/version_check-0.9.4.crate) = 14895
-SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56
-SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
+SHA256 (rust/crates/waker-fn-1.1.0.crate) = 9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca
+SIZE (rust/crates/waker-fn-1.1.0.crate) = 7114
+SHA256 (rust/crates/walkdir-2.3.3.crate) = 36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698
+SIZE (rust/crates/walkdir-2.3.3.crate) = 23125
SHA256 (rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
SIZE (rust/crates/want-0.3.0.crate) = 6550
+SHA256 (rust/crates/warp-0.3.4.crate) = 27e1a710288f0f91a98dd8a74f05b76a10768db245ce183edf64dc1afdc3016c
+SIZE (rust/crates/warp-0.3.4.crate) = 114580
SHA256 (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
SIZE (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
-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.79.crate) = 25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06
-SIZE (rust/crates/wasm-bindgen-0.2.79.crate) = 164276
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.79.crate) = 8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca
-SIZE (rust/crates/wasm-bindgen-backend-0.2.79.crate) = 25776
-SHA256 (rust/crates/wasm-bindgen-futures-0.4.29.crate) = 2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395
-SIZE (rust/crates/wasm-bindgen-futures-0.4.29.crate) = 14730
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.79.crate) = 2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01
-SIZE (rust/crates/wasm-bindgen-macro-0.2.79.crate) = 11806
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.79.crate) = bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.79.crate) = 17861
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.79.crate) = 3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2
-SIZE (rust/crates/wasm-bindgen-shared-0.2.79.crate) = 7204
-SHA256 (rust/crates/web-sys-0.3.56.crate) = c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb
-SIZE (rust/crates/web-sys-0.3.56.crate) = 666465
-SHA256 (rust/crates/webpki-0.21.4.crate) = b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea
-SIZE (rust/crates/webpki-0.21.4.crate) = 58505
-SHA256 (rust/crates/webpki-roots-0.21.1.crate) = aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940
-SIZE (rust/crates/webpki-roots-0.21.1.crate) = 223591
-SHA256 (rust/crates/which-4.2.4.crate) = 2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2
-SIZE (rust/crates/which-4.2.4.crate) = 9259
+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/wasm-streams-0.2.3.crate) = 6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078
+SIZE (rust/crates/wasm-streams-0.2.3.crate) = 33205
+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/which-4.4.0.crate) = 2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269
+SIZE (rust/crates/which-4.4.0.crate) = 10889
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
@@ -663,65 +915,83 @@ SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e9
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.32.0.crate) = 3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6
-SIZE (rust/crates/windows-sys-0.32.0.crate) = 3361554
-SHA256 (rust/crates/windows_aarch64_msvc-0.32.0.crate) = d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5
-SIZE (rust/crates/windows_aarch64_msvc-0.32.0.crate) = 673810
-SHA256 (rust/crates/windows_i686_gnu-0.32.0.crate) = 6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615
-SIZE (rust/crates/windows_i686_gnu-0.32.0.crate) = 772251
-SHA256 (rust/crates/windows_i686_msvc-0.32.0.crate) = 146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172
-SIZE (rust/crates/windows_i686_msvc-0.32.0.crate) = 733422
-SHA256 (rust/crates/windows_x86_64_gnu-0.32.0.crate) = c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc
-SIZE (rust/crates/windows_x86_64_gnu-0.32.0.crate) = 744209
-SHA256 (rust/crates/windows_x86_64_msvc-0.32.0.crate) = 504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316
-SIZE (rust/crates/windows_x86_64_msvc-0.32.0.crate) = 669835
-SHA256 (rust/crates/winreg-0.7.0.crate) = 0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69
-SIZE (rust/crates/winreg-0.7.0.crate) = 21225
-SHA256 (rust/crates/xml5ever-0.16.2.crate) = 9234163818fd8e2418fcde330655e757900d4236acd8cc70fef345ef91f6d865
-SIZE (rust/crates/xml5ever-0.16.2.crate) = 40971
-SHA256 (rust/crates/zip-0.5.13.crate) = 93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815
-SIZE (rust/crates/zip-0.5.13.crate) = 48237
-SHA256 (rust/crates/zstd-0.10.0+zstd.1.5.2.crate) = 3b1365becbe415f3f0fcd024e2f7b45bacfb5bdd055f0dc113571394114e7bdd
-SIZE (rust/crates/zstd-0.10.0+zstd.1.5.2.crate) = 28748
-SHA256 (rust/crates/zstd-safe-4.1.4+zstd.1.5.2.crate) = 2f7cd17c9af1a4d6c24beb1cc54b17e2ef7b593dc92f19e9d9acad8b182bbaee
-SIZE (rust/crates/zstd-safe-4.1.4+zstd.1.5.2.crate) = 17166
-SHA256 (rust/crates/zstd-sys-1.6.3+zstd.1.5.2.crate) = fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8
-SIZE (rust/crates/zstd-sys-1.6.3+zstd.1.5.2.crate) = 720054
-SHA256 (ankitects-reqwest-7591444614de02b658ddab125efba7b2bb4e2335_GH0.tar.gz) = 477fe630a852f3947a35c4465d9aa247eab3cdbf0a9060b563fb0f3c7d52668b
-SIZE (ankitects-reqwest-7591444614de02b658ddab125efba7b2bb4e2335_GH0.tar.gz) = 176625
-SHA256 (ankitects-hyper-timeout-0cb6f7d14c62819e37cd221736f8b0555e823712_GH0.tar.gz) = 476fa7f37b93fc49b13e9cb9e2f3791c6e505aa24a5ed712db7b152de5074b6b
-SIZE (ankitects-hyper-timeout-0cb6f7d14c62819e37cd221736f8b0555e823712_GH0.tar.gz) = 8790
+SHA256 (rust/crates/windows-0.48.0.crate) = e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f
+SIZE (rust/crates/windows-0.48.0.crate) = 11864177
+SHA256 (rust/crates/windows-sys-0.42.0.crate) = 5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7
+SIZE (rust/crates/windows-sys-0.42.0.crate) = 3006791
+SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0
+SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
+SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
+SHA256 (rust/crates/windows-targets-0.48.0.crate) = 7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5
+SIZE (rust/crates/windows-targets-0.48.0.crate) = 7466
+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_gnullvm-0.48.0.crate) = 91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.0.crate) = 366543
+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_aarch64_msvc-0.48.0.crate) = b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3
+SIZE (rust/crates/windows_aarch64_msvc-0.48.0.crate) = 671479
+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_gnu-0.48.0.crate) = 622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241
+SIZE (rust/crates/windows_i686_gnu-0.48.0.crate) = 741490
+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_i686_msvc-0.48.0.crate) = 4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00
+SIZE (rust/crates/windows_i686_msvc-0.48.0.crate) = 730056
+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_gnu-0.48.0.crate) = ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1
+SIZE (rust/crates/windows_x86_64_gnu-0.48.0.crate) = 703595
+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_gnullvm-0.48.0.crate) = 7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.0.crate) = 366536
+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/windows_x86_64_msvc-0.48.0.crate) = 1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a
+SIZE (rust/crates/windows_x86_64_msvc-0.48.0.crate) = 671422
+SHA256 (rust/crates/winnow-0.4.1.crate) = ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28
+SIZE (rust/crates/winnow-0.4.1.crate) = 138177
+SHA256 (rust/crates/winreg-0.5.1.crate) = a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a
+SIZE (rust/crates/winreg-0.5.1.crate) = 17693
+SHA256 (rust/crates/winreg-0.10.1.crate) = 80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d
+SIZE (rust/crates/winreg-0.10.1.crate) = 25725
+SHA256 (rust/crates/wiremock-0.5.17.crate) = 12316b50eb725e22b2f6b9c4cbede5b7b89984274d113a7440c86e5c3fc6f99b
+SIZE (rust/crates/wiremock-0.5.17.crate) = 41338
+SHA256 (rust/crates/xattr-0.2.3.crate) = 6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc
+SIZE (rust/crates/xattr-0.2.3.crate) = 11959
+SHA256 (rust/crates/xml5ever-0.17.0.crate) = 4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650
+SIZE (rust/crates/xml5ever-0.17.0.crate) = 41208
+SHA256 (rust/crates/xz2-0.1.7.crate) = 388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2
+SIZE (rust/crates/xz2-0.1.7.crate) = 23892
+SHA256 (rust/crates/yasna-0.5.1.crate) = aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4
+SIZE (rust/crates/yasna-0.5.1.crate) = 34375
+SHA256 (rust/crates/zip-0.6.4.crate) = 0445d0fbc924bb93539b4316c11afb121ea39296f99a3c4c9edad09e3658cdef
+SIZE (rust/crates/zip-0.6.4.crate) = 62396
+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-0.12.3+zstd.1.5.2.crate) = 76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806
+SIZE (rust/crates/zstd-0.12.3+zstd.1.5.2.crate) = 29693
+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-safe-6.0.4+zstd.1.5.4.crate) = 7afb4b54b8910cf5447638cb54bf4e8a65cbedd783af98b98c62ffe91f185543
+SIZE (rust/crates/zstd-safe-6.0.4+zstd.1.5.4.crate) = 20856
+SHA256 (rust/crates/zstd-sys-2.0.7+zstd.1.5.4.crate) = 94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5
+SIZE (rust/crates/zstd-sys-2.0.7+zstd.1.5.4.crate) = 732100
+SHA256 (ankitects-rust-url-06a87b6c31c7e9a856a3fb058cb30b204c05b650_GH0.tar.gz) = cc498110f26b113598883e4acfa4ad491f426e939edd46cd46d9f8f51a92f35f
+SIZE (ankitects-rust-url-06a87b6c31c7e9a856a3fb058cb30b204c05b650_GH0.tar.gz) = 394816
SHA256 (ankitects-rust-csv-1c9d3aab6f79a7d815c69f925a46a4590c115f90_GH0.tar.gz) = afbcd5c1ab98abb2d77e75ecdfa99c9e24be5980800104479475771d4cc53063
SIZE (ankitects-rust-csv-1c9d3aab6f79a7d815c69f925a46a4590c115f90_GH0.tar.gz) = 930543
-SHA256 (ankitects-linkcheck-2f20798ce521cc594d510d4e417e76d5eac04d4b_GH0.tar.gz) = bd1ed31953ad5769fee0e784fdafe8ffc2acf2d4b9eaf255462ff70c914e0555
-SIZE (ankitects-linkcheck-2f20798ce521cc594d510d4e417e76d5eac04d4b_GH0.tar.gz) = 19298
-SHA256 (ankitects-tokio-io-timeout-1ee0892217e9a76bba4bb369ec5fab8854935a3c_GH0.tar.gz) = 6200a7dbad6e6d2fd2f37f4a004ae29835364415552c647eb9c803d854de55a2
-SIZE (ankitects-tokio-io-timeout-1ee0892217e9a76bba4bb369ec5fab8854935a3c_GH0.tar.gz) = 8333
-SHA256 (timothee-haudebourg-pct-str-4adccd8d4a222ab2672350a102f06ae832a0572d_GH0.tar.gz) = 86d9e9cf208b9d806f4be6fd60496e5d46d7e30a532d25633a6b1669c432049c
-SIZE (timothee-haudebourg-pct-str-4adccd8d4a222ab2672350a102f06ae832a0572d_GH0.tar.gz) = 11653
-SHA256 (ankitects-anki-2.1.54_GH0.tar.gz) = c8db4aee849f6cc50e451b99633feac34d54bed5ef564ffaaf56acf4e1f6ada4
-SIZE (ankitects-anki-2.1.54_GH0.tar.gz) = 2214984
-SHA256 (ankitects-anki-core-i18n-f3f9912_GH0.tar.gz) = 5ed4d719a177c6be8dd9d8b5a22f28a7cb9173f76e37ecf7a8f4bdf2e2373584
-SIZE (ankitects-anki-core-i18n-f3f9912_GH0.tar.gz) = 951595
-SHA256 (ankitects-anki-desktop-ftl-6e59ce7e_GH0.tar.gz) = 7b13dfc1a4b27d0b91d336fd638d87a42775385893e0f703e83b74c3ec4512ff
-SIZE (ankitects-anki-desktop-ftl-6e59ce7e_GH0.tar.gz) = 198574
-SHA256 (bazelbuild-bazel-skylib-e59b620_GH0.tar.gz) = 1c187d8d6b2ad6804cbb0f76c089e3667ae5d363d87cd46a425f25654b0448cf
-SIZE (bazelbuild-bazel-skylib-e59b620_GH0.tar.gz) = 78257
-SHA256 (bazelbuild-rules_cc-40548a2_GH0.tar.gz) = 9ad895164b7d69a4eb43630a3477bd0737981065a3c92b4b4d6b000d6a8ea7d7
-SIZE (bazelbuild-rules_cc-40548a2_GH0.tar.gz) = 129284
-SHA256 (bazelbuild-rules_java-c13e3ea_GH0.tar.gz) = 113ddc63ac86f493453c4298d78f726cc219ea33cd9fe23659f4269f747390cb
-SIZE (bazelbuild-rules_java-c13e3ea_GH0.tar.gz) = 12055
-SHA256 (bazelbuild-rules_nodejs-45e97fc_GH0.tar.gz) = 6be3b415c6575b17a39e1377c408c6a344e46ebda6288961305475182290e2e8
-SIZE (bazelbuild-rules_nodejs-45e97fc_GH0.tar.gz) = 5678351
-SHA256 (bazelbuild-rules_proto-f7a30f6_GH0.tar.gz) = d92ce309a1309b4e67a761b9f446bd4c9802aadb685199cb94d5eb637b72bae2
-SIZE (bazelbuild-rules_proto-f7a30f6_GH0.tar.gz) = 14397
-SHA256 (bazelbuild-rules_python-b842276_GH0.tar.gz) = 018713e971f9093988a81553469eff9de718d5ec009b313c6c58309a373ecf13
-SIZE (bazelbuild-rules_python-b842276_GH0.tar.gz) = 155188
-SHA256 (ankitects-rules_rust-adf2790_GH0.tar.gz) = 5f3103a13fc6a59c034c8c57b71d088fe4c29341c889e04db9cd673f61b5b6ef
-SIZE (ankitects-rules_rust-adf2790_GH0.tar.gz) = 559541
-SHA256 (bazelbuild-rules_sass-d0cda22_GH0.tar.gz) = 39446ea75f5d4262a5cd8037e4e916d6e5aaab0ab3973945629ee9e4f004a7e2
-SIZE (bazelbuild-rules_sass-d0cda22_GH0.tar.gz) = 22392
-SHA256 (evanw-esbuild-v0.14.11_GH0.tar.gz) = 740f6e52b97324a506a36a120dc8dc783ccf4ab3bb633a426a7d29501055e66a
-SIZE (evanw-esbuild-v0.14.11_GH0.tar.gz) = 1520723
-SHA256 (golang-sys-aa78b53d3365_GH0.tar.gz) = 4ffa7f89bc5cded7b4fc8301fecf7dc99ea0dd4be0a23643a03708db6dd8613a
-SIZE (golang-sys-aa78b53d3365_GH0.tar.gz) = 1211225
+SHA256 (ankitects-linkcheck-184b2ca50ed39ca43da13f0b830a463861adb9ca_GH0.tar.gz) = 58ac773ba2e7c76a9ec3f59ee9571576d76e74d58c4974a1d606d6976e1be70e
+SIZE (ankitects-linkcheck-184b2ca50ed39ca43da13f0b830a463861adb9ca_GH0.tar.gz) = 19408
+SHA256 (ankitects-anki-2.1.62_GH0.tar.gz) = dbd7c791d2fea55243620d474e6da2f6a555c573835811ebbdcfa032a296714f
+SIZE (ankitects-anki-2.1.62_GH0.tar.gz) = 2279193
+SHA256 (ankitects-anki-core-i18n-7638cf0_GH0.tar.gz) = 7b5eee967bf7a8474e3bb312df48bd8fb923a4425cb65b30a02d229d8b6dcfb3
+SIZE (ankitects-anki-core-i18n-7638cf0_GH0.tar.gz) = 1072920
+SHA256 (ankitects-anki-desktop-ftl-e1abce4_GH0.tar.gz) = 53cd5192837ceb68f87cd703bd9fc7115dbfe41c5d146d53c5d7674595da5603
+SIZE (ankitects-anki-desktop-ftl-e1abce4_GH0.tar.gz) = 203656
diff --git a/games/anki/files/bazel/BUILD.bazel-local_esbuild b/games/anki/files/bazel/BUILD.bazel-local_esbuild
deleted file mode 100644
index 4397b7fcd742..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-local_esbuild
+++ /dev/null
@@ -1 +0,0 @@
-exports_files(["bin/esbuild"])
diff --git a/games/anki/files/bazel/BUILD.bazel-local_node b/games/anki/files/bazel/BUILD.bazel-local_node
deleted file mode 100644
index 62a687e4a1a1..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-local_node
+++ /dev/null
@@ -1 +0,0 @@
-exports_files(["node/bin/node"])
diff --git a/games/anki/files/bazel/BUILD.bazel-protoc_bin_freebsd b/games/anki/files/bazel/BUILD.bazel-protoc_bin_freebsd
deleted file mode 100644
index 0ef0e2ab8079..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-protoc_bin_freebsd
+++ /dev/null
@@ -1 +0,0 @@
-exports_files(["bin/protoc"])
diff --git a/games/anki/files/bazel/BUILD.bazel-pylib-rsbridge b/games/anki/files/bazel/BUILD.bazel-pylib-rsbridge
deleted file mode 100644
index 7e84e1562e1c..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-pylib-rsbridge
+++ /dev/null
@@ -1,12 +0,0 @@
-# Handles the further processing of "librsbridge.so" within bazel
-
-load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
-
-copy_file(
- name = "rsbridge",
- src = "//local_repos/rust_output/librsbridge",
- out = "librsbridge.so",
- visibility = [
- "//pylib:__subpackages__",
- ],
-)
diff --git a/games/anki/files/bazel/BUILD.bazel-rslib-i18n b/games/anki/files/bazel/BUILD.bazel-rslib-i18n
deleted file mode 100644
index 3b4db792acf8..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-rslib-i18n
+++ /dev/null
@@ -1,10 +0,0 @@
-# Handles the further processing of "strings.json" within bazel
-
-load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
-
-copy_file(
- name = "strings_json",
- src = "//local_repos/rust_output/strings_json",
- out = "strings.json",
- visibility = ["//visibility:public"],
-)
diff --git a/games/anki/files/bazel/BUILD.bazel-rust_output-librsbridge b/games/anki/files/bazel/BUILD.bazel-rust_output-librsbridge
deleted file mode 100644
index 9b5ad80ca11b..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-rust_output-librsbridge
+++ /dev/null
@@ -1,7 +0,0 @@
-# Expose "librsbridge.so" to bazel
-
-filegroup(
- name = "librsbridge",
- srcs = ["librsbridge.so"],
- visibility = ["//visibility:public"],
-)
diff --git a/games/anki/files/bazel/BUILD.bazel-rust_output-strings_json b/games/anki/files/bazel/BUILD.bazel-rust_output-strings_json
deleted file mode 100644
index b8de968e6d2e..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-rust_output-strings_json
+++ /dev/null
@@ -1,7 +0,0 @@
-# Expose "strings.json" to bazel
-
-filegroup(
- name = "strings_json",
- srcs = ["strings.json"],
- visibility = ["//visibility:public"],
-)
diff --git a/games/anki/files/bazel/repos.bzl b/games/anki/files/bazel/repos.bzl
deleted file mode 100644
index 00e0d7751d56..000000000000
--- a/games/anki/files/bazel/repos.bzl
+++ /dev/null
@@ -1,93 +0,0 @@
-# Definitions of local bazel repositories
-
-def register_repos():
- "Register required dependency repos."
-
- # bazel
- #########
- native.local_repository(
- name = "bazel_skylib",
- path = "%%_MY_LOCALREPO%%/bzlskylib",
- )
-
- # rust
- ########
- native.local_repository(
- name = "rules_rust",
- path = "%%_MY_LOCALREPO%%/rules_rust",
- )
-
- # protobuf
- ############
- native.local_repository(
- name = "rules_proto",
- path = "%%_MY_LOCALREPO%%/rules_proto",
- )
-
- # python
- ##########
- native.local_repository(
- name = "rules_python",
- path = "%%_MY_LOCALREPO%%/rules_python",
- )
-
- # javascript
- ##############
- native.local_repository(
- name = "build_bazel_rules_nodejs",
- path = "%%_MY_LOCALREPO%%/rules_nodejs",
- )
-
- native.local_repository(
- name = "rules_nodejs",
- path = "%%_MY_LOCALREPO%%/rules_nodejs",
- )
-
- # sass
- ########
- native.local_repository(
- name = "io_bazel_rules_sass",
- path = "%%_MY_LOCALREPO%%/rules_sass",
- )
-
- # i18n translation files
- ##########################
- native.local_repository(
- name = "rslib_ftl",
- path = "%%_MY_LOCALREPO%%/ftlrslib",
- )
-
- # i18n extra files
- ####################
- native.local_repository(
- name = "extra_ftl",
- path = "%%_MY_LOCALREPO%%/ftlextra",
- )
-
- # transitive dependency
- #########################
- native.local_repository(
- name = "rules_cc",
- path = "%%_MY_LOCALREPO%%/rules_cc",
- )
-
- # transitive dependency
- #########################
- native.local_repository(
- name = "rules_java",
- path = "%%_MY_LOCALREPO%%/rules_java",
- )
-
- # transitive dependency
- #########################
- native.local_repository(
- name = "build_bazel_rules_typescript",
- path = "%%_MY_LOCALREPO%%/rules_nodejs/third_party/github.com/bazelbuild/rules_typescript",
- )
-
- # provides node from ports
- ############################
- native.local_repository(
- name = "local_node",
- path = "%%_MY_LOCALREPO%%/local_node",
- )
diff --git a/games/anki/files/patch-build_configure_src_main.rs b/games/anki/files/patch-build_configure_src_main.rs
new file mode 100644
index 000000000000..b48568f2daf7
--- /dev/null
+++ b/games/anki/files/patch-build_configure_src_main.rs
@@ -0,0 +1,48 @@
+Check for NO_BUNDLE and NO_VENV environment variables.
+
+--- build/configure/src/main.rs.orig 2023-03-31 02:32:25 UTC
++++ build/configure/src/main.rs
+@@ -10,6 +10,8 @@ mod web;
+ mod rust;
+ mod web;
+
++use std::env;
++
+ use aqt::build_and_check_aqt;
+ use bundle::build_bundle;
+ use ninja_gen::python::setup_python;
+@@ -20,6 +22,7 @@ use python::setup_venv;
+ use python::check_copyright;
+ use python::check_python;
+ use python::setup_venv;
++use python::setup_venv_stub;
+ use rust::build_rust;
+ use rust::check_rust;
+ use web::build_and_check_web;
+@@ -39,13 +42,24 @@ fn main() -> Result<()> {
+ let build = &mut build;
+
+ setup_python(build)?;
+- setup_venv(build)?;
+
++ if env::var("NO_VENV").is_ok() {
++ println!("NO_VENV is set, using Python system environment.");
++ setup_venv_stub(build)?;
++ } else {
++ setup_venv(build)?;
++ }
++
+ build_rust(build)?;
+ build_pylib(build)?;
+ build_and_check_web(build)?;
+ build_and_check_aqt(build)?;
+- build_bundle(build)?;
++
++ if env::var("NO_BUNDLE").is_ok() {
++ println!("NO_BUNDLE is set, skipping build of bundles.");
++ } else {
++ build_bundle(build)?;
++ }
+
+ check_rust(build)?;
+ check_pylib(build)?;
diff --git a/games/anki/files/patch-build_configure_src_python.rs b/games/anki/files/patch-build_configure_src_python.rs
new file mode 100644
index 000000000000..70af42a3b5ae
--- /dev/null
+++ b/games/anki/files/patch-build_configure_src_python.rs
@@ -0,0 +1,39 @@
+Use the "PythonEnvironmentStub" function to use a native Python environment
+instead of Python venv.
+
+--- build/configure/src/python.rs.orig 2023-05-01 01:47:30 UTC
++++ build/configure/src/python.rs
+@@ -11,6 +11,7 @@ use ninja_gen::python::PythonEnvironment;
+ use ninja_gen::inputs;
+ use ninja_gen::python::python_format;
+ use ninja_gen::python::PythonEnvironment;
++use ninja_gen::python::PythonEnvironmentStub;
+ use ninja_gen::python::PythonLint;
+ use ninja_gen::python::PythonTypecheck;
+ use ninja_gen::rsync::RsyncFiles;
+@@ -73,6 +74,25 @@ pub fn setup_venv(build: &mut Build) -> Result<()> {
+ base_requirements_txt: inputs!["python/requirements.base.txt"],
+ requirements_txt: inputs![reqs_qt5, "python/requirements.qt5_14.txt"],
+ extra_binary_exports: &[],
++ },
++ )?;
++
++ Ok(())
++}
++
++pub fn setup_venv_stub(build: &mut Build) -> Result<()> {
++ build.add(
++ "pyenv",
++ PythonEnvironmentStub {
++ folder: "pyenv",
++ extra_binary_exports: &[
++ "mypy",
++ "black", // Required in some parts of the code, but not for build
++ "isort", // dito
++ "pylint", // dito
++ "pytest", // dito
++ "protoc-gen-mypy",
++ ],
+ },
+ )?;
+
diff --git a/games/anki/files/patch-build_configure_src_rust.rs b/games/anki/files/patch-build_configure_src_rust.rs
new file mode 100644
index 000000000000..cac48e291b06
--- /dev/null
+++ b/games/anki/files/patch-build_configure_src_rust.rs
@@ -0,0 +1,69 @@
+Check for the OFFLINE_BUILD environment variable to prevent issuing the repo
+sync that requires git and an internet connection.
+
+--- build/configure/src/rust.rs.orig 2023-03-31 02:32:25 UTC
++++ build/configure/src/rust.rs
+@@ -1,6 +1,8 @@
+ // Copyright: Ankitects Pty Ltd and contributors
+ // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
+
++use std::env;
++
+ use ninja_gen::cargo::CargoBuild;
+ use ninja_gen::cargo::CargoClippy;
+ use ninja_gen::cargo::CargoFormat;
+@@ -8,6 +10,7 @@ use ninja_gen::git::SyncSubmodule;
+ use ninja_gen::cargo::CargoTest;
+ use ninja_gen::cargo::RustOutput;
+ use ninja_gen::git::SyncSubmodule;
++use ninja_gen::git::SyncSubmoduleOffline;
+ use ninja_gen::glob;
+ use ninja_gen::inputs;
+ use ninja_gen::Build;
+@@ -24,18 +27,34 @@ fn prepare_translations(build: &mut Build) -> Result<(
+
+ fn prepare_translations(build: &mut Build) -> Result<()> {
+ // ensure repos are checked out
+- build.add(
+- "ftl:repo:core",
+- SyncSubmodule {
+- path: "ftl/core-repo",
+- },
+- )?;
+- build.add(
+- "ftl:repo:qt",
+- SyncSubmodule {
+- path: "ftl/qt-repo",
+- },
+- )?;
++ if env::var("OFFLINE_BUILD").is_ok() {
++ println!("OFFLINE_BUILD set, skipping git repository sync for translation files.");
++ build.add(
++ "ftl:repo:core",
++ SyncSubmoduleOffline {
++ path: "ftl/core-repo",
++ },
++ )?;
++ build.add(
++ "ftl:repo:qt",
++ SyncSubmoduleOffline {
++ path: "ftl/qt-repo",
++ },
++ )?;
++ } else {
++ build.add(
++ "ftl:repo:core",
++ SyncSubmodule {
++ path: "ftl/core-repo",
++ },
++ )?;
++ build.add(
++ "ftl:repo:qt",
++ SyncSubmodule {
++ path: "ftl/qt-repo",
++ },
++ )?;
++ }
+ // build anki_i18n and spit out strings.json
+ build.add(
+ "rslib/i18n",
diff --git a/games/anki/files/patch-build_ninja__gen_src_archives.rs b/games/anki/files/patch-build_ninja__gen_src_archives.rs
new file mode 100644
index 000000000000..79252c6151fe
--- /dev/null
+++ b/games/anki/files/patch-build_ninja__gen_src_archives.rs
@@ -0,0 +1,29 @@
+Enable the build for FreeBSD. Technically it would make sense to define
+corresponding variables, e.g. "FreeBSDX64" for FreeBSD amd64, instead of
+using the already defined variables.
+
+The problem here is that new variables have to be defined in other places
+(= "configure/src/python.rs", "ninja_gen/src/{node,python,protobuf}.rs")
+and are actually mostly needed to obtain the corresponding binary
+distributions for Node, Protobuf, and Python.
+
+Since the latter is already bypassed by setting the environment variables
+"{NODE,PROTOC,PYTHON,YARN}_BINARY", it makes little sense to patch the
+other parts of the code for now.
+
+It probably makes sense to have a generic variable (e.g. "Self::FreeBSD")
+for all FreeBSD architectures that is used in conjunction with NO_BUNDLE,
+NO_VENV, OFFLINE_BUILD and OFFLINE_YARNCACHE to allow building on FreeBSD
+(and preferably other BSDs) persistently.
+
+--- build/ninja_gen/src/archives.rs.orig 2023-03-31 02:32:25 UTC
++++ build/ninja_gen/src/archives.rs
+@@ -39,6 +39,8 @@ impl Platform {
+ let os = std::env::consts::OS;
+ let arch = std::env::consts::ARCH;
+ match (os, arch) {
++ ("freebsd", "x86_64") => Self::LinuxX64,
++ ("freebsd", "aarch64") => Self::LinuxArm,
+ ("linux", "x86_64") => Self::LinuxX64,
+ ("linux", "aarch64") => Self::LinuxArm,
+ ("macos", "x86_64") => Self::MacX64,
diff --git a/games/anki/files/patch-build_ninja__gen_src_cargo.rs b/games/anki/files/patch-build_ninja__gen_src_cargo.rs
new file mode 100644
index 000000000000..9fef895770b7
--- /dev/null
+++ b/games/anki/files/patch-build_ninja__gen_src_cargo.rs
@@ -0,0 +1,13 @@
+Make the cargo build for the rust library more verbose
+
+--- build/ninja_gen/src/cargo.rs.orig 2023-04-09 12:58:05 UTC
++++ build/ninja_gen/src/cargo.rs
+@@ -74,7 +74,7 @@ impl BuildAction for CargoBuild<'_> {
+
+ impl BuildAction for CargoBuild<'_> {
+ fn command(&self) -> &str {
+- "cargo build $release_arg $target_arg $cargo_flags $extra_args"
++ "cargo build $release_arg $target_arg $cargo_flags $extra_args --verbose --verbose"
+ }
+
+ fn files(&mut self, build: &mut impl FilesHandle) {
diff --git a/games/anki/files/patch-build_ninja__gen_src_git.rs b/games/anki/files/patch-build_ninja__gen_src_git.rs
new file mode 100644
index 000000000000..d3c72a3f7f6e
--- /dev/null
+++ b/games/anki/files/patch-build_ninja__gen_src_git.rs
@@ -0,0 +1,34 @@
+Add "SyncSubmoduleOffline" stub function that is used if the OFFLINE_BUILD
+environment variable is set.
+
+--- build/ninja_gen/src/git.rs.orig 2023-03-31 02:32:25 UTC
++++ build/ninja_gen/src/git.rs
+@@ -11,6 +11,10 @@ pub struct SyncSubmodule {
+ pub path: &'static str,
+ }
+
++pub struct SyncSubmoduleOffline {
++ pub path: &'static str,
++}
++
+ impl BuildAction for SyncSubmodule {
+ fn command(&self) -> &str {
+ "git -c protocol.file.allow=always submodule update --init $path"
+@@ -33,6 +37,17 @@ impl BuildAction for SyncSubmodule {
+
+ fn concurrency_pool(&self) -> Option<&'static str> {
+ Some("git")
++ }
++}
++
++impl BuildAction for SyncSubmoduleOffline {
++ fn command(&self) -> &str {
++ "echo Runnung SyncSubmoduleOffline stub function for $path"
++ }
++
++ fn files(&mut self, build: &mut impl build::FilesHandle) {
++ build.add_variable("path", self.path);
++ build.add_output_stamp(format!("git/{}", self.path));
+ }
+ }
+
diff --git a/games/anki/files/patch-build_ninja__gen_src_python.rs b/games/anki/files/patch-build_ninja__gen_src_python.rs
new file mode 100644
index 000000000000..625ac53038f5
--- /dev/null
+++ b/games/anki/files/patch-build_ninja__gen_src_python.rs
@@ -0,0 +1,53 @@
+Add "PythonEnvironmentStub" stub function that is used if the NO_VENV
+environment variable is set.
+
+--- build/ninja_gen/src/python.rs.orig 2023-03-31 02:32:25 UTC
++++ build/ninja_gen/src/python.rs
+@@ -87,6 +87,11 @@ pub struct PythonEnvironment {
+ pub extra_binary_exports: &'static [&'static str],
+ }
+
++pub struct PythonEnvironmentStub {
++ pub folder: &'static str,
++ pub extra_binary_exports: &'static [&'static str],
++}
++
+ impl BuildAction for PythonEnvironment {
+ fn command(&self) -> &str {
+ "$runner pyenv $python_binary $builddir/$pyenv_folder $system_pkgs $base_requirements $requirements"
+@@ -109,6 +114,35 @@ impl BuildAction for PythonEnvironment {
+ build.add_variable("pyenv_folder", self.folder);
+ build.add_outputs_ext("bin", bin_path("python"), true);
+ build.add_outputs_ext("pip", bin_path("pip"), true);
++ for binary in self.extra_binary_exports {
++ build.add_outputs_ext(*binary, bin_path(binary), true);
++ }
++ }
++
++ fn check_output_timestamps(&self) -> bool {
++ true
++ }
++}
++
++impl BuildAction for PythonEnvironmentStub {
++ fn command(&self) -> &str {
++ "echo Running PythonEnvironmentStub..."
++ }
++
++ fn files(&mut self, build: &mut impl crate::build::FilesHandle) {
++ let bin_path = |binary: &str| -> Vec<String> {
++ let folder = self.folder;
++ let path = if cfg!(windows) {
++ format!("{folder}/scripts/{binary}.exe")
++ } else {
++ format!("{folder}/bin/{binary}")
++ };
++ vec![path]
++ };
++
++ build.add_inputs("python_binary", inputs!["$python_binary"]);
++ build.add_variable("pyenv_folder", self.folder);
++ build.add_outputs_ext("bin", bin_path("python"), true);
+ for binary in self.extra_binary_exports {
+ build.add_outputs_ext(*binary, bin_path(binary), true);
+ }
diff --git a/games/anki/files/patch-build_runner_src_build.rs b/games/anki/files/patch-build_runner_src_build.rs
new file mode 100644
index 000000000000..2dcbff079d04
--- /dev/null
+++ b/games/anki/files/patch-build_runner_src_build.rs
@@ -0,0 +1,48 @@
+* Make ninja build verbose
+* Respect NINJA_STATUS if already set
+* Make cargo build for components of the build framework (= runner) more verbose
+* Check for OFFLINE_BUILD environment variable to prevent repo sync
+
+--- build/runner/src/build.rs.orig 2023-05-01 01:47:30 UTC
++++ build/runner/src/build.rs
+@@ -58,10 +58,10 @@ pub fn run_build(args: BuildArgs) {
+ let start_time = Instant::now();
+ let mut command = Command::new("ninja");
+ command
++ .arg("-v")
+ .arg("-f")
+ .arg(&build_file)
+ .args(ninja_args)
+- .env("NINJA_STATUS", "[%f/%t; %r active; %es] ")
+ .env("PATH", path)
+ .env(
+ "MYPY_CACHE_DIR",
+@@ -76,6 +76,10 @@ pub fn run_build(args: BuildArgs) {
+ // Updating svelte-check or its deps will likely remove the need for it.
+ .env("NODE_OPTIONS", "--no-experimental-fetch");
+
++ if env::var("NINJA_STATUS").is_err() {
++ command.env("NINJA_STATUS", "[%f/%t; %r active; %es] ");
++ }
++
+ // run build
+ let mut status = command.status().expect("ninja not installed");
+ if !status.success() && Instant::now().duration_since(start_time).as_secs() < 3 {
+@@ -147,7 +151,7 @@ fn bootstrap_build() {
+
+ fn bootstrap_build() {
+ let status = Command::new("cargo")
+- .args(["run", "-p", "configure"])
++ .args(["run", "-p", "configure", "--verbose"])
+ .status();
+ assert!(status.expect("ninja").success());
+ }
+@@ -155,7 +159,7 @@ fn maybe_update_buildhash(build_root: &Utf8Path) {
+ fn maybe_update_buildhash(build_root: &Utf8Path) {
+ // only updated on release builds
+ let path = build_root.join("buildhash");
+- if env::var("RELEASE").is_ok() || !path.exists() {
++ if (env::var("RELEASE").is_ok() && env::var("OFFLINE_BUILD").is_err()) || !path.exists() {
+ write_if_changed(&path, &get_buildhash())
+ }
+ }
diff --git a/games/anki/files/patch-build_runner_src_yarn.rs b/games/anki/files/patch-build_runner_src_yarn.rs
new file mode 100644
index 000000000000..7b7e40341a3e
--- /dev/null
+++ b/games/anki/files/patch-build_runner_src_yarn.rs
@@ -0,0 +1,35 @@
+Check for OFFLINE_BUILD and OFFLINE_YARNCACHE environment variables to run yarn
+in offline mode with a custom offline cache.
+
+If so, run yarn once more to run the "post-install" target of the package
+"patch-package" to patch the "protobufjs" package. Otherwise the editor of
+Anki will not work as no symbols and fields are shown.
+
+--- build/runner/src/yarn.rs.orig 2023-05-01 01:47:30 UTC
++++ build/runner/src/yarn.rs
+@@ -1,6 +1,8 @@
+ // Copyright: Ankitects Pty Ltd and contributors
+ // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
+
++use std::env;
++
+ use std::path::Path;
+ use std::process::Command;
+
+@@ -17,7 +19,15 @@ pub fn setup_yarn(args: YarnArgs) {
+ pub fn setup_yarn(args: YarnArgs) {
+ link_node_modules();
+
+- run_silent(Command::new(&args.yarn_bin).arg("install"));
++ if env::var("OFFLINE_BUILD").is_ok() && env::var("OFFLINE_YARNCACHE").is_ok() {
++ println!("OFFLINE_BUILD and OFFLINE_YARNCACHE are set");
++ println!("Running yarn with --offline, --cache-folder and --ignore-scripts.");
++ let offline_yarn_cache = env!("OFFLINE_YARNCACHE");
++ run_silent(Command::new(&args.yarn_bin).arg("install").arg("--offline").arg("--cache-folder").arg(offline_yarn_cache).arg("--ignore-scripts"));
++ run_silent(Command::new(&args.yarn_bin).arg("add").arg("--offline").arg("--cache-folder").arg(offline_yarn_cache).arg("patch-package"));
++ } else {
++ run_silent(Command::new(&args.yarn_bin).arg("install"));
++ }
+
+ std::fs::write(args.stamp, b"").unwrap();
+ }
diff --git a/games/anki/files/patch-defs.bzl b/games/anki/files/patch-defs.bzl
deleted file mode 100644
index 68178581f619..000000000000
--- a/games/anki/files/patch-defs.bzl
+++ /dev/null
@@ -1,55 +0,0 @@
-Avoid loading of Rust and Python PIP rules as both tries to load their
-dependencies (cargo crates, Python packages) during the build process.
-
-Also define local repositories to use "www/node" and "www/yarn" from the
-Ports tree.
-
---- defs.bzl.orig 2022-06-24 05:10:06 UTC
-+++ defs.bzl
-@@ -1,6 +1,5 @@ load("@bazel_skylib//lib:versions.bzl", "versions")
- load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
- load("@bazel_skylib//lib:versions.bzl", "versions")
--load("@rules_rust//rust:repositories.bzl", "rust_repositories")
- load("@ankidesktop//cargo:crates.bzl", "raze_fetch_remote_crates")
- load("//python:python.bzl", "setup_local_python")
- load("//proto:protobuf.bzl", "setup_protobuf_binary")
-@@ -17,14 +16,6 @@ def setup_deps():
-
- versions.check(minimum_bazel_version = "3.7.0")
-
-- rust_repositories(
-- edition = "2021",
-- include_rustc_srcs = False,
-- version = "1.58.1",
-- )
--
-- raze_fetch_remote_crates()
--
- setup_local_python(name = "python")
-
- setup_protobuf_binary(name = "com_google_protobuf")
-@@ -33,13 +24,6 @@ def setup_deps():
-
- native.register_toolchains("@python//:python3_toolchain")
-
-- pip_parse(
-- name = "py_deps",
-- requirements_lock = "@ankidesktop//python:requirements.txt",
-- python_interpreter_target = "@python//:python",
-- extra_pip_args = ["--require-hashes"],
-- )
--
- install_pyqt(
- name = "pyqt6",
- python_runtime = "@python//:python",
-@@ -60,7 +44,9 @@ def setup_deps():
-
- node_repositories(
- package_json = ["@ankidesktop//:package.json"],
-- node_version = "16.13.2",
-+ node_version = "16.15.1",
-+ vendored_node = "@local_node//:node",
-+ vendored_yarn = "@local_node//:yarn",
- )
-
- yarn_install(
diff --git a/games/anki/files/patch-ftl_BUILD.bazel b/games/anki/files/patch-ftl_BUILD.bazel
deleted file mode 100644
index 1d09b3dd0383..000000000000
--- a/games/anki/files/patch-ftl_BUILD.bazel
+++ /dev/null
@@ -1,16 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- ftl/BUILD.bazel.orig 2021-05-04 05:04:50 UTC
-+++ ftl/BUILD.bazel
-@@ -1,10 +1,6 @@
--load("@py_deps//:requirements.bzl", "requirement")
-
- fluent_syntax = [
-- requirement("fluent.syntax"),
-- requirement("compare-locales"),
- # undeclared runtime dependency
-- requirement("six"),
- ]
-
- filegroup(
diff --git a/games/anki/files/patch-late__deps.bzl b/games/anki/files/patch-late__deps.bzl
deleted file mode 100644
index 147d9c63a3c3..000000000000
--- a/games/anki/files/patch-late__deps.bzl
+++ /dev/null
@@ -1,16 +0,0 @@
-Avoid loading of Rust and Python PIP rules as both tries to load their
-dependencies (cargo crates, Python packages) during the build process.
-
---- late_deps.bzl.orig 2022-06-24 05:10:06 UTC
-+++ late_deps.bzl
-@@ -1,10 +1,6 @@
- """Repo setup that can't happen until after defs.bzl:setup_deps() is run."""
-
--load("@py_deps//:requirements.bzl", "install_deps")
--load("@rules_rust//tools/rust_analyzer/raze:crates.bzl", "rules_rust_tools_rust_analyzer_fetch_remote_crates")
- load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories")
-
- def setup_late_deps():
-- install_deps()
-- rules_rust_tools_rust_analyzer_fetch_remote_crates()
- esbuild_repositories()
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js b/games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js
deleted file mode 100644
index 7f6fffb94fb1..000000000000
--- a/games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js
+++ /dev/null
@@ -1,13 +0,0 @@
-Avoid hardcoded paths and Use "shells/bash" from the Ports tree.
-
---- local_repos/rules_nodejs/internal/node/node_patches.js.orig 2021-08-02 17:17:08 UTC
-+++ local_repos/rules_nodejs/internal/node/node_patches.js
-@@ -560,7 +560,7 @@ set Path=${nodeDir};%Path%
- else {
- const nodeEntry = path__default['default'].join(nodeDir, 'node');
- if (!fs__default['default'].existsSync(nodeEntry)) {
-- fs__default['default'].writeFileSync(nodeEntry, `#!/bin/bash
-+ fs__default['default'].writeFileSync(nodeEntry, `#!%%LOCALBASE%%/bin/bash
- export NP_SUBPROCESS_NODE_DIR="${nodeDir}"
- export PATH="${nodeDir}":\$PATH
- if [[ ! "\${@}" =~ "${file}" ]]; then
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_internal_npm__install_npm__install.bzl b/games/anki/files/patch-local__repos_rules__nodejs_internal_npm__install_npm__install.bzl
deleted file mode 100644
index 8e3a73429766..000000000000
--- a/games/anki/files/patch-local__repos_rules__nodejs_internal_npm__install_npm__install.bzl
+++ /dev/null
@@ -1,14 +0,0 @@
-Add additional arguments to "www/yarn" to point to the cache folder and prevent
-it to establish network connections during the build process.
-
---- local_repos/rules_nodejs/internal/npm_install/npm_install.bzl.orig 2022-07-10 12:17:50 UTC
-+++ local_repos/rules_nodejs/internal/npm_install/npm_install.bzl
-@@ -824,6 +824,8 @@ def _yarn_install_impl(repository_ctx):
- yarn = get_yarn_label(repository_ctx)
- yarn_version = _detect_yarn_version(repository_ctx, yarn)
- yarn_args = []
-+ yarn_args.append("--cache-folder %%_MY_YARNCACHE%%")
-+ yarn_args.append("--offline")
-
- # CLI arguments changed in yarn 2+
- if yarn_version == "berry":
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_nodejs_private_os__name.bzl b/games/anki/files/patch-local__repos_rules__nodejs_nodejs_private_os__name.bzl
deleted file mode 100644
index aa412aadd93a..000000000000
--- a/games/anki/files/patch-local__repos_rules__nodejs_nodejs_private_os__name.bzl
+++ /dev/null
@@ -1,33 +0,0 @@
-Add FreeBSD to the list of supported architectures for NodeJS.
-
---- local_repos/rules_nodejs/nodejs/private/os_name.bzl.orig 2022-07-03 10:33:49 UTC
-+++ local_repos/rules_nodejs/nodejs/private/os_name.bzl
-@@ -25,6 +25,7 @@ OS_ARCH_NAMES = [
- ("linux", "arm64"),
- ("linux", "s390x"),
- ("linux", "ppc64le"),
-+ ("freebsd", "all"),
- ]
-
- OS_NAMES = ["_".join(os_arch_name) for os_arch_name in OS_ARCH_NAMES]
-@@ -58,6 +59,8 @@ def os_name(rctx):
- return OS_NAMES[5]
- elif arch == "ppc64le":
- return OS_NAMES[6]
-+ elif os_name.startswith("freebsd"):
-+ return OS_NAMES[7]
-
- fail("Unsupported operating system {} architecture {}".format(os_name, arch))
-
-@@ -73,7 +76,10 @@ def node_exists_for_os(node_version, os_name):
- return name == OS_NAMES[3] or name == OS_NAMES[4] or name == OS_NAMES[5] or name == OS_NAMES[6]
-
- def node_exists_for_os(node_version, os_name):
-- return "-".join([node_version, os_name]) in NODE_VERSIONS.keys()
-+ if os_name.startswith("freebsd"):
-+ return True
-+ else:
-+ return "-".join([node_version, os_name]) in NODE_VERSIONS.keys()
-
- def assert_node_exists_for_host(rctx):
- node_version = rctx.attr.node_version
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__packages.bzl b/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__packages.bzl
deleted file mode 100644
index bbd151bcaf94..000000000000
--- a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__packages.bzl
+++ /dev/null
@@ -1,23 +0,0 @@
-Add a stub entry for a pseudo FreeBSD package. Parts of it are used to serve
-as the basis for the esbuild NPM repository containing the wrapper script for
-esbuild.
-
---- local_repos/rules_nodejs/toolchains/esbuild/esbuild_packages.bzl.orig 2022-07-29 09:05:04 UTC
-+++ local_repos/rules_nodejs/toolchains/esbuild/esbuild_packages.bzl
-@@ -11,6 +11,16 @@ ESBUILD_PACKAGES = struct(
- ESBUILD_PACKAGES = struct(
- version = _VERSION,
- platforms = dict({
-+ "freebsd_all": struct(
-+ sha = "",
-+ urls = [
-+ ""
-+ ],
-+ binary_path = "bin/esbuild",
-+ exec_compatible_with = [
-+ "@platforms//os:freebsd",
-+ ],
-+ ),
- "darwin_amd64": struct(
- sha = _DARWIN_AMD64_SHA,
- urls = [
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__repositories.bzl b/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__repositories.bzl
deleted file mode 100644
index 26b2686e3a1b..000000000000
--- a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__repositories.bzl
+++ /dev/null
@@ -1,43 +0,0 @@
-Define the FreeBSD esbuild repository (= "freebsd_esbuild_all"), which uses the
-esbuild binary, which is built via the "pre-build" target. Skip the creation
-of the remaining esbuild repositories to speed up the processing.
-
-Fix the path to the esbuild package as well otherwise the esbuild JS module
-cannot be found during build.
-
---- local_repos/rules_nodejs/toolchains/esbuild/esbuild_repositories.bzl.orig 2022-07-29 09:05:04 UTC
-+++ local_repos/rules_nodejs/toolchains/esbuild/esbuild_repositories.bzl
-@@ -45,14 +45,13 @@ def esbuild_repositories(name = "", npm_repository = "
- )
-
- for name, meta in ESBUILD_PACKAGES.platforms.items():
-- _maybe(
-- http_archive,
-- name = "esbuild_%s" % name,
-- urls = meta.urls,
-- strip_prefix = "package",
-- build_file_content = """exports_files(["%s"])""" % meta.binary_path,
-- sha256 = meta.sha,
-- )
-+ if name.startswith("freebsd"):
-+ native.local_repository(
-+ name = "esbuild_freebsd_all",
-+ path = "%%_MY_LOCALREPO%%/local_esbuild",
-+ )
-+ else:
-+ continue
-
- toolchain_label = Label("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_%s_toolchain" % name)
- native.register_toolchains("@%s//%s:%s" % (toolchain_label.workspace_name, toolchain_label.package, toolchain_label.name))
-@@ -63,11 +62,6 @@ def esbuild_repositories(name = "", npm_repository = "
- pkg_label = Label("@%s//packages/esbuild:esbuild.bzl" % npm_repository)
- package_path = "external/" + pkg_label.workspace_name + "/@bazel/esbuild"
-
-- # BEGIN-INTERNAL
-- # But when used within rules_nodejs locally from source, it's linked next to the launcher.js source
-- package_path = "packages/esbuild"
--
-- # END-INTERNAL
- npm_install(
- name = "esbuild_npm",
- package_json = Label("@build_bazel_rules_nodejs//toolchains/esbuild:package.json"),
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel b/games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel
deleted file mode 100644
index df1e11eb0f54..000000000000
--- a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel
+++ /dev/null
@@ -1,50 +0,0 @@
-Add FreeBSD to the list of supported operating systems.
-
---- local_repos/rules_nodejs/toolchains/node/BUILD.bazel.orig 2022-07-03 09:20:00 UTC
-+++ local_repos/rules_nodejs/toolchains/node/BUILD.bazel
-@@ -34,6 +34,13 @@ platform(
- )
-
- platform(
-+ name = "freebsd_all",
-+ constraint_values = [
-+ "@platforms//os:freebsd",
-+ ],
-+)
-+
-+platform(
- name = "linux_amd64",
- constraint_values = [
- "@platforms//os:linux",
-@@ -98,6 +105,7 @@ alias(
- actual = select({
- "@bazel_tools//src/conditions:darwin_arm64": "@nodejs_darwin_arm64_config//:toolchain",
- "@bazel_tools//src/conditions:darwin_x86_64": "@nodejs_darwin_amd64_config//:toolchain",
-+ "@bazel_tools//src/conditions:freebsd": "@nodejs_freebsd_all_config//:toolchain",
- "@bazel_tools//src/conditions:linux_aarch64": "@nodejs_linux_arm64_config//:toolchain",
- "@bazel_tools//src/conditions:linux_s390x": "@nodejs_linux_s390x_config//:toolchain",
- "@bazel_tools//src/conditions:linux_x86_64": "@nodejs_linux_amd64_config//:toolchain",
-@@ -114,6 +122,7 @@ alias(
- actual = select({
- "@bazel_tools//src/conditions:darwin_arm64": "@nodejs_darwin_arm64//:node_bin",
- "@bazel_tools//src/conditions:darwin_x86_64": "@nodejs_darwin_amd64//:node_bin",
-+ "@bazel_tools//src/conditions:freebsd": "@nodejs_freebsd_all//:node_bin",
- "@bazel_tools//src/conditions:linux_aarch64": "@nodejs_linux_arm64//:node_bin",
- "@bazel_tools//src/conditions:linux_s390x": "@nodejs_linux_s390x//:node_bin",
- "@bazel_tools//src/conditions:linux_x86_64": "@nodejs_linux_amd64//:node_bin",
-@@ -122,6 +131,15 @@ alias(
- "//conditions:default": "@nodejs_linux_amd64//:node_bin",
- }),
- visibility = ["//visibility:public"],
-+)
-+
-+toolchain(
-+ name = "node_freebsd_all_toolchain",
-+ target_compatible_with = [
-+ "@platforms//os:freebsd",
-+ ],
-+ toolchain = "@nodejs_freebsd_all_config//:toolchain",
-+ toolchain_type = ":toolchain_type",
- )
-
- toolchain(
diff --git a/games/anki/files/patch-platforms_BUILD.bazel b/games/anki/files/patch-platforms_BUILD.bazel
deleted file mode 100644
index 28c25b97da6f..000000000000
--- a/games/anki/files/patch-platforms_BUILD.bazel
+++ /dev/null
@@ -1,18 +0,0 @@
-Add an generic entry for all FreeBSD architectures.
-
---- platforms/BUILD.bazel.orig 2022-06-24 05:10:06 UTC
-+++ platforms/BUILD.bazel
-@@ -33,6 +33,13 @@ config_setting(
- )
-
- config_setting(
-+ name = "freebsd_all",
-+ constraint_values = [
-+ "@platforms//os:freebsd",
-+ ],
-+)
-+
-+config_setting(
- name = "linux_arm64",
- constraint_values = [
- "@platforms//os:linux",
diff --git a/games/anki/files/patch-proto_protobuf.bzl b/games/anki/files/patch-proto_protobuf.bzl
deleted file mode 100644
index 7f993405fda6..000000000000
--- a/games/anki/files/patch-proto_protobuf.bzl
+++ /dev/null
@@ -1,24 +0,0 @@
-Define a local repository to use "devel/protobuf" from the Ports tree.
-
---- proto/protobuf.bzl.orig 2022-06-24 05:10:06 UTC
-+++ proto/protobuf.bzl
-@@ -16,6 +16,7 @@ alias(
- "@ankidesktop//platforms:macos_arm64": "@protoc_bin_macos//:bin/protoc",
- "@ankidesktop//platforms:macos_x86_64": "@protoc_bin_macos//:bin/protoc",
- "@ankidesktop//platforms:linux_x86_64": "@protoc_bin_linux_x86_64//:bin/protoc",
-+ "@ankidesktop//platforms:freebsd_all": "@protoc_bin_freebsd//:bin/protoc",
- "@ankidesktop//platforms:linux_arm64": "@protoc_bin_linux_arm64//:bin/protoc"
- }),
- visibility = ["//visibility:public"]
-@@ -67,6 +68,11 @@ def setup_protobuf_binary(name):
- ],
- sha256 = "828d2bdfe410e988cfc46462bcabd34ffdda8cc172867989ec647eadc55b03b5",
- build_file_content = """exports_files(["bin/protoc.exe"])""",
-+ )
-+
-+ native.local_repository(
-+ name = "protoc_bin_freebsd",
-+ path = "%%_MY_LOCALREPO%%/protoc_bin_freebsd",
- )
-
- if not native.existing_rule(name):
diff --git a/games/anki/files/patch-pylib_BUILD.bazel b/games/anki/files/patch-pylib_BUILD.bazel
deleted file mode 100644
index 28762e2902c7..000000000000
--- a/games/anki/files/patch-pylib_BUILD.bazel
+++ /dev/null
@@ -1,52 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- pylib/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
-+++ pylib/BUILD.bazel
-@@ -1,5 +1,4 @@ load("@rules_python//python:defs.bzl", "py_binary", "p
- load("@rules_python//python:defs.bzl", "py_binary", "py_test")
--load("@py_deps//:requirements.bzl", "requirement")
-
- py_test(
- name = "pytest",
-@@ -8,7 +7,6 @@ py_test(
- main = "tests/run_pytest.py",
- deps = [
- "//pylib/anki",
-- requirement("pytest"),
- ],
- )
-
-@@ -32,7 +30,6 @@ py_test(
- deps = [
- "//pylib/anki",
- "//pylib/anki:proto",
-- requirement("mypy"),
- ],
- )
-
-@@ -49,7 +46,6 @@ py_test(
- main = "tests/run_pylint.py",
- deps = [
- "//pylib/anki",
-- requirement("pylint"),
- ],
- )
-
-@@ -67,8 +63,6 @@ py_test(
- data = [".isort.cfg"],
- main = "tests/run_format.py",
- deps = [
-- requirement("black"),
-- requirement("isort"),
- ],
- )
-
-@@ -85,7 +79,5 @@ py_binary(
- main = "tests/run_format.py",
- tags = ["manual"],
- deps = [
-- requirement("black"),
-- requirement("isort"),
- ],
- )
diff --git a/games/anki/files/patch-pylib_anki_BUILD.bazel b/games/anki/files/patch-pylib_anki_BUILD.bazel
deleted file mode 100644
index c81f980e535c..000000000000
--- a/games/anki/files/patch-pylib_anki_BUILD.bazel
+++ /dev/null
@@ -1,35 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- pylib/anki/BUILD.bazel.orig 2022-06-24 05:10:06 UTC
-+++ pylib/anki/BUILD.bazel
-@@ -1,6 +1,5 @@ load("@rules_python//python:defs.bzl", "py_library")
- load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
- load("@rules_python//python:defs.bzl", "py_library")
--load("@py_deps//:requirements.bzl", "requirement")
- load("@rules_python//python:packaging.bzl", "py_package", "py_wheel")
- load("//:defs.bzl", "anki_version")
- load("//pylib:orjson.bzl", "orjson_if_available")
-@@ -41,14 +40,6 @@ py_library(
- visibility = ["//visibility:public"],
- deps = [
- ":proto",
-- requirement("beautifulsoup4"),
-- requirement("decorator"),
-- requirement("distro"),
-- requirement("protobuf"),
-- requirement("requests"),
-- requirement("flask"),
-- requirement("waitress"),
-- requirement("markdown"),
- ] + orjson_if_available(),
- )
-
-@@ -77,6 +68,7 @@ py_wheel(
- # you can adjust them to suit your enviroment
- "//platforms:linux_x86_64": "manylinux_2_28_x86_64",
- "//platforms:linux_arm64": "manylinux_2_31_aarch64",
-+ "//platforms:freebsd_all": "freebsd_all",
- }),
- python_tag = "cp39",
- requires = [
diff --git a/games/anki/files/patch-pylib_anki___backend_BUILD.bazel b/games/anki/files/patch-pylib_anki___backend_BUILD.bazel
deleted file mode 100644
index 2928c0c529d8..000000000000
--- a/games/anki/files/patch-pylib_anki___backend_BUILD.bazel
+++ /dev/null
@@ -1,29 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- pylib/anki/_backend/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
-+++ pylib/anki/_backend/BUILD.bazel
-@@ -1,5 +1,4 @@ load("@rules_python//python:defs.bzl", "py_binary")
- load("@rules_python//python:defs.bzl", "py_binary")
--load("@py_deps//:requirements.bzl", "requirement")
- load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
- load("@bazel_skylib//lib:selects.bzl", "selects")
- load(":python_lib.bzl", "copy_python_lib")
-@@ -10,9 +9,7 @@ py_binary(
- "genbackend.py",
- ],
- deps = [
-- requirement("black"),
- "//pylib/anki/_vendor:stringcase",
-- requirement("protobuf"),
- "//pylib/anki:proto",
- ],
- )
-@@ -30,7 +27,6 @@ py_binary(
- "genfluent.py",
- ],
- deps = [
-- requirement("black"),
- "//pylib/anki/_vendor:stringcase",
- ],
- )
diff --git a/games/anki/files/patch-pylib_orjson.bzl b/games/anki/files/patch-pylib_orjson.bzl
deleted file mode 100644
index 719627a2493c..000000000000
--- a/games/anki/files/patch-pylib_orjson.bzl
+++ /dev/null
@@ -1,15 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- pylib/orjson.bzl.orig 2021-05-04 05:04:50 UTC
-+++ pylib/orjson.bzl
-@@ -1,8 +1,7 @@
--load("@py_deps//:requirements.bzl", "requirement")
-
- def orjson_if_available():
- "Include orjson if it's listed in requirements.txt."
-- target = requirement("orjson")
-+ target = "not_found"
- if "not_found" in target:
- return []
- else:
diff --git a/games/anki/files/patch-pylib_tools_BUILD.bazel b/games/anki/files/patch-pylib_tools_BUILD.bazel
deleted file mode 100644
index ed432c7d916c..000000000000
--- a/games/anki/files/patch-pylib_tools_BUILD.bazel
+++ /dev/null
@@ -1,27 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- pylib/tools/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
-+++ pylib/tools/BUILD.bazel
-@@ -1,5 +1,4 @@ load("@rules_python//python:defs.bzl", "py_binary", "p
- load("@rules_python//python:defs.bzl", "py_binary", "py_library")
--load("@py_deps//:requirements.bzl", "requirement")
-
- py_binary(
- name = "protoc-gen-mypy",
-@@ -7,7 +6,6 @@ py_binary(
- visibility = [
- "//visibility:public",
- ],
-- deps = [requirement("mypy-protobuf")],
- )
-
- py_binary(
-@@ -41,7 +39,6 @@ py_binary(
- imports = ["."],
- visibility = ["//pylib:__subpackages__"],
- deps = [
-- requirement("black"),
- "//pylib/anki/_vendor:stringcase",
- ],
- )
diff --git a/games/anki/files/patch-python_binary.bzl b/games/anki/files/patch-python_binary.bzl
deleted file mode 100644
index 1a143bea5043..000000000000
--- a/games/anki/files/patch-python_binary.bzl
+++ /dev/null
@@ -1,22 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- python/binary.bzl.orig 2022-06-05 09:58:33 UTC
-+++ python/binary.bzl
-@@ -1,5 +1,5 @@ load("@bazel_skylib//rules:copy_file.bzl", "copy_file"
- load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
--load("@py_deps//:requirements.bzl", "requirement")
-+#load("@py_deps//:requirements.bzl", "requirement")
-
- def pip_binary(name, pkg = None):
- "Expose a binary from pip as an executable for linting. Does not work on Windows."
-@@ -9,7 +9,8 @@ def pip_binary(name, pkg = None):
-
- native.alias(
- name = name,
-- actual = requirement(pkg).replace(":pkg", ":rules_python_wheel_entry_point_" + name),
-+ #actual = requirement(pkg).replace(":pkg", ":rules_python_wheel_entry_point_" + name),
-+ actual = "",
- visibility = ["//visibility:public"],
- tags = ["manual"],
- )
diff --git a/games/anki/files/patch-python_pyqt_install.py b/games/anki/files/patch-python_pyqt_install.py
deleted file mode 100644
index 1797ed34755f..000000000000
--- a/games/anki/files/patch-python_pyqt_install.py
+++ /dev/null
@@ -1,30 +0,0 @@
-Only import PIP if it's available otherwise continue as usual.
-
---- python/pyqt/install.py.orig 2022-06-26 10:33:56 UTC
-+++ python/pyqt/install.py
-@@ -6,7 +6,11 @@ import sys
- import subprocess
- import sys
-
--from pip._internal.commands import create_command
-+try:
-+ from pip._internal.commands import create_command
-+ is_pip_available = True
-+except:
-+ is_pip_available = False
-
-
- def install_packages(requirements_path, directory, pip_args):
-@@ -21,8 +25,10 @@ def install_packages(requirements_path, directory, pip
- "-r",
- requirements_path
- ] + pip_args
-- cmd = create_command("install")
-- assert not cmd.main(pip_args)
-+
-+ if is_pip_available:
-+ cmd = create_command("install")
-+ assert not cmd.main(pip_args)
-
-
- def main():
diff --git a/games/anki/files/patch-python_python.bzl b/games/anki/files/patch-python_python.bzl
deleted file mode 100644
index 294631e6418c..000000000000
--- a/games/anki/files/patch-python_python.bzl
+++ /dev/null
@@ -1,13 +0,0 @@
-Since Bazel 4.2.0 bootstrapping Python stub scripts are prepended with
-a "Shebang" expression.
-
---- python/python.bzl.orig 2022-07-10 21:03:57 UTC
-+++ python/python.bzl
-@@ -77,6 +77,7 @@ py_runtime(
- name = "python_runtime",
- interpreter_path = "{path}",
- python_version = "PY3",
-+ stub_shebang = "#!{path}",
- visibility = ["//visibility:public"],
- )
-
diff --git a/games/anki/files/patch-python_stubs_BUILD.bazel b/games/anki/files/patch-python_stubs_BUILD.bazel
deleted file mode 100644
index dde5dbe7076a..000000000000
--- a/games/anki/files/patch-python_stubs_BUILD.bazel
+++ /dev/null
@@ -1,35 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- python/stubs/BUILD.bazel.orig 2022-06-24 05:10:06 UTC
-+++ python/stubs/BUILD.bazel
-@@ -1,5 +1,4 @@ load("@rules_python//python:defs.bzl", "py_binary")
- load("@rules_python//python:defs.bzl", "py_binary")
--load("@py_deps//:requirements.bzl", "requirement")
- load(":stubs.bzl", "copy_stubs")
-
- _stubs = [
-@@ -19,8 +18,7 @@ py_binary(
- ],
- visibility = ["//visibility:public"],
- deps = [
-- requirement("mypy"),
-- ] + [requirement("types-" + stub) for stub in _stubs],
-+ ]
- )
-
- py_binary(
-@@ -30,13 +28,11 @@ py_binary(
- ],
- visibility = ["//visibility:public"],
- deps = [
-- requirement("mypy"),
- ],
- )
-
- copy_stubs(
- name = "stubs",
-- pkgs = [requirement("types-" + stub) for stub in _stubs],
- tool = ":gatherstubs",
- visibility = ["//visibility:public"],
- )
diff --git a/games/anki/files/patch-qt_BUILD.bazel b/games/anki/files/patch-qt_BUILD.bazel
deleted file mode 100644
index 9dfd8718a6a0..000000000000
--- a/games/anki/files/patch-qt_BUILD.bazel
+++ /dev/null
@@ -1,69 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- qt/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
-+++ qt/BUILD.bazel
-@@ -1,5 +1,4 @@ load("@rules_python//python:defs.bzl", "py_binary", "p
- load("@rules_python//python:defs.bzl", "py_binary", "py_test")
--load("@py_deps//:requirements.bzl", "requirement")
-
- py_binary(
- name = "genhooks_gui",
-@@ -10,7 +9,6 @@ py_binary(
- visibility = [":__subpackages__"],
- deps = [
- "//pylib/tools:hookslib",
-- requirement("black"),
- "//pylib/anki/_vendor:stringcase",
- ],
- )
-@@ -32,8 +30,6 @@ py_test(
- deps = [
- "//pylib/anki",
- "//qt/aqt:aqt_without_data",
-- requirement("pytest"),
-- requirement("mock"),
- ],
- )
-
-@@ -60,7 +56,6 @@ py_test(
- "//pylib/anki",
- "//qt/aqt:aqt_without_data",
- "@pyqt6",
-- requirement("mypy"),
- ],
- )
-
-@@ -80,7 +75,6 @@ py_test(
- deps = [
- "//pylib/anki",
- "//qt/aqt:aqt_without_data",
-- requirement("pylint"),
- "@pyqt6",
- ],
- )
-@@ -97,8 +91,6 @@ py_test(
- main = "tests/run_format.py",
- deps = [
- "//qt/aqt:aqt_without_data",
-- requirement("black"),
-- requirement("isort"),
- ],
- )
-
-@@ -115,8 +107,6 @@ py_binary(
- main = "tests/run_format.py",
- tags = ["manual"],
- deps = [
-- requirement("black"),
-- requirement("isort"),
- ],
- )
-
-@@ -191,6 +181,5 @@ py_binary(
- srcs = ["tools/profile.py"],
- tags = ["manual"],
- deps = [
-- requirement("snakeviz"),
- ],
- )
diff --git a/games/anki/files/patch-qt_aqt_BUILD.bazel b/games/anki/files/patch-qt_aqt_BUILD.bazel
deleted file mode 100644
index d618352d25f7..000000000000
--- a/games/anki/files/patch-qt_aqt_BUILD.bazel
+++ /dev/null
@@ -1,32 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- qt/aqt/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
-+++ qt/aqt/BUILD.bazel
-@@ -1,5 +1,4 @@ load("@rules_python//python:defs.bzl", "py_library")
- load("@rules_python//python:defs.bzl", "py_library")
--load("@py_deps//:requirements.bzl", "requirement")
- load("@rules_python//python:packaging.bzl", "py_package", "py_wheel")
- load("//:defs.bzl", "anki_version")
-
-@@ -40,20 +39,8 @@ aqt_deps = [
- ]
-
- aqt_deps = [
-- requirement("protobuf"),
-- requirement("decorator"),
-- requirement("requests"),
-- requirement("beautifulsoup4"),
-- requirement("flask"),
-- requirement("flask-cors"),
-- requirement("waitress"),
-- requirement("send2trash"),
-- requirement("jsonschema"),
- ] + select({
- "@bazel_tools//src/conditions:host_windows": [
-- requirement("psutil"),
-- requirement("pywin32"),
-- requirement("winrt"),
- ],
- "//conditions:default": [],
- })
diff --git a/games/anki/files/patch-qt_aqt_____init____.py b/games/anki/files/patch-qt_aqt_____init____.py
index 6428c77633ba..3ae93ccd765a 100644
--- a/games/anki/files/patch-qt_aqt_____init____.py
+++ b/games/anki/files/patch-qt_aqt_____init____.py
@@ -1,8 +1,8 @@
Prevents runtime issues with nVidia drivers
---- qt/aqt/__init__.py.orig 2023-04-15 12:54:44 UTC
+--- qt/aqt/__init__.py.orig 2023-05-01 01:47:30 UTC
+++ qt/aqt/__init__.py
-@@ -369,7 +369,7 @@ def setupGL(pm: aqt.profiles.ProfileManager) -> None:
+@@ -401,7 +401,7 @@ def setupGL(pm: aqt.profiles.ProfileManager) -> None:
driver = pm.video_driver()
# work around pyqt loading wrong GL library
diff --git a/games/anki/files/patch-tools_status.sh b/games/anki/files/patch-tools_status.sh
deleted file mode 100644
index 207195592b65..000000000000
--- a/games/anki/files/patch-tools_status.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-Use _MY_BUILDHASH which is defined in the Port's Makefile
-
---- tools/status.sh.orig 2022-06-05 15:45:44 UTC
-+++ tools/status.sh
-@@ -1,3 +1,3 @@
- #!/bin/bash
-
--echo "STABLE_BUILDHASH $(git rev-parse --short=8 HEAD || echo nogit)"
-+echo "STABLE_BUILDHASH $(git rev-parse --short=8 HEAD || echo %%_MY_BUILDHASH%%)"
diff --git a/games/anki/files/patch-ts_lib_BUILD.bazel b/games/anki/files/patch-ts_lib_BUILD.bazel
deleted file mode 100644
index 64bd9e2305e7..000000000000
--- a/games/anki/files/patch-ts_lib_BUILD.bazel
+++ /dev/null
@@ -1,21 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- ts/lib/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
-+++ ts/lib/BUILD.bazel
-@@ -3,7 +3,6 @@ load("//ts:typescript.bzl", "typescript")
- load("//ts:eslint.bzl", "eslint_test")
- load("//ts:protobuf.bzl", "protobufjs_library")
- load("//ts:typescript.bzl", "typescript")
--load("@py_deps//:requirements.bzl", "requirement")
- load("//ts:jest.bzl", "jest_test")
-
- py_binary(
-@@ -12,7 +11,6 @@ py_binary(
- "genfluent.py",
- ],
- deps = [
-- requirement("black"),
- "//pylib/anki/_vendor:stringcase",
- ],
- )
diff --git a/games/anki/pkg-message b/games/anki/pkg-message
index d688705b1296..0d4ecdef6582 100644
--- a/games/anki/pkg-message
+++ b/games/anki/pkg-message
@@ -6,4 +6,33 @@ The V1 scheduler is no longer supported. If you have not yet updated to V2 or
V3, you will be prompted to update when you attempt to review cards in 2.1.50+.
EOD
}
+{ type: upgrade
+ maximum_version: 2.1.62
+ message: <<EOD
+ The 2.1.58 release fixes an issue in 2.1.57 that caused cards and deck
+ presets to be reset to the default ease, if you exported a .colpkg with
+ compatibility with older clients enabled, or used the downgrade and quit
+ option, then opened the collection again.
+
+ For the former issue, this occurred to the collection you were exporting
+ from, and not just the .colpkg file. If you were affected by this, running
+ the following in the debug console after updating should restore your cards
+ to the ease they were at when you last reviewed them, if they were not
+ reviewed after the problem occurred. Please make a backup before proceeding.
+
+ updated = 0
+ for cid, old, new in mw.col.db.all("select id, factor, (select factor from revlog where cid=cards.id order by id desc limit 1) as factor2 from cards where type=2"):
+ if new and old != new:
+ card = mw.col.get_card(cid)
+ card.factor = new
+ mw.col.update_card(card)
+ updated += 1
+ print("updated", updated)
+
+ It will print the number of updated cards. Instructions how to use the debug
+ console can be found here:
+
+ https://docs.ankiweb.net/misc.html#debug-console
+EOD
+}
]
diff --git a/games/anki/pkg-plist b/games/anki/pkg-plist
index 9b384a11588f..df382ba3dcb0 100644
--- a/games/anki/pkg-plist
+++ b/games/anki/pkg-plist
@@ -1,133 +1,302 @@
bin/anki
man/man1/anki.1.gz
-%%DATADIR%%/anki/__init__.py
-%%DATADIR%%/anki/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/_legacy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/_legacy.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/backend_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/backend_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/buildinfo.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/buildinfo.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/card_rendering_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/card_rendering_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/cards.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/cards.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/cards_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/cards_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/collection_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/collection_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/config_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/config_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/consts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/consts.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/dbproxy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/dbproxy.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/deckconfig_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/deckconfig_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/decks.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/decks.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/decks_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/decks_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/errors.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/errors.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/find.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/find.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/generic_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/generic_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/hooks.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/hooks.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/hooks_gen.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/hooks_gen.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/httpclient.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/httpclient.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/i18n_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/i18n_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/import_export_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/import_export_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/lang.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/lang.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/latex.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/latex.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/links_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/links_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/media.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/media.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/media_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/media_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/notes.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/notes.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/notes_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/notes_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/notetypes_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/notetypes_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/rsbackend.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/rsbackend.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/scheduler_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/scheduler_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/search_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/search_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/stats_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/stats_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/statsbg.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/statsbg.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/stdmodels.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/stdmodels.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/storage.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/storage.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/sync_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/sync_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/tags.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/tags.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/tags_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/tags_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/template.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/template.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/types.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/types.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/utils.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/utils.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_backend/__init__.py
-%%DATADIR%%/anki/_backend/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/_backend/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_backend/__pycache__/fluent.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/_backend/__pycache__/fluent.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_backend/__pycache__/generated.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/_backend/__pycache__/generated.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_backend/fluent.py
-%%DATADIR%%/anki/_backend/generated.py
-%%DATADIR%%/anki/_backend/rsbridge.pyi
-%%DATADIR%%/anki/_backend/rsbridge.so
+%%DATADIR%%/_aqt/colors.py
+%%DATADIR%%/_aqt/data/qt/icons.qrc
+%%DATADIR%%/_aqt/data/qt/icons/anki.png
+%%DATADIR%%/_aqt/data/qt/icons/application-braces-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/book-clock-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/book-cog-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/book-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/card-state.svg
+%%DATADIR%%/_aqt/data/qt/icons/check-FG_DISABLED-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/check-FG_DISABLED-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/check-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/check-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-down-FG_DISABLED-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-down-FG_DISABLED-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-down-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-down-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-up-FG_DISABLED-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-up-FG_DISABLED-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-up-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/chevron-up-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/circle-medium-FG_DISABLED-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/circle-medium-FG_DISABLED-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/circle-medium-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/circle-medium-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/circle-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/circle.svg
+%%DATADIR%%/_aqt/data/qt/icons/clock-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/clock.svg
+%%DATADIR%%/_aqt/data/qt/icons/collection.svg
+%%DATADIR%%/_aqt/data/qt/icons/deck.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-horizontal-FG_SUBTLE-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-horizontal-FG_SUBTLE-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-horizontal-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-horizontal-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-vertical-FG_SUBTLE-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-vertical-FG_SUBTLE-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-vertical-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/drag-vertical-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/flag-variant-off-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/flag-variant-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/flag-variant.svg
+%%DATADIR%%/_aqt/data/qt/icons/form-textbox.svg
+%%DATADIR%%/_aqt/data/qt/icons/heart-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/heart.svg
+%%DATADIR%%/_aqt/data/qt/icons/magnify-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/magnify-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/media-record.png
+%%DATADIR%%/_aqt/data/qt/icons/menu-down-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/menu-down-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/menu-up-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/menu-up-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/minus-thick-FG_DISABLED-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/minus-thick-FG_DISABLED-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/minus-thick-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/minus-thick-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/newspaper.svg
+%%DATADIR%%/_aqt/data/qt/icons/notetype.svg
+%%DATADIR%%/_aqt/data/qt/icons/selection-drag-dark.svg
+%%DATADIR%%/_aqt/data/qt/icons/selection-drag-light.svg
+%%DATADIR%%/_aqt/data/qt/icons/tag-off-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/tag-outline.svg
+%%DATADIR%%/_aqt/data/qt/icons/tag.svg
+%%DATADIR%%/_aqt/data/web/css/addonconf.css
+%%DATADIR%%/_aqt/data/web/css/browser_editor.css
+%%DATADIR%%/_aqt/data/web/css/deckbrowser.css
+%%DATADIR%%/_aqt/data/web/css/editable.css
+%%DATADIR%%/_aqt/data/web/css/note_creator.css
+%%DATADIR%%/_aqt/data/web/css/overview.css
+%%DATADIR%%/_aqt/data/web/css/reviewer-bottom.css
+%%DATADIR%%/_aqt/data/web/css/reviewer.css
+%%DATADIR%%/_aqt/data/web/css/reviewer_editor.css
+%%DATADIR%%/_aqt/data/web/css/toolbar-bottom.css
+%%DATADIR%%/_aqt/data/web/css/toolbar.css
+%%DATADIR%%/_aqt/data/web/css/webview.css
+%%DATADIR%%/_aqt/data/web/imgs/anki-logo-thin.png
+%%DATADIR%%/_aqt/data/web/imgs/favicon.ico
+%%DATADIR%%/_aqt/data/web/imgs/gears.svg
+%%DATADIR%%/_aqt/data/web/imgs/media-record.png
+%%DATADIR%%/_aqt/data/web/imgs/more.png
+%%DATADIR%%/_aqt/data/web/imgs/paperclip.png
+%%DATADIR%%/_aqt/data/web/imgs/refresh.svg
+%%DATADIR%%/_aqt/data/web/imgs/text_bold.png
+%%DATADIR%%/_aqt/data/web/imgs/text_clear.png
+%%DATADIR%%/_aqt/data/web/imgs/text_cloze.png
+%%DATADIR%%/_aqt/data/web/imgs/text_italic.png
+%%DATADIR%%/_aqt/data/web/imgs/text_sub.png
+%%DATADIR%%/_aqt/data/web/imgs/text_super.png
+%%DATADIR%%/_aqt/data/web/imgs/text_under.png
+%%DATADIR%%/_aqt/data/web/js/browser_editor.js
+%%DATADIR%%/_aqt/data/web/js/deckbrowser.js
+%%DATADIR%%/_aqt/data/web/js/mathjax.js
+%%DATADIR%%/_aqt/data/web/js/note_creator.js
+%%DATADIR%%/_aqt/data/web/js/reviewer-bottom.js
+%%DATADIR%%/_aqt/data/web/js/reviewer.js
+%%DATADIR%%/_aqt/data/web/js/reviewer_editor.js
+%%DATADIR%%/_aqt/data/web/js/toolbar.js
+%%DATADIR%%/_aqt/data/web/js/vendor/bootstrap.bundle.min.js
+%%DATADIR%%/_aqt/data/web/js/vendor/css_browser_selector.min.js
+%%DATADIR%%/_aqt/data/web/js/vendor/jquery-ui.min.js
+%%DATADIR%%/_aqt/data/web/js/vendor/jquery.min.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/a11y/assistive-mml.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/a11y/complexity.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/a11y/explorer.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/a11y/semantic-enrich.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/action.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/all-packages.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/ams.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/amscd.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/autoload.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/bbox.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/boldsymbol.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/braket.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/bussproofs.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/cancel.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/centernot.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/color.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/colortbl.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/colorv2.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/configmacros.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/enclose.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/extpfeil.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/gensymb.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/html.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/mathtools.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/mhchem.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/newcommand.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/noerrors.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/noundefined.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/physics.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/require.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/setoptions.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/tagformat.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/textcomp.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/textmacros.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/unicode.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/upgreek.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/input/tex/extensions/verb.js
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/sre/mathmaps/de.json
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/sre/mathmaps/en.json
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/sre/mathmaps/es.json
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/sre/mathmaps/fr.json
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/sre/mathmaps/hi.json
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/sre/mathmaps/it.json
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/sre/mathmaps/nemeth.json
+%%DATADIR%%/_aqt/data/web/js/vendor/mathjax/tex-chtml.js
+%%DATADIR%%/_aqt/data/web/js/vendor/plot.js
+%%DATADIR%%/_aqt/data/web/js/webview.js
+%%DATADIR%%/_aqt/data/web/pages/card-info.css
+%%DATADIR%%/_aqt/data/web/pages/card-info.html
+%%DATADIR%%/_aqt/data/web/pages/card-info.js
+%%DATADIR%%/_aqt/data/web/pages/change-notetype.css
+%%DATADIR%%/_aqt/data/web/pages/change-notetype.html
+%%DATADIR%%/_aqt/data/web/pages/change-notetype.js
+%%DATADIR%%/_aqt/data/web/pages/congrats.css
+%%DATADIR%%/_aqt/data/web/pages/congrats.html
+%%DATADIR%%/_aqt/data/web/pages/congrats.js
+%%DATADIR%%/_aqt/data/web/pages/deck-options.css
+%%DATADIR%%/_aqt/data/web/pages/deck-options.html
+%%DATADIR%%/_aqt/data/web/pages/deck-options.js
+%%DATADIR%%/_aqt/data/web/pages/editable.css
+%%DATADIR%%/_aqt/data/web/pages/editable.js
+%%DATADIR%%/_aqt/data/web/pages/graphs.css
+%%DATADIR%%/_aqt/data/web/pages/graphs.html
+%%DATADIR%%/_aqt/data/web/pages/graphs.js
+%%DATADIR%%/_aqt/data/web/pages/image-occlusion.css
+%%DATADIR%%/_aqt/data/web/pages/image-occlusion.html
+%%DATADIR%%/_aqt/data/web/pages/image-occlusion.js
+%%DATADIR%%/_aqt/data/web/pages/import-csv.css
+%%DATADIR%%/_aqt/data/web/pages/import-csv.html
+%%DATADIR%%/_aqt/data/web/pages/import-csv.js
+%%DATADIR%%/_aqt/forms/about_qt5.py
+%%DATADIR%%/_aqt/forms/about_qt6.py
+%%DATADIR%%/_aqt/forms/addcards_qt5.py
+%%DATADIR%%/_aqt/forms/addcards_qt6.py
+%%DATADIR%%/_aqt/forms/addfield_qt5.py
+%%DATADIR%%/_aqt/forms/addfield_qt6.py
+%%DATADIR%%/_aqt/forms/addmodel_qt5.py
+%%DATADIR%%/_aqt/forms/addmodel_qt6.py
+%%DATADIR%%/_aqt/forms/addonconf_qt5.py
+%%DATADIR%%/_aqt/forms/addonconf_qt6.py
+%%DATADIR%%/_aqt/forms/addons_qt5.py
+%%DATADIR%%/_aqt/forms/addons_qt6.py
+%%DATADIR%%/_aqt/forms/browser_qt5.py
+%%DATADIR%%/_aqt/forms/browser_qt6.py
+%%DATADIR%%/_aqt/forms/browserdisp_qt5.py
+%%DATADIR%%/_aqt/forms/browserdisp_qt6.py
+%%DATADIR%%/_aqt/forms/browseropts_qt5.py
+%%DATADIR%%/_aqt/forms/browseropts_qt6.py
+%%DATADIR%%/_aqt/forms/changemap_qt5.py
+%%DATADIR%%/_aqt/forms/changemap_qt6.py
+%%DATADIR%%/_aqt/forms/changemodel_qt5.py
+%%DATADIR%%/_aqt/forms/changemodel_qt6.py
+%%DATADIR%%/_aqt/forms/clayout_top_qt5.py
+%%DATADIR%%/_aqt/forms/clayout_top_qt6.py
+%%DATADIR%%/_aqt/forms/customstudy_qt5.py
+%%DATADIR%%/_aqt/forms/customstudy_qt6.py
+%%DATADIR%%/_aqt/forms/dconf_qt5.py
+%%DATADIR%%/_aqt/forms/dconf_qt6.py
+%%DATADIR%%/_aqt/forms/debug_qt5.py
+%%DATADIR%%/_aqt/forms/debug_qt6.py
+%%DATADIR%%/_aqt/forms/editaddon_qt5.py
+%%DATADIR%%/_aqt/forms/editaddon_qt6.py
+%%DATADIR%%/_aqt/forms/editcurrent_qt5.py
+%%DATADIR%%/_aqt/forms/editcurrent_qt6.py
+%%DATADIR%%/_aqt/forms/edithtml_qt5.py
+%%DATADIR%%/_aqt/forms/edithtml_qt6.py
+%%DATADIR%%/_aqt/forms/emptycards_qt5.py
+%%DATADIR%%/_aqt/forms/emptycards_qt6.py
+%%DATADIR%%/_aqt/forms/exporting_qt5.py
+%%DATADIR%%/_aqt/forms/exporting_qt6.py
+%%DATADIR%%/_aqt/forms/fields_qt5.py
+%%DATADIR%%/_aqt/forms/fields_qt6.py
+%%DATADIR%%/_aqt/forms/fields_web_qt5.py
+%%DATADIR%%/_aqt/forms/fields_web_qt6.py
+%%DATADIR%%/_aqt/forms/filtered_deck_qt5.py
+%%DATADIR%%/_aqt/forms/filtered_deck_qt6.py
+%%DATADIR%%/_aqt/forms/finddupes_qt5.py
+%%DATADIR%%/_aqt/forms/finddupes_qt6.py
+%%DATADIR%%/_aqt/forms/findreplace_qt5.py
+%%DATADIR%%/_aqt/forms/findreplace_qt6.py
+%%DATADIR%%/_aqt/forms/forget_qt5.py
+%%DATADIR%%/_aqt/forms/forget_qt6.py
+%%DATADIR%%/_aqt/forms/getaddons_qt5.py
+%%DATADIR%%/_aqt/forms/getaddons_qt6.py
+%%DATADIR%%/_aqt/forms/importing_qt5.py
+%%DATADIR%%/_aqt/forms/importing_qt6.py
+%%DATADIR%%/_aqt/forms/main_qt5.py
+%%DATADIR%%/_aqt/forms/main_qt6.py
+%%DATADIR%%/_aqt/forms/modelopts_qt5.py
+%%DATADIR%%/_aqt/forms/modelopts_qt6.py
+%%DATADIR%%/_aqt/forms/models_qt5.py
+%%DATADIR%%/_aqt/forms/models_qt6.py
+%%DATADIR%%/_aqt/forms/preferences_qt5.py
+%%DATADIR%%/_aqt/forms/preferences_qt6.py
+%%DATADIR%%/_aqt/forms/preview_qt5.py
+%%DATADIR%%/_aqt/forms/preview_qt6.py
+%%DATADIR%%/_aqt/forms/profiles_qt5.py
+%%DATADIR%%/_aqt/forms/profiles_qt6.py
+%%DATADIR%%/_aqt/forms/progress_qt5.py
+%%DATADIR%%/_aqt/forms/progress_qt6.py
+%%DATADIR%%/_aqt/forms/reposition_qt5.py
+%%DATADIR%%/_aqt/forms/reposition_qt6.py
+%%DATADIR%%/_aqt/forms/setgroup_qt5.py
+%%DATADIR%%/_aqt/forms/setgroup_qt6.py
+%%DATADIR%%/_aqt/forms/setlang_qt5.py
+%%DATADIR%%/_aqt/forms/setlang_qt6.py
+%%DATADIR%%/_aqt/forms/stats_qt5.py
+%%DATADIR%%/_aqt/forms/stats_qt6.py
+%%DATADIR%%/_aqt/forms/studydeck_qt5.py
+%%DATADIR%%/_aqt/forms/studydeck_qt6.py
+%%DATADIR%%/_aqt/forms/synclog_qt5.py
+%%DATADIR%%/_aqt/forms/synclog_qt6.py
+%%DATADIR%%/_aqt/forms/taglimit_qt5.py
+%%DATADIR%%/_aqt/forms/taglimit_qt6.py
+%%DATADIR%%/_aqt/forms/template_qt5.py
+%%DATADIR%%/_aqt/forms/template_qt6.py
+%%DATADIR%%/_aqt/forms/widgets_qt5.py
+%%DATADIR%%/_aqt/forms/widgets_qt6.py
+%%DATADIR%%/_aqt/hooks.py
+%%DATADIR%%/_aqt/props.py
+%%DATADIR%%/_aqt/py.typed
+%%DATADIR%%/anki/_backend.py
+%%DATADIR%%/anki/_backend_generated.py
+%%DATADIR%%/anki/_fluent.py
%%DATADIR%%/anki/_legacy.py
-%%DATADIR%%/anki/_vendor/__init__.py
-%%DATADIR%%/anki/_vendor/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/_vendor/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_vendor/__pycache__/stringcase.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/_vendor/__pycache__/stringcase.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/_rsbridge.pyi
+%%DATADIR%%/anki/_rsbridge.so
%%DATADIR%%/anki/_vendor/stringcase.py
+%%DATADIR%%/anki/ankidroid_pb2.py
+%%DATADIR%%/anki/ankidroid_pb2.pyi
%%DATADIR%%/anki/backend_pb2.py
%%DATADIR%%/anki/backend_pb2.pyi
%%DATADIR%%/anki/browser.py
%%DATADIR%%/anki/buildinfo.py
-%%DATADIR%%/anki/buildinfo.txt
%%DATADIR%%/anki/card_rendering_pb2.py
%%DATADIR%%/anki/card_rendering_pb2.pyi
%%DATADIR%%/anki/cards.py
@@ -151,10 +320,6 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/exporting.py
%%DATADIR%%/anki/find.py
%%DATADIR%%/anki/foreign_data/__init__.py
-%%DATADIR%%/anki/foreign_data/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/foreign_data/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/foreign_data/__pycache__/mnemosyne.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/foreign_data/__pycache__/mnemosyne.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/foreign_data/mnemosyne.py
%%DATADIR%%/anki/generic_pb2.py
%%DATADIR%%/anki/generic_pb2.pyi
@@ -163,27 +328,11 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/httpclient.py
%%DATADIR%%/anki/i18n_pb2.py
%%DATADIR%%/anki/i18n_pb2.pyi
+%%DATADIR%%/anki/image_occlusion_pb2.py
+%%DATADIR%%/anki/image_occlusion_pb2.pyi
%%DATADIR%%/anki/import_export_pb2.py
%%DATADIR%%/anki/import_export_pb2.pyi
%%DATADIR%%/anki/importing/__init__.py
-%%DATADIR%%/anki/importing/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/anki2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/anki2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/apkg.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/apkg.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/csvfile.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/csvfile.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/mnemo.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/mnemo.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/noteimp.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/noteimp.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/pauker.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/pauker.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/importing/__pycache__/supermemo_xml.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/importing/__pycache__/supermemo_xml.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/importing/anki2.py
%%DATADIR%%/anki/importing/apkg.py
%%DATADIR%%/anki/importing/base.py
@@ -208,18 +357,6 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/py.typed
%%DATADIR%%/anki/rsbackend.py
%%DATADIR%%/anki/scheduler/__init__.py
-%%DATADIR%%/anki/scheduler/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/legacy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/legacy.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/v1.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/v1.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/v2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/v2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/v3.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/scheduler/__pycache__/v3.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/scheduler/base.py
%%DATADIR%%/anki/scheduler/legacy.py
%%DATADIR%%/anki/scheduler/v1.py
@@ -239,12 +376,7 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/sync.py
%%DATADIR%%/anki/sync_pb2.py
%%DATADIR%%/anki/sync_pb2.pyi
-%%DATADIR%%/anki/syncserver/__init__.py
-%%DATADIR%%/anki/syncserver/__main__.py
-%%DATADIR%%/anki/syncserver/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/syncserver/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/syncserver/__pycache__/__main__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/syncserver/__pycache__/__main__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/syncserver.py
%%DATADIR%%/anki/tags.py
%%DATADIR%%/anki/tags_pb2.py
%%DATADIR%%/anki/tags_pb2.pyi
@@ -252,173 +384,24 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/types.py
%%DATADIR%%/anki/utils.py
%%DATADIR%%/aqt/__init__.py
-%%DATADIR%%/aqt/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/_macos_helper.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/_macos_helper.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/about.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/about.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/addcards.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/addcards.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/addons.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/addons.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/changenotetype.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/changenotetype.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/clayout.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/clayout.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/colors.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/colors.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/customstudy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/customstudy.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/dbcheck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/dbcheck.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/deckbrowser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/deckbrowser.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/deckchooser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/deckchooser.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/deckconf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/deckconf.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/deckdescription.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/deckdescription.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/deckoptions.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/deckoptions.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/editcurrent.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/editcurrent.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/editor.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/editor.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/emptycards.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/emptycards.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/errors.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/errors.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/flags.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/flags.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/gui_hooks.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/gui_hooks.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/hooks_gen.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/hooks_gen.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/importing.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/importing.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/legacy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/legacy.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/main.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/main.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/mediacheck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/mediacheck.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/mediasrv.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/mediasrv.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/mediasync.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/mediasync.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/modelchooser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/modelchooser.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/mpv.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/mpv.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/notetypechooser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/notetypechooser.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/overview.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/overview.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/package.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/package.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/pinnedmodules.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/pinnedmodules.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/profiles.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/profiles.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/reviewer.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/reviewer.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/schema_change_tracker.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/schema_change_tracker.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/studydeck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/studydeck.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/switch.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/switch.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/tagedit.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/tagedit.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/taglimit.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/taglimit.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/taskman.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/taskman.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/theme.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/theme.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/toolbar.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/toolbar.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/tts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/tts.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/undo.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/undo.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/update.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/update.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/utils.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/utils.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/webview.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/webview.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/winpaths.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/winpaths.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/_macos_helper.py
%%DATADIR%%/aqt/about.py
%%DATADIR%%/aqt/addcards.py
%%DATADIR%%/aqt/addons.py
%%DATADIR%%/aqt/browser/__init__.py
-%%DATADIR%%/aqt/browser/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/__pycache__/card_info.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/__pycache__/card_info.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/__pycache__/find_and_replace.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/__pycache__/find_and_replace.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/__pycache__/find_duplicates.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/__pycache__/find_duplicates.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/__pycache__/previewer.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/__pycache__/previewer.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/browser/browser.py
%%DATADIR%%/aqt/browser/card_info.py
%%DATADIR%%/aqt/browser/find_and_replace.py
%%DATADIR%%/aqt/browser/find_duplicates.py
+%%DATADIR%%/aqt/browser/layout.py
%%DATADIR%%/aqt/browser/previewer.py
%%DATADIR%%/aqt/browser/sidebar/__init__.py
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/item.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/item.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/searchbar.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/searchbar.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/toolbar.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/toolbar.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/tree.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/sidebar/__pycache__/tree.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/browser/sidebar/item.py
%%DATADIR%%/aqt/browser/sidebar/model.py
%%DATADIR%%/aqt/browser/sidebar/searchbar.py
%%DATADIR%%/aqt/browser/sidebar/toolbar.py
%%DATADIR%%/aqt/browser/sidebar/tree.py
%%DATADIR%%/aqt/browser/table/__init__.py
-%%DATADIR%%/aqt/browser/table/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/table/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/table/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/table/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/table/__pycache__/state.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/table/__pycache__/state.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/browser/table/__pycache__/table.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/browser/table/__pycache__/table.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/browser/table/model.py
%%DATADIR%%/aqt/browser/table/state.py
%%DATADIR%%/aqt/browser/table/table.py
@@ -426,172 +409,8 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/clayout.py
%%DATADIR%%/aqt/colors.py
%%DATADIR%%/aqt/customstudy.py
-%%DATADIR%%/aqt/data/qt/icons.qrc
-%%DATADIR%%/aqt/data/qt/icons/anki.png
-%%DATADIR%%/aqt/data/qt/icons/application-braces-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/book-clock-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/book-cog-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/book-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/card-state.svg
-%%DATADIR%%/aqt/data/qt/icons/circle-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/circle.svg
-%%DATADIR%%/aqt/data/qt/icons/clock-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/clock.svg
-%%DATADIR%%/aqt/data/qt/icons/collection.svg
-%%DATADIR%%/aqt/data/qt/icons/deck.svg
-%%DATADIR%%/aqt/data/qt/icons/flag-off-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/flag-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/flag.svg
-%%DATADIR%%/aqt/data/qt/icons/form-textbox.svg
-%%DATADIR%%/aqt/data/qt/icons/heart-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/heart.svg
-%%DATADIR%%/aqt/data/qt/icons/magnifying_glass.svg
-%%DATADIR%%/aqt/data/qt/icons/media-record.png
-%%DATADIR%%/aqt/data/qt/icons/newspaper.svg
-%%DATADIR%%/aqt/data/qt/icons/notetype.svg
-%%DATADIR%%/aqt/data/qt/icons/select.svg
-%%DATADIR%%/aqt/data/qt/icons/tag-off-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/tag-outline.svg
-%%DATADIR%%/aqt/data/qt/icons/tag.svg
-%%DATADIR%%/aqt/data/web/css/browser_editor.css
-%%DATADIR%%/aqt/data/web/css/deckbrowser.css
-%%DATADIR%%/aqt/data/web/css/editable.css
-%%DATADIR%%/aqt/data/web/css/note_creator.css
-%%DATADIR%%/aqt/data/web/css/overview.css
-%%DATADIR%%/aqt/data/web/css/reviewer-bottom.css
-%%DATADIR%%/aqt/data/web/css/reviewer.css
-%%DATADIR%%/aqt/data/web/css/reviewer_editor.css
-%%DATADIR%%/aqt/data/web/css/toolbar-bottom.css
-%%DATADIR%%/aqt/data/web/css/toolbar.css
-%%DATADIR%%/aqt/data/web/css/webview.css
-%%DATADIR%%/aqt/data/web/imgs/anki-logo-thin.png
-%%DATADIR%%/aqt/data/web/imgs/favicon.ico
-%%DATADIR%%/aqt/data/web/imgs/gears.svg
-%%DATADIR%%/aqt/data/web/imgs/media-record.png
-%%DATADIR%%/aqt/data/web/imgs/more.png
-%%DATADIR%%/aqt/data/web/imgs/paperclip.png
-%%DATADIR%%/aqt/data/web/imgs/refresh.svg
-%%DATADIR%%/aqt/data/web/imgs/text_bold.png
-%%DATADIR%%/aqt/data/web/imgs/text_clear.png
-%%DATADIR%%/aqt/data/web/imgs/text_cloze.png
-%%DATADIR%%/aqt/data/web/imgs/text_italic.png
-%%DATADIR%%/aqt/data/web/imgs/text_sub.png
-%%DATADIR%%/aqt/data/web/imgs/text_super.png
-%%DATADIR%%/aqt/data/web/imgs/text_under.png
-%%DATADIR%%/aqt/data/web/js/browser_editor.js
-%%DATADIR%%/aqt/data/web/js/deckbrowser.js
-%%DATADIR%%/aqt/data/web/js/mathjax.js
-%%DATADIR%%/aqt/data/web/js/note_creator.js
-%%DATADIR%%/aqt/data/web/js/reviewer-bottom.js
-%%DATADIR%%/aqt/data/web/js/reviewer.js
-%%DATADIR%%/aqt/data/web/js/reviewer_editor.js
-%%DATADIR%%/aqt/data/web/js/toolbar.js
-%%DATADIR%%/aqt/data/web/js/vendor/bootstrap.bundle.min.js
-%%DATADIR%%/aqt/data/web/js/vendor/bootstrap.bundle.min.js.map
-%%DATADIR%%/aqt/data/web/js/vendor/css_browser_selector.min.js
-%%DATADIR%%/aqt/data/web/js/vendor/jquery-ui.min.js
-%%DATADIR%%/aqt/data/web/js/vendor/jquery.min.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/a11y/assistive-mml.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/a11y/complexity.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/a11y/explorer.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/a11y/semantic-enrich.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/action.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/all-packages.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/ams.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/amscd.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/autoload.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/bbox.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/boldsymbol.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/braket.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/bussproofs.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/cancel.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/centernot.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/color.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/colortbl.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/colorv2.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/configmacros.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/enclose.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/extpfeil.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/gensymb.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/html.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/mathtools.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/mhchem.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/newcommand.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/noerrors.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/noundefined.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/physics.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/require.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/setoptions.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/tagformat.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/textcomp.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/textmacros.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/unicode.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/upgreek.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/input/tex/extensions/verb.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/de.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/en.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/es.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/fr.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/hi.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/it.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/nemeth.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/sre-node.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/sre_browser.js
-%%DATADIR%%/aqt/data/web/js/vendor/mathjax/tex-chtml.js
-%%DATADIR%%/aqt/data/web/js/vendor/plot.js
-%%DATADIR%%/aqt/data/web/js/webview.js
-%%DATADIR%%/aqt/data/web/pages/card-info-base.css
-%%DATADIR%%/aqt/data/web/pages/card-info.css
-%%DATADIR%%/aqt/data/web/pages/card-info.html
-%%DATADIR%%/aqt/data/web/pages/card-info.js
-%%DATADIR%%/aqt/data/web/pages/change-notetype-base.css
-%%DATADIR%%/aqt/data/web/pages/change-notetype.css
-%%DATADIR%%/aqt/data/web/pages/change-notetype.html
-%%DATADIR%%/aqt/data/web/pages/change-notetype.js
-%%DATADIR%%/aqt/data/web/pages/congrats-base.css
-%%DATADIR%%/aqt/data/web/pages/congrats.css
-%%DATADIR%%/aqt/data/web/pages/congrats.html
-%%DATADIR%%/aqt/data/web/pages/congrats.js
-%%DATADIR%%/aqt/data/web/pages/deck-options-base.css
-%%DATADIR%%/aqt/data/web/pages/deck-options.css
-%%DATADIR%%/aqt/data/web/pages/deck-options.html
-%%DATADIR%%/aqt/data/web/pages/deck-options.js
-%%DATADIR%%/aqt/data/web/pages/fields-base.css
-%%DATADIR%%/aqt/data/web/pages/fields.css
-%%DATADIR%%/aqt/data/web/pages/fields.html
-%%DATADIR%%/aqt/data/web/pages/fields.js
-%%DATADIR%%/aqt/data/web/pages/graphs-base.css
-%%DATADIR%%/aqt/data/web/pages/graphs.css
-%%DATADIR%%/aqt/data/web/pages/graphs.html
-%%DATADIR%%/aqt/data/web/pages/graphs.js
-%%DATADIR%%/aqt/data/web/pages/import-csv-base.css
-%%DATADIR%%/aqt/data/web/pages/import-csv.css
-%%DATADIR%%/aqt/data/web/pages/import-csv.html
-%%DATADIR%%/aqt/data/web/pages/import-csv.js
%%DATADIR%%/aqt/dbcheck.py
+%%DATADIR%%/aqt/debug_console.py
%%DATADIR%%/aqt/deckbrowser.py
%%DATADIR%%/aqt/deckchooser.py
%%DATADIR%%/aqt/deckconf.py
@@ -606,406 +425,52 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/filtered_deck.py
%%DATADIR%%/aqt/flags.py
%%DATADIR%%/aqt/forms/__init__.py
-%%DATADIR%%/aqt/forms/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/about.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/about.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/about_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/about_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/about_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/about_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addcards.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addcards.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addcards_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addcards_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addcards_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addcards_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addfield.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addfield.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addfield_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addfield_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addfield_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addfield_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addmodel.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addmodel.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addmodel_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addmodel_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addmodel_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addmodel_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addonconf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addonconf.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addonconf_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addonconf_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addonconf_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addonconf_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addons.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addons.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addons_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addons_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addons_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/addons_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browser_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browser_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browser_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browser_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browserdisp.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browserdisp.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browserdisp_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browserdisp_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browserdisp_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browserdisp_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browseropts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browseropts.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browseropts_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browseropts_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browseropts_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/browseropts_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemap.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemap.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemap_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemap_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemap_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemap_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemodel.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemodel.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemodel_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemodel_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemodel_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/changemodel_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/clayout_top.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/clayout_top.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/clayout_top_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/clayout_top_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/clayout_top_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/clayout_top_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/customstudy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/customstudy.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/customstudy_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/customstudy_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/customstudy_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/customstudy_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dconf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dconf.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dconf_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dconf_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dconf_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dconf_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/debug.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/debug.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/debug_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/debug_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/debug_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/debug_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editaddon.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editaddon.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editaddon_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editaddon_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editaddon_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editaddon_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editcurrent.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editcurrent.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editcurrent_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editcurrent_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editcurrent_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/editcurrent_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/edithtml.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/edithtml.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/edithtml_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/edithtml_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/edithtml_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/edithtml_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/emptycards.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/emptycards.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/emptycards_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/emptycards_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/emptycards_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/emptycards_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/exporting_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/exporting_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/exporting_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/exporting_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_web.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_web.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_web_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_web_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_web_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/fields_web_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/filtered_deck_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/filtered_deck_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/filtered_deck_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/filtered_deck_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/finddupes.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/finddupes.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/finddupes_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/finddupes_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/finddupes_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/finddupes_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/findreplace.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/findreplace.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/findreplace_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/findreplace_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/findreplace_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/findreplace_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/forget.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/forget.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/forget_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/forget_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/forget_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/forget_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/getaddons.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/getaddons.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/getaddons_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/getaddons_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/getaddons_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/getaddons_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/importing.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/importing.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/importing_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/importing_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/importing_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/importing_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/main.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/main.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/main_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/main_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/main_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/main_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/modelopts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/modelopts.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/modelopts_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/modelopts_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/modelopts_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/modelopts_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/models_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/models_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/models_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/models_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preferences_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preferences_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preferences_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preferences_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preview.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preview.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preview_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preview_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preview_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/preview_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/profiles.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/profiles.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/profiles_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/profiles_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/profiles_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/profiles_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/progress_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/progress_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/progress_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/progress_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/reposition.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/reposition.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/reposition_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/reposition_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/reposition_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/reposition_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setgroup.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setgroup.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setgroup_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setgroup_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setgroup_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setgroup_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setlang.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setlang.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setlang_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setlang_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setlang_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/setlang_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/stats_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/stats_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/stats_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/stats_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/studydeck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/studydeck.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/studydeck_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/studydeck_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/studydeck_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/studydeck_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/synclog.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/synclog.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/synclog_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/synclog_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/synclog_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/synclog_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/taglimit.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/taglimit.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/taglimit_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/taglimit_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/taglimit_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/taglimit_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/template.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/template.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/template_qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/template_qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/template_qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/template_qt6.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/forms/about.py
-%%DATADIR%%/aqt/forms/about_qt5.py
-%%DATADIR%%/aqt/forms/about_qt6.py
%%DATADIR%%/aqt/forms/addcards.py
-%%DATADIR%%/aqt/forms/addcards_qt5.py
-%%DATADIR%%/aqt/forms/addcards_qt6.py
%%DATADIR%%/aqt/forms/addfield.py
-%%DATADIR%%/aqt/forms/addfield_qt5.py
-%%DATADIR%%/aqt/forms/addfield_qt6.py
%%DATADIR%%/aqt/forms/addmodel.py
-%%DATADIR%%/aqt/forms/addmodel_qt5.py
-%%DATADIR%%/aqt/forms/addmodel_qt6.py
%%DATADIR%%/aqt/forms/addonconf.py
-%%DATADIR%%/aqt/forms/addonconf_qt5.py
-%%DATADIR%%/aqt/forms/addonconf_qt6.py
%%DATADIR%%/aqt/forms/addons.py
-%%DATADIR%%/aqt/forms/addons_qt5.py
-%%DATADIR%%/aqt/forms/addons_qt6.py
%%DATADIR%%/aqt/forms/browser.py
-%%DATADIR%%/aqt/forms/browser_qt5.py
-%%DATADIR%%/aqt/forms/browser_qt6.py
%%DATADIR%%/aqt/forms/browserdisp.py
-%%DATADIR%%/aqt/forms/browserdisp_qt5.py
-%%DATADIR%%/aqt/forms/browserdisp_qt6.py
%%DATADIR%%/aqt/forms/browseropts.py
-%%DATADIR%%/aqt/forms/browseropts_qt5.py
-%%DATADIR%%/aqt/forms/browseropts_qt6.py
%%DATADIR%%/aqt/forms/changemap.py
-%%DATADIR%%/aqt/forms/changemap_qt5.py
-%%DATADIR%%/aqt/forms/changemap_qt6.py
%%DATADIR%%/aqt/forms/changemodel.py
-%%DATADIR%%/aqt/forms/changemodel_qt5.py
-%%DATADIR%%/aqt/forms/changemodel_qt6.py
%%DATADIR%%/aqt/forms/clayout_top.py
-%%DATADIR%%/aqt/forms/clayout_top_qt5.py
-%%DATADIR%%/aqt/forms/clayout_top_qt6.py
%%DATADIR%%/aqt/forms/customstudy.py
-%%DATADIR%%/aqt/forms/customstudy_qt5.py
-%%DATADIR%%/aqt/forms/customstudy_qt6.py
%%DATADIR%%/aqt/forms/dconf.py
-%%DATADIR%%/aqt/forms/dconf_qt5.py
-%%DATADIR%%/aqt/forms/dconf_qt6.py
%%DATADIR%%/aqt/forms/debug.py
-%%DATADIR%%/aqt/forms/debug_qt5.py
-%%DATADIR%%/aqt/forms/debug_qt6.py
%%DATADIR%%/aqt/forms/editaddon.py
-%%DATADIR%%/aqt/forms/editaddon_qt5.py
-%%DATADIR%%/aqt/forms/editaddon_qt6.py
%%DATADIR%%/aqt/forms/editcurrent.py
-%%DATADIR%%/aqt/forms/editcurrent_qt5.py
-%%DATADIR%%/aqt/forms/editcurrent_qt6.py
%%DATADIR%%/aqt/forms/edithtml.py
-%%DATADIR%%/aqt/forms/edithtml_qt5.py
-%%DATADIR%%/aqt/forms/edithtml_qt6.py
%%DATADIR%%/aqt/forms/emptycards.py
-%%DATADIR%%/aqt/forms/emptycards_qt5.py
-%%DATADIR%%/aqt/forms/emptycards_qt6.py
%%DATADIR%%/aqt/forms/exporting.py
-%%DATADIR%%/aqt/forms/exporting_qt5.py
-%%DATADIR%%/aqt/forms/exporting_qt6.py
%%DATADIR%%/aqt/forms/fields.py
-%%DATADIR%%/aqt/forms/fields_qt5.py
-%%DATADIR%%/aqt/forms/fields_qt6.py
%%DATADIR%%/aqt/forms/fields_web.py
-%%DATADIR%%/aqt/forms/fields_web_qt5.py
-%%DATADIR%%/aqt/forms/fields_web_qt6.py
%%DATADIR%%/aqt/forms/filtered_deck.py
-%%DATADIR%%/aqt/forms/filtered_deck_qt5.py
-%%DATADIR%%/aqt/forms/filtered_deck_qt6.py
%%DATADIR%%/aqt/forms/finddupes.py
-%%DATADIR%%/aqt/forms/finddupes_qt5.py
-%%DATADIR%%/aqt/forms/finddupes_qt6.py
%%DATADIR%%/aqt/forms/findreplace.py
-%%DATADIR%%/aqt/forms/findreplace_qt5.py
-%%DATADIR%%/aqt/forms/findreplace_qt6.py
%%DATADIR%%/aqt/forms/forget.py
-%%DATADIR%%/aqt/forms/forget_qt5.py
-%%DATADIR%%/aqt/forms/forget_qt6.py
%%DATADIR%%/aqt/forms/getaddons.py
-%%DATADIR%%/aqt/forms/getaddons_qt5.py
-%%DATADIR%%/aqt/forms/getaddons_qt6.py
%%DATADIR%%/aqt/forms/importing.py
-%%DATADIR%%/aqt/forms/importing_qt5.py
-%%DATADIR%%/aqt/forms/importing_qt6.py
%%DATADIR%%/aqt/forms/main.py
-%%DATADIR%%/aqt/forms/main_qt5.py
-%%DATADIR%%/aqt/forms/main_qt6.py
%%DATADIR%%/aqt/forms/modelopts.py
-%%DATADIR%%/aqt/forms/modelopts_qt5.py
-%%DATADIR%%/aqt/forms/modelopts_qt6.py
%%DATADIR%%/aqt/forms/models.py
-%%DATADIR%%/aqt/forms/models_qt5.py
-%%DATADIR%%/aqt/forms/models_qt6.py
%%DATADIR%%/aqt/forms/preferences.py
-%%DATADIR%%/aqt/forms/preferences_qt5.py
-%%DATADIR%%/aqt/forms/preferences_qt6.py
%%DATADIR%%/aqt/forms/preview.py
-%%DATADIR%%/aqt/forms/preview_qt5.py
-%%DATADIR%%/aqt/forms/preview_qt6.py
%%DATADIR%%/aqt/forms/profiles.py
-%%DATADIR%%/aqt/forms/profiles_qt5.py
-%%DATADIR%%/aqt/forms/profiles_qt6.py
%%DATADIR%%/aqt/forms/progress.py
-%%DATADIR%%/aqt/forms/progress_qt5.py
-%%DATADIR%%/aqt/forms/progress_qt6.py
%%DATADIR%%/aqt/forms/reposition.py
-%%DATADIR%%/aqt/forms/reposition_qt5.py
-%%DATADIR%%/aqt/forms/reposition_qt6.py
%%DATADIR%%/aqt/forms/setgroup.py
-%%DATADIR%%/aqt/forms/setgroup_qt5.py
-%%DATADIR%%/aqt/forms/setgroup_qt6.py
%%DATADIR%%/aqt/forms/setlang.py
-%%DATADIR%%/aqt/forms/setlang_qt5.py
-%%DATADIR%%/aqt/forms/setlang_qt6.py
%%DATADIR%%/aqt/forms/stats.py
-%%DATADIR%%/aqt/forms/stats_qt5.py
-%%DATADIR%%/aqt/forms/stats_qt6.py
%%DATADIR%%/aqt/forms/studydeck.py
-%%DATADIR%%/aqt/forms/studydeck_qt5.py
-%%DATADIR%%/aqt/forms/studydeck_qt6.py
%%DATADIR%%/aqt/forms/synclog.py
-%%DATADIR%%/aqt/forms/synclog_qt5.py
-%%DATADIR%%/aqt/forms/synclog_qt6.py
%%DATADIR%%/aqt/forms/taglimit.py
-%%DATADIR%%/aqt/forms/taglimit_qt5.py
-%%DATADIR%%/aqt/forms/taglimit_qt6.py
%%DATADIR%%/aqt/forms/template.py
-%%DATADIR%%/aqt/forms/template_qt5.py
-%%DATADIR%%/aqt/forms/template_qt6.py
+%%DATADIR%%/aqt/forms/widgets.py
%%DATADIR%%/aqt/gui_hooks.py
-%%DATADIR%%/aqt/hooks_gen.py
%%DATADIR%%/aqt/import_export/__init__.py
-%%DATADIR%%/aqt/import_export/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/import_export/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/import_export/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/import_export/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/import_export/__pycache__/import_csv_dialog.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/import_export/__pycache__/import_csv_dialog.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/import_export/__pycache__/importing.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/import_export/__pycache__/importing.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/import_export/exporting.py
%%DATADIR%%/aqt/import_export/import_csv_dialog.py
%%DATADIR%%/aqt/import_export/importing.py
@@ -1020,22 +485,6 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/mpv.py
%%DATADIR%%/aqt/notetypechooser.py
%%DATADIR%%/aqt/operations/__init__.py
-%%DATADIR%%/aqt/operations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/operations/__pycache__/card.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/card.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/operations/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/operations/__pycache__/deck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/deck.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/operations/__pycache__/note.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/note.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/operations/__pycache__/notetype.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/notetype.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/operations/__pycache__/scheduling.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/scheduling.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/operations/__pycache__/tag.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/operations/__pycache__/tag.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/operations/card.py
%%DATADIR%%/aqt/operations/collection.py
%%DATADIR%%/aqt/operations/deck.py
@@ -1045,22 +494,12 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/operations/tag.py
%%DATADIR%%/aqt/overview.py
%%DATADIR%%/aqt/package.py
-%%DATADIR%%/aqt/pinnedmodules.py
%%DATADIR%%/aqt/preferences.py
%%DATADIR%%/aqt/profiles.py
%%DATADIR%%/aqt/progress.py
+%%DATADIR%%/aqt/props.py
%%DATADIR%%/aqt/py.typed
%%DATADIR%%/aqt/qt/__init__.py
-%%DATADIR%%/aqt/qt/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/qt/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt5.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt5.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt5_audio.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt5_audio.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt5_compat.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt5_compat.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt6.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/qt/__pycache__/qt6.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/qt/qt5.py
%%DATADIR%%/aqt/qt/qt5_audio.py
%%DATADIR%%/aqt/qt/qt5_compat.py
@@ -1070,6 +509,7 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/sound.py
%%DATADIR%%/aqt/stats.py
%%DATADIR%%/aqt/studydeck.py
+%%DATADIR%%/aqt/stylesheets.py
%%DATADIR%%/aqt/switch.py
%%DATADIR%%/aqt/sync.py
%%DATADIR%%/aqt/tagedit.py
@@ -1082,6 +522,7 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/update.py
%%DATADIR%%/aqt/utils.py
%%DATADIR%%/aqt/webview.py
+%%DATADIR%%/aqt/widgetgallery.py
%%DATADIR%%/aqt/winpaths.py
share/applications/anki.desktop
share/pixmaps/anki.png