aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Knoblich <kai@FreeBSD.org>2022-09-16 03:42:24 +0000
committerKai Knoblich <kai@FreeBSD.org>2022-09-16 03:42:24 +0000
commit09353d0a9c71e245d4460d90af49451261a8d587 (patch)
treebb6df1e87a82ba948277e385aaeca6a863fe80ce
parent1238da3e3924cd89d7086c2a3908a740228487c3 (diff)
downloadports-09353d0a9c71e245d4460d90af49451261a8d587.tar.gz
ports-09353d0a9c71e245d4460d90af49451261a8d587.zip
games/anki: Update to 2.1.54
* Remove BROKEN for aarch64 as the FreeBSD related sections in the Bazel rules should now be architecture independent. * Build a separate binary version of "esbuild" beforehand as the JS counterpart, which is used by the Bazel NodeJS ruleset, has fixed version checks that cannot patched out easily. Changelogs since 2.1.49: https://github.com/ankitects/anki/releases/tag/2.1.54 https://github.com/ankitects/anki/releases/tag/2.1.53 https://github.com/ankitects/anki/releases/tag/2.1.52 https://github.com/ankitects/anki/releases/tag/2.1.51 https://github.com/ankitects/anki/releases/tag/2.1.50 Reviewed by: tcberner (earlier revision) MFH: No (feature release) Differential Revision: https://reviews.freebsd.org/D36461
-rw-r--r--games/anki/Makefile504
-rw-r--r--games/anki/distinfo790
-rw-r--r--games/anki/files/bazel/BUILD.bazel-i18n10
-rw-r--r--games/anki/files/bazel/BUILD.bazel-pyqt527
-rw-r--r--games/anki/files/bazel/pyqt5.bzl13
-rw-r--r--games/anki/files/bazel/repos.bzl20
-rw-r--r--games/anki/files/patch-WORKSPACE9
-rw-r--r--games/anki/files/patch-defs.bzl47
-rw-r--r--games/anki/files/patch-late__deps.bzl16
-rw-r--r--games/anki/files/patch-local__repos_esbuild__toolchain_esbuild__repo.bzl14
-rw-r--r--games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl12
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_internal_common_os__name.bzl29
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_internal_npm__install_npm__install.bzl10
-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.bazel29
-rw-r--r--games/anki/files/patch-platforms_BUILD.bazel21
-rw-r--r--games/anki/files/patch-proto_protobuf.bzl15
-rw-r--r--games/anki/files/patch-pylib_BUILD.bazel52
-rw-r--r--games/anki/files/patch-pylib_anki_BUILD.bazel23
-rw-r--r--games/anki/files/patch-pylib_anki___backend_BUILD.bazel15
-rw-r--r--games/anki/files/patch-pylib_tools_BUILD.bazel17
-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.bzl (renamed from games/anki/files/patch-python.bzl)6
-rw-r--r--games/anki/files/patch-python_stubs_BUILD.bazel35
-rw-r--r--games/anki/files/patch-qt_BUILD.bazel25
-rw-r--r--games/anki/files/patch-qt_aqt_BUILD.bazel10
-rw-r--r--games/anki/files/patch-rslib_Cargo.toml16
-rw-r--r--games/anki/files/patch-scripts_BUILD.bazel10
-rw-r--r--games/anki/files/patch-tools_status.sh (renamed from games/anki/files/patch-scripts_status.sh)4
-rw-r--r--games/anki/files/patch-ts_lib_BUILD.bazel17
-rw-r--r--games/anki/pkg-message9
-rw-r--r--games/anki/pkg-plist378
35 files changed, 1433 insertions, 901 deletions
diff --git a/games/anki/Makefile b/games/anki/Makefile
index 4d4a1e4fb6d3..a6ea8d1d1370 100644
--- a/games/anki/Makefile
+++ b/games/anki/Makefile
@@ -1,10 +1,11 @@
PORTNAME= anki
-DISTVERSION= 2.1.49
-PORTREVISION= 4
+DISTVERSION= 2.1.54
# Don't forget to update ${_MY_BUILDHASH} if DISTVERSION changes
CATEGORIES= games education python
-MASTER_SITES= LOCAL/kai/:yarncache
-DISTFILES= anki-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}:yarncache
+MASTER_SITES= LOCAL/kai/:yarncache \
+ LOCAL/kai/:npmcache
+DISTFILES= anki-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}:yarncache \
+ anki-npm-cache-${DISTVERSION}${EXTRACT_SUFX}:npmcache
MAINTAINER= kai@FreeBSD.org
COMMENT= Flashcard trainer with spaced repetition
@@ -13,15 +14,14 @@ WWW= https://apps.ankiweb.net/
LICENSE= AGPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_aarch64= needs adjustments (e.g. "//platforms:freebsd_arm64") for the shipped Bazel rules files to include several files during build.
-
NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc
NOT_FOR_ARCHS_REASON= the bazel build framework supports only 64-bit systems.
BUILD_DEPENDS= bash:shells/bash \
bazel:devel/bazel \
- esbuild:devel/esbuild \
+ npm:www/npm \
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} \
@@ -29,10 +29,8 @@ BUILD_DEPENDS= bash:shells/bash \
${PYTHON_PKGNAMEPREFIX}fluent>0:devel/py-fluent@${PY_FLAVOR} \
${RUN_DEPENDS}
-# For x64 architectures there's also a Python package "orjson" that still needs
-# to be ported once the required features (= "untagged unions",
-# "specialication" and "const_generics") of the "smallvec" crate are available
-# in the Rust release channel.
+# 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.
@@ -48,116 +46,118 @@ RUN_DEPENDS= lame:audio/lame \
${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>0:devel/py-protobuf@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}stringcase>0:devel/py-stringcase@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}protobuf>=3.17:devel/py-protobuf@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}waitress>0:www/py-waitress@${PY_FLAVOR}
# USES=ssl is required for the compilation of the Rust code
-USES= cargo desktop-file-utils pyqt:5 python:3.8+ shebangfix ssl
+USES= cargo desktop-file-utils go:modules,no_targets nodejs:build pyqt:5 \
+ python:3.9+ shebangfix ssl
USE_GITHUB= yes
GH_ACCOUNT= ankitects
# Translation files
-GH_TUPLE= ankitects:anki-core-i18n:56d46d6:ftlrslib \
- ankitects:anki-desktop-ftl:5359f84:ftlextra
+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:2d02e82:bzlrnodejs \
+ bazelbuild:rules_nodejs:45e97fc:bzlrnodejs \
bazelbuild:rules_proto:f7a30f6:bzlrproto \
- ankitects:esbuild_toolchain:f942aa9:esbuildtc \
- ankitects:rules_pip:fb02cb7:bzlrpip \
- ankitects:rules_python:3927c9b:bzlrpython \
- ankitects:rules_rust:f66001a:bzlrrust \
- ankitects:rules_sass:275ace7:bzlrsass
+ 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
USE_PYQT= pyqt5 sip webengine
SHEBANG_FILES= qt/tools/runanki.system.in
-CARGO_CRATES= Inflector-0.11.4 \
- adler-1.0.2 \
- ahash-0.7.4 \
+CARGO_CRATES= adler-1.0.2 \
+ ahash-0.7.6 \
aho-corasick-0.7.18 \
- ammonia-3.1.2 \
- anyhow-1.0.42 \
- arc-swap-1.3.0 \
+ ammonia-3.1.4 \
+ anyhow-1.0.56 \
+ arc-swap-1.5.0 \
arrayref-0.3.6 \
arrayvec-0.4.12 \
- arrayvec-0.5.2 \
- askama-0.10.5 \
- askama_derive-0.10.5 \
- askama_escape-0.10.1 \
- askama_shared-0.11.1 \
- async-trait-0.1.51 \
+ arrayvec-0.7.2 \
+ async-trait-0.1.52 \
atty-0.2.14 \
- autocfg-1.0.1 \
+ autocfg-1.1.0 \
base64-0.13.0 \
- bitflags-1.2.1 \
- bitvec-0.19.5 \
- blake3-0.3.8 \
- bumpalo-3.7.0 \
+ bitflags-1.3.2 \
+ blake3-1.3.1 \
+ block-buffer-0.10.2 \
+ bstr-0.2.17 \
+ bumpalo-3.9.1 \
byteorder-1.4.3 \
- bytes-1.0.1 \
- cc-1.0.69 \
- cfg-if-0.1.10 \
+ bytes-1.1.0 \
+ cast-0.2.7 \
+ cc-1.0.73 \
cfg-if-1.0.0 \
chrono-0.4.19 \
- coarsetime-0.1.19 \
+ clap-2.34.0 \
+ coarsetime-0.1.21 \
codespan-0.11.1 \
codespan-reporting-0.11.1 \
constant_time_eq-0.1.5 \
convert_case-0.4.0 \
- core-foundation-0.9.1 \
- core-foundation-sys-0.8.2 \
- crc32fast-1.2.1 \
- crossbeam-channel-0.5.1 \
- crossbeam-utils-0.8.5 \
- crypto-mac-0.8.0 \
+ core-foundation-0.9.3 \
+ core-foundation-sys-0.8.3 \
+ 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 \
- ctor-0.1.20 \
- derivative-2.2.0 \
- derive_more-0.99.16 \
- digest-0.9.0 \
- dirs-2.0.2 \
- dirs-sys-0.3.6 \
+ 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.28 \
- env_logger-0.8.4 \
+ encoding_rs-0.8.30 \
+ env_logger-0.9.0 \
fallible-iterator-0.2.0 \
fallible-streaming-iterator-0.1.9 \
- fixedbitset-0.2.0 \
- flate2-1.0.20 \
- fluent-0.15.0 \
- fluent-bundle-0.15.1 \
+ fastrand-1.7.0 \
+ fixedbitset-0.4.1 \
+ flate2-1.0.22 \
+ fluent-0.16.0 \
+ fluent-bundle-0.15.2 \
fluent-langneg-0.13.0 \
fluent-syntax-0.11.0 \
fnv-1.0.7 \
foreign-types-0.3.2 \
foreign-types-shared-0.1.1 \
form_urlencoded-1.0.1 \
- funty-1.1.0 \
- futf-0.1.4 \
- futures-0.3.16 \
- futures-channel-0.3.16 \
- futures-core-0.3.16 \
- futures-executor-0.3.16 \
- futures-io-0.3.16 \
- futures-macro-0.3.16 \
- futures-sink-0.3.16 \
- futures-task-0.3.16 \
- futures-util-0.3.16 \
+ 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.4 \
+ generic-array-0.14.5 \
getopts-0.2.21 \
getrandom-0.1.16 \
- getrandom-0.2.3 \
- ghost-0.1.2 \
- h2-0.3.3 \
+ getrandom-0.2.5 \
+ h2-0.3.12 \
+ half-1.8.2 \
hashbrown-0.11.2 \
hashlink-0.7.0 \
heck-0.3.3 \
@@ -165,194 +165,203 @@ CARGO_CRATES= Inflector-0.11.4 \
hex-0.4.3 \
html5ever-0.25.1 \
htmlescape-0.3.1 \
- http-0.2.4 \
- http-body-0.4.2 \
- httparse-1.4.1 \
- httpdate-1.0.1 \
- humansize-1.1.1 \
+ http-0.2.6 \
+ http-body-0.4.4 \
+ httparse-1.6.0 \
+ httpdate-1.0.2 \
humantime-2.1.0 \
- hyper-0.14.11 \
+ hyper-0.14.17 \
hyper-rustls-0.22.1 \
hyper-tls-0.5.0 \
+ id_tree-1.8.0 \
idna-0.2.3 \
- indexmap-1.7.0 \
+ indexmap-1.8.0 \
indoc-0.3.6 \
indoc-impl-0.3.6 \
inflections-1.1.1 \
- instant-0.1.10 \
+ instant-0.1.12 \
intl-memoizer-0.5.1 \
intl_pluralrules-7.0.1 \
- inventory-0.1.10 \
- inventory-impl-0.1.10 \
- ipnet-2.3.1 \
- itertools-0.9.0 \
- itertools-0.10.1 \
- itoa-0.4.7 \
- js-sys-0.3.52 \
+ 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 \
lazy_static-1.4.0 \
- lexical-core-0.7.6 \
- libc-0.2.98 \
- libsqlite3-sys-0.22.2 \
+ libc-0.2.120 \
+ libsqlite3-sys-0.23.2 \
linkify-0.5.0 \
- lock_api-0.4.4 \
+ lock_api-0.4.6 \
log-0.4.14 \
mac-0.1.1 \
maplit-1.0.2 \
markup5ever-0.10.1 \
markup5ever_rcdom-0.1.0 \
- matches-0.1.8 \
- memchr-2.4.0 \
+ matches-0.1.9 \
+ memchr-2.4.1 \
+ memoffset-0.6.5 \
mime-0.3.16 \
- mime_guess-2.0.3 \
+ mime_guess-2.0.4 \
+ minimal-lexical-0.2.1 \
miniz_oxide-0.4.4 \
- mio-0.7.13 \
+ mio-0.8.1 \
miow-0.3.7 \
multimap-0.8.3 \
- native-tls-0.2.7 \
+ native-tls-0.2.8 \
new_debug_unreachable-1.0.4 \
nodrop-0.1.14 \
- nom-6.1.2 \
- nom-7.0.0-alpha1 \
- ntapi-0.3.6 \
+ 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.0 \
- num_enum-0.5.2 \
- num_enum_derive-0.5.2 \
- once_cell-1.8.0 \
- openssl-0.10.35 \
- openssl-probe-0.1.4 \
- openssl-sys-0.9.65 \
- ouroboros-0.9.5 \
- ouroboros_macro-0.9.5 \
- parking_lot-0.11.1 \
- parking_lot_core-0.8.3 \
+ 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 \
+ oorandom-11.1.3 \
+ openssl-0.10.38 \
+ 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 \
- pest-2.1.3 \
- petgraph-0.5.1 \
+ petgraph-0.6.0 \
phf-0.8.0 \
- phf-0.9.0 \
+ phf-0.10.1 \
phf_codegen-0.8.0 \
phf_generator-0.8.0 \
- phf_generator-0.9.0 \
+ phf_generator-0.10.0 \
phf_macros-0.8.0 \
- phf_macros-0.9.0 \
+ phf_macros-0.10.0 \
phf_shared-0.8.0 \
- phf_shared-0.9.0 \
- pin-project-1.0.8 \
- pin-project-internal-1.0.8 \
- pin-project-lite-0.2.7 \
+ phf_shared-0.10.0 \
+ pin-project-1.0.10 \
+ pin-project-internal-1.0.10 \
+ pin-project-lite-0.2.8 \
pin-utils-0.1.0 \
- pkg-config-0.3.19 \
- ppv-lite86-0.2.10 \
+ pkg-config-0.3.24 \
+ plotters-0.3.1 \
+ plotters-backend-0.3.2 \
+ plotters-svg-0.3.1 \
+ ppv-lite86-0.2.16 \
precomputed-hash-0.1.1 \
- proc-macro-crate-1.0.0 \
- proc-macro-error-1.0.4 \
- proc-macro-error-attr-1.0.4 \
+ proc-macro-crate-1.1.3 \
proc-macro-hack-0.5.19 \
- proc-macro-nested-0.1.6 \
- proc-macro2-1.0.28 \
- prost-0.7.0 \
- prost-build-0.7.0 \
- prost-derive-0.7.0 \
- prost-types-0.7.0 \
+ 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 \
pulldown-cmark-0.8.0 \
- pyo3-0.13.2 \
- pyo3-macros-0.13.2 \
- pyo3-macros-backend-0.13.2 \
- quote-1.0.9 \
- radium-0.5.3 \
+ 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 \
rand-0.7.3 \
- rand-0.8.4 \
+ 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_hc-0.2.0 \
- rand_hc-0.3.1 \
rand_pcg-0.2.1 \
- redox_syscall-0.2.9 \
+ rayon-1.5.1 \
+ rayon-core-1.9.1 \
+ redox_syscall-0.2.11 \
redox_users-0.4.0 \
- regex-1.5.4 \
- regex-syntax-0.6.25 \
+ regex-1.5.6 \
+ regex-automata-0.1.10 \
+ regex-syntax-0.6.26 \
remove_dir_all-0.5.3 \
- reqwest-0.11.4 \
ring-0.16.20 \
- rusqlite-0.25.3 \
+ rusqlite-0.26.3 \
rustc-hash-1.1.0 \
- rustc_version-0.3.3 \
+ rustc_version-0.4.0 \
rustls-0.19.1 \
rustls-native-certs-0.5.0 \
- ryu-1.0.5 \
+ rustversion-1.0.6 \
+ ryu-1.0.9 \
+ same-file-1.0.6 \
schannel-0.1.19 \
scopeguard-1.1.0 \
sct-0.6.1 \
- security-framework-2.3.1 \
- security-framework-sys-2.3.0 \
+ security-framework-2.6.1 \
+ security-framework-sys-2.6.1 \
selectors-0.22.0 \
- semver-0.11.0 \
- semver-parser-0.10.2 \
- serde-1.0.127 \
- serde-aux-2.2.0 \
- serde_derive-1.0.127 \
- serde_json-1.0.66 \
+ 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 \
serde_tuple-0.5.0 \
serde_tuple_macros-0.5.0 \
- serde_urlencoded-0.7.0 \
+ serde_urlencoded-0.7.1 \
servo_arc-0.1.1 \
- sha1-0.6.0 \
- siphasher-0.3.6 \
- slab-0.4.3 \
+ sha1-0.6.1 \
+ sha1_smol-1.0.0 \
+ signal-hook-registry-1.4.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.6.0 \
- smallvec-1.6.1 \
- socket2-0.4.1 \
+ slog-term-2.9.0 \
+ smallvec-1.8.0 \
+ snowflake-1.3.0 \
+ socket2-0.4.4 \
spin-0.5.2 \
stable_deref_trait-1.2.0 \
- static_assertions-1.1.0 \
- string_cache-0.8.1 \
+ string_cache-0.8.3 \
string_cache_codegen-0.5.1 \
- strum-0.21.0 \
- strum_macros-0.21.1 \
+ strum-0.23.0 \
+ strum_macros-0.23.1 \
subtle-2.4.1 \
- syn-1.0.74 \
+ syn-1.0.88 \
take_mut-0.2.2 \
- tap-1.0.1 \
- tempfile-3.2.0 \
+ tempfile-3.3.0 \
tendril-0.4.2 \
- term-0.6.1 \
- termcolor-1.1.2 \
+ term-0.7.0 \
+ termcolor-1.1.3 \
+ textwrap-0.11.0 \
thin-slice-0.1.1 \
- thiserror-1.0.26 \
- thiserror-impl-1.0.26 \
- thread_local-1.1.3 \
+ 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 \
- tinyvec-1.3.1 \
+ tinytemplate-1.2.1 \
+ tinyvec-1.5.1 \
tinyvec_macros-0.1.0 \
- tokio-1.9.0 \
- tokio-macros-1.3.0 \
+ tokio-1.17.0 \
+ tokio-macros-1.7.0 \
tokio-native-tls-0.3.0 \
tokio-rustls-0.22.0 \
tokio-socks-0.5.1 \
- tokio-util-0.6.7 \
+ tokio-util-0.6.9 \
toml-0.5.8 \
tower-service-0.3.1 \
- tracing-0.1.26 \
- tracing-core-0.1.18 \
+ tracing-0.1.32 \
+ tracing-core-0.1.23 \
try-lock-0.2.3 \
type-map-0.4.0 \
- typenum-1.13.0 \
- ucd-trie-0.1.3 \
+ typenum-1.15.0 \
unic-char-property-0.9.0 \
unic-char-range-0.9.0 \
unic-common-0.9.0 \
@@ -363,45 +372,57 @@ CARGO_CRATES= Inflector-0.11.4 \
unic-ucd-category-0.9.0 \
unic-ucd-version-0.9.0 \
unicase-2.6.0 \
- unicode-bidi-0.3.5 \
+ unicode-bidi-0.3.7 \
unicode-normalization-0.1.19 \
- unicode-segmentation-1.8.0 \
- unicode-width-0.1.8 \
+ unicode-segmentation-1.9.0 \
+ unicode-width-0.1.9 \
unicode-xid-0.2.2 \
- unindent-0.1.7 \
+ unindent-0.1.8 \
untrusted-0.7.1 \
url-2.2.2 \
utf-8-0.7.6 \
utf8-decode-1.0.1 \
utime-0.3.1 \
vcpkg-0.2.15 \
- version_check-0.9.3 \
+ version_check-0.9.4 \
+ walkdir-2.3.2 \
want-0.3.0 \
wasi-0.9.0+wasi-snapshot-preview1 \
wasi-0.10.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.75 \
- wasm-bindgen-backend-0.2.75 \
- wasm-bindgen-futures-0.4.25 \
- wasm-bindgen-macro-0.2.75 \
- wasm-bindgen-macro-support-0.2.75 \
- wasm-bindgen-shared-0.2.75 \
- web-sys-0.3.52 \
+ 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.2 \
+ which-4.2.4 \
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 \
- wyz-0.2.0 \
- xml5ever-0.16.1 \
+ 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 \
+ 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
+
CARGO_CARGOTOML= ${WRKSRC}/pylib/rsbridge/Cargo.toml
CARGO_BUILD= no
@@ -415,8 +436,10 @@ CARGO_ENV= BAZEL=1 \
PROTO_TOP=${WRKSRC}/proto/.top_level \
PROTOC=${LOCALBASE}/bin/protoc \
BACKEND_PROTO=${WRKSRC}/rslib/backend.proto \
- RSLIB_FTL_ROOT=${_MY_LOCALREPO}/ftlrslib/l10n.toml \
- EXTRA_FTL_ROOT=${_MY_LOCALREPO}/ftlextra/l10n.toml
+ RSLIB_FTL_ROOT=${WRKSRC_ftlrslib}/l10n.toml \
+ EXTRA_FTL_ROOT=${WRKSRC_ftlextra}/l10n.toml
+
+GO_TARGET= ./cmd/esbuild:esbuild
OPTIONS_DEFAULT= MPV
OPTIONS_GROUP= PLAYER
@@ -431,10 +454,15 @@ 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= dc80804a
+_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 cache that is used by www/yarn
+# Path of caches that are used by www/npm and www/yarn
+_MY_NPMCACHE= ${WRKDIR}/.npm
_MY_YARNCACHE= ${WRKDIR}/.yarn
post-extract:
@@ -447,25 +475,24 @@ post-extract:
${_MY_LOCALREPO}/local_node/node/lib \
${_MY_LOCALREPO}/local_node/yarn/bin \
${_MY_LOCALREPO}/protoc_bin_freebsd/bin \
- ${_MY_LOCALREPO}/pyqt5 \
${_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 \
- ${_MY_LOCALREPO}/pyqt5/WORKSPACE \
- ${_MY_LOCALREPO}/rust_output/WORKSPACE
- # Copy the bazel rules for NodeJS and esbuild to the custom local repository
+ ${_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_esbuildtc} ${_MY_LOCALREPO}/esbuild_toolchain
@${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 bzlrpip bzlrproto bzlrpython bzlrrust bzlrsass ftlextra ftlrslib
+.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
@@ -473,22 +500,16 @@ post-extract:
${_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-pyqt5 \
- ${_MY_LOCALREPO}/pyqt5/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
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-i18n ${WRKSRC_ftlrslib}/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-i18n ${WRKSRC_ftlextra}/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}/pip/pyqt5/defs.bzl ${WRKSRC}/pip/pyqt5/defs.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/pyqt5.bzl ${WRKSRC}/pip/pyqt5/defs.bzl
@${CP} ${FILESDIR}/bazel/BUILD.bazel-pylib-rsbridge \
${WRKSRC}/pylib/rsbridge/BUILD.bazel
@${CP} ${FILESDIR}/bazel/BUILD.bazel-rslib-i18n \
@@ -500,19 +521,19 @@ post-patch:
@${REINPLACE_CMD} -e 's|\@PREFIX\@|${PREFIX}|' \
${WRKSRC}/qt/tools/runanki.system.in
@${REINPLACE_CMD} -e 's|%%_MY_BUILDHASH%%|${_MY_BUILDHASH}|' \
- ${WRKSRC}/scripts/status.sh
+ ${WRKSRC}/tools/status.sh
@${REINPLACE_CMD} -e 's|%%_MY_LOCALREPO%%|${_MY_LOCALREPO}|g' \
- ${WRKSRC}/repos.bzl ${WRKSRC}/proto/protobuf.bzl \
- ${_MY_LOCALREPO}/esbuild_toolchain/esbuild_repo.bzl
+ ${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/protoc-gen-mypy ${WRKSRC}/pylib/tools/protoc-gen-mypy
- ${LN} -s ${LOCALBASE}/bin/esbuild ${_MY_LOCALREPO}/local_esbuild/bin/esbuild
${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
@@ -526,6 +547,20 @@ pre-configure:
# `-> produces ${_MY_LOCALREPO}/rust_output/librsbridge/librsbridge.so
# 3. The remaining components (Python, Qt5 and JS) are built by bazel
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
@@ -543,15 +578,22 @@ do-build:
# 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 \
- --jobs 1 \
+ --config opt \
+ --jobs=1 \
--subcommands \
- dist
+ --show_progress_rate_limit=-1 \
+ wheels
post-build:
- ${TAR} -xf `${FIND} ${WRKDIR}/.bazel -name "dist.tar"` -C ${WRKSRC}
+ ${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
@@ -570,7 +612,7 @@ do-install:
cd ${WRKSRC}/bazel-dist/ \
&& ${COPYTREE_SHARE} anki ${STAGEDIR}${DATADIR} "! -name .gitignore" \
&& ${COPYTREE_SHARE} aqt ${STAGEDIR}${DATADIR} "! -name .gitignore"
- cd ${WRKSRC}/qt/linux \
+ cd ${WRKSRC}/qt/bundle/lin \
&& ${INSTALL_DATA} anki.xpm anki.png ${STAGEDIR}${PREFIX}/share/pixmaps \
&& ${INSTALL_DATA} anki.desktop ${STAGEDIR}${PREFIX}/share/applications \
&& ${INSTALL_MAN} anki.1 ${STAGEDIR}${MANPREFIX}/man/man1
@@ -578,9 +620,19 @@ do-install:
&& ${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}"
+
# Helper target to make the generation of the yarn cache easier
-make-yarn-cache:
- # Run "make extract" before executing this target
+make-yarn-cache: patch
@${RM} -r ${_MY_YARNCACHE}
@cd ${WRKSRC}/ts \
&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
diff --git a/games/anki/distinfo b/games/anki/distinfo
index 1578f24a7672..ca7baf22ee3c 100644
--- a/games/anki/distinfo
+++ b/games/anki/distinfo
@@ -1,64 +1,60 @@
-TIMESTAMP = 1648230415
-SHA256 (anki-yarn-cache-2.1.49.tar.gz) = 74a36b10b9d0bd9cbef8592acfe19b778eb2d1e4661d4c8f37fcef8e302b08fb
-SIZE (anki-yarn-cache-2.1.49.tar.gz) = 104554659
-SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
-SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
+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
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
SIZE (rust/crates/adler-1.0.2.crate) = 12778
-SHA256 (rust/crates/ahash-0.7.4.crate) = 43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98
-SIZE (rust/crates/ahash-0.7.4.crate) = 37072
+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.2.crate) = 2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35
-SIZE (rust/crates/ammonia-3.1.2.crate) = 39704
-SHA256 (rust/crates/anyhow-1.0.42.crate) = 595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486
-SIZE (rust/crates/anyhow-1.0.42.crate) = 34827
-SHA256 (rust/crates/arc-swap-1.3.0.crate) = e906254e445520903e7fc9da4f709886c84ae4bc4ddaf0e093188d66df4dc820
-SIZE (rust/crates/arc-swap-1.3.0.crate) = 63680
+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/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
-SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
-SHA256 (rust/crates/askama-0.10.5.crate) = d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134
-SIZE (rust/crates/askama-0.10.5.crate) = 7994
-SHA256 (rust/crates/askama_derive-0.10.5.crate) = ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522
-SIZE (rust/crates/askama_derive-0.10.5.crate) = 6927
-SHA256 (rust/crates/askama_escape-0.10.1.crate) = 90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb
-SIZE (rust/crates/askama_escape-0.10.1.crate) = 8535
-SHA256 (rust/crates/askama_shared-0.11.1.crate) = 2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc
-SIZE (rust/crates/askama_shared-0.11.1.crate) = 30554
-SHA256 (rust/crates/async-trait-0.1.51.crate) = 44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e
-SIZE (rust/crates/async-trait-0.1.51.crate) = 25531
+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/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+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/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
-SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
-SHA256 (rust/crates/bitvec-0.19.5.crate) = 8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321
-SIZE (rust/crates/bitvec-0.19.5.crate) = 148200
-SHA256 (rust/crates/blake3-0.3.8.crate) = b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3
-SIZE (rust/crates/blake3-0.3.8.crate) = 154058
-SHA256 (rust/crates/bumpalo-3.7.0.crate) = 9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631
-SIZE (rust/crates/bumpalo-3.7.0.crate) = 134261
+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/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/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (rust/crates/bytes-1.0.1.crate) = b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040
-SIZE (rust/crates/bytes-1.0.1.crate) = 48142
-SHA256 (rust/crates/cc-1.0.69.crate) = e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2
-SIZE (rust/crates/cc-1.0.69.crate) = 56044
-SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
-SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+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/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/coarsetime-0.1.19.crate) = 2918e2ffa91a49dabbba4965fe38a37a1ba0b6953a29e32cc250a8d59cd42232
-SIZE (rust/crates/coarsetime-0.1.19.crate) = 7927
+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/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
@@ -67,34 +63,42 @@ SHA256 (rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd
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/core-foundation-0.9.1.crate) = 0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62
-SIZE (rust/crates/core-foundation-0.9.1.crate) = 25985
-SHA256 (rust/crates/core-foundation-sys-0.8.2.crate) = ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b
-SIZE (rust/crates/core-foundation-sys-0.8.2.crate) = 17461
-SHA256 (rust/crates/crc32fast-1.2.1.crate) = 81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a
-SIZE (rust/crates/crc32fast-1.2.1.crate) = 38172
-SHA256 (rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
-SIZE (rust/crates/crossbeam-channel-0.5.1.crate) = 86919
-SHA256 (rust/crates/crossbeam-utils-0.8.5.crate) = d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db
-SIZE (rust/crates/crossbeam-utils-0.8.5.crate) = 38414
-SHA256 (rust/crates/crypto-mac-0.8.0.crate) = b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab
-SIZE (rust/crates/crypto-mac-0.8.0.crate) = 9115
+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/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/ctor-0.1.20.crate) = 5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d
-SIZE (rust/crates/ctor-0.1.20.crate) = 9328
-SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
-SIZE (rust/crates/derivative-2.2.0.crate) = 48076
-SHA256 (rust/crates/derive_more-0.99.16.crate) = 40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df
-SIZE (rust/crates/derive_more-0.99.16.crate) = 56233
-SHA256 (rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066
-SIZE (rust/crates/digest-0.9.0.crate) = 13247
-SHA256 (rust/crates/dirs-2.0.2.crate) = 13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3
-SIZE (rust/crates/dirs-2.0.2.crate) = 11779
-SHA256 (rust/crates/dirs-sys-0.3.6.crate) = 03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780
-SIZE (rust/crates/dirs-sys-0.3.6.crate) = 10626
+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
@@ -103,22 +107,24 @@ SHA256 (rust/crates/dunce-1.0.2.crate) = 453440c271cf5577fd2a40e4942540cb7d0d2f8
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.28.crate) = 80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065
-SIZE (rust/crates/encoding_rs-0.8.28.crate) = 1368577
-SHA256 (rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
-SIZE (rust/crates/env_logger-0.8.4.crate) = 33342
+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/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/fixedbitset-0.2.0.crate) = 37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d
-SIZE (rust/crates/fixedbitset-0.2.0.crate) = 13597
-SHA256 (rust/crates/flate2-1.0.20.crate) = cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0
-SIZE (rust/crates/flate2-1.0.20.crate) = 74036
-SHA256 (rust/crates/fluent-0.15.0.crate) = bc4d7142005e2066e4844caf9f271b93fc79836ee96ec85057b8c109687e629a
-SIZE (rust/crates/fluent-0.15.0.crate) = 8372
-SHA256 (rust/crates/fluent-bundle-0.15.1.crate) = 8acf044eeb4872d9dbf2667541fbf461f5965c57e343878ad0fb24b5793fa007
-SIZE (rust/crates/fluent-bundle-0.15.1.crate) = 32744
+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/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
+SIZE (rust/crates/fluent-bundle-0.15.2.crate) = 32239
SHA256 (rust/crates/fluent-langneg-0.13.0.crate) = 2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94
SIZE (rust/crates/fluent-langneg-0.13.0.crate) = 11723
SHA256 (rust/crates/fluent-syntax-0.11.0.crate) = c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78
@@ -131,42 +137,40 @@ SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7f
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/funty-1.1.0.crate) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7
-SIZE (rust/crates/funty-1.1.0.crate) = 11631
-SHA256 (rust/crates/futf-0.1.4.crate) = 7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b
-SIZE (rust/crates/futf-0.1.4.crate) = 11341
-SHA256 (rust/crates/futures-0.3.16.crate) = 1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b
-SIZE (rust/crates/futures-0.3.16.crate) = 46410
-SHA256 (rust/crates/futures-channel-0.3.16.crate) = 74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9
-SIZE (rust/crates/futures-channel-0.3.16.crate) = 31765
-SHA256 (rust/crates/futures-core-0.3.16.crate) = af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99
-SIZE (rust/crates/futures-core-0.3.16.crate) = 14486
-SHA256 (rust/crates/futures-executor-0.3.16.crate) = 4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c
-SIZE (rust/crates/futures-executor-0.3.16.crate) = 17104
-SHA256 (rust/crates/futures-io-0.3.16.crate) = 0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582
-SIZE (rust/crates/futures-io-0.3.16.crate) = 9050
-SHA256 (rust/crates/futures-macro-0.3.16.crate) = c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57
-SIZE (rust/crates/futures-macro-0.3.16.crate) = 10779
-SHA256 (rust/crates/futures-sink-0.3.16.crate) = c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53
-SIZE (rust/crates/futures-sink-0.3.16.crate) = 7663
-SHA256 (rust/crates/futures-task-0.3.16.crate) = bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2
-SIZE (rust/crates/futures-task-0.3.16.crate) = 11712
-SHA256 (rust/crates/futures-util-0.3.16.crate) = 67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78
-SIZE (rust/crates/futures-util-0.3.16.crate) = 144642
+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.4.crate) = 501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817
-SIZE (rust/crates/generic-array-0.14.4.crate) = 28916
+SHA256 (rust/crates/generic-array-0.14.5.crate) = fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803
+SIZE (rust/crates/generic-array-0.14.5.crate) = 28915
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.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
-SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
-SHA256 (rust/crates/ghost-0.1.2.crate) = 1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479
-SIZE (rust/crates/ghost-0.1.2.crate) = 12777
-SHA256 (rust/crates/h2-0.3.3.crate) = 825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726
-SIZE (rust/crates/h2-0.3.3.crate) = 158845
+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/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
@@ -181,68 +185,64 @@ SHA256 (rust/crates/html5ever-0.25.1.crate) = aafcf38a1a36118242d29b92e1b08ef84e
SIZE (rust/crates/html5ever-0.25.1.crate) = 73165
SHA256 (rust/crates/htmlescape-0.3.1.crate) = e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163
SIZE (rust/crates/htmlescape-0.3.1.crate) = 53226
-SHA256 (rust/crates/http-0.2.4.crate) = 527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11
-SIZE (rust/crates/http-0.2.4.crate) = 105489
-SHA256 (rust/crates/http-body-0.4.2.crate) = 60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9
-SIZE (rust/crates/http-body-0.4.2.crate) = 7603
-SHA256 (rust/crates/httparse-1.4.1.crate) = f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68
-SIZE (rust/crates/httparse-1.4.1.crate) = 25592
-SHA256 (rust/crates/httpdate-1.0.1.crate) = 6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440
-SIZE (rust/crates/httpdate-1.0.1.crate) = 10293
-SHA256 (rust/crates/humansize-1.1.1.crate) = 02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026
-SIZE (rust/crates/humansize-1.1.1.crate) = 9131
+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/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.11.crate) = 0b61cf2d1aebcf6e6352c97b81dc2244ca29194be1b276f5d8ad5c6330fffb11
-SIZE (rust/crates/hyper-0.14.11.crate) = 169467
+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-tls-0.5.0.crate) = d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905
SIZE (rust/crates/hyper-tls-0.5.0.crate) = 13257
+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.7.0.crate) = bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5
-SIZE (rust/crates/indexmap-1.7.0.crate) = 50363
+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/inflections-1.1.1.crate) = a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a
SIZE (rust/crates/inflections-1.1.1.crate) = 6853
-SHA256 (rust/crates/instant-0.1.10.crate) = bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d
-SIZE (rust/crates/instant-0.1.10.crate) = 5218
+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/inventory-0.1.10.crate) = 0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f
-SIZE (rust/crates/inventory-0.1.10.crate) = 11572
-SHA256 (rust/crates/inventory-impl-0.1.10.crate) = 75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51
-SIZE (rust/crates/inventory-impl-0.1.10.crate) = 6228
-SHA256 (rust/crates/ipnet-2.3.1.crate) = 68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9
-SIZE (rust/crates/ipnet-2.3.1.crate) = 24932
-SHA256 (rust/crates/itertools-0.9.0.crate) = 284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b
-SIZE (rust/crates/itertools-0.9.0.crate) = 96429
-SHA256 (rust/crates/itertools-0.10.1.crate) = 69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf
-SIZE (rust/crates/itertools-0.10.1.crate) = 116219
-SHA256 (rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736
-SIZE (rust/crates/itoa-0.4.7.crate) = 12099
-SHA256 (rust/crates/js-sys-0.3.52.crate) = ce791b7ca6638aae45be056e068fc756d871eb3b3b10b8efa62d1c9cec616752
-SIZE (rust/crates/js-sys-0.3.52.crate) = 67616
+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/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (rust/crates/lexical-core-0.7.6.crate) = 6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe
-SIZE (rust/crates/lexical-core-0.7.6.crate) = 494385
-SHA256 (rust/crates/libc-0.2.98.crate) = 320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790
-SIZE (rust/crates/libc-0.2.98.crate) = 522087
-SHA256 (rust/crates/libsqlite3-sys-0.22.2.crate) = 290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d
-SIZE (rust/crates/libsqlite3-sys-0.22.2.crate) = 2345859
+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.4.crate) = 0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb
-SIZE (rust/crates/lock_api-0.4.4.crate) = 20356
+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/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
@@ -253,140 +253,146 @@ SHA256 (rust/crates/markup5ever-0.10.1.crate) = a24f40fb03852d1cdd84330cddcaf98e
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.8.crate) = 7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08
-SIZE (rust/crates/matches-0.1.8.crate) = 2216
-SHA256 (rust/crates/memchr-2.4.0.crate) = b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc
-SIZE (rust/crates/memchr-2.4.0.crate) = 63392
+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/mime_guess-2.0.3.crate) = 2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212
-SIZE (rust/crates/mime_guess-2.0.3.crate) = 27437
+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.7.13.crate) = 8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16
-SIZE (rust/crates/mio-0.7.13.crate) = 87027
+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/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
SIZE (rust/crates/multimap-0.8.3.crate) = 13518
-SHA256 (rust/crates/native-tls-0.2.7.crate) = b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4
-SIZE (rust/crates/native-tls-0.2.7.crate) = 24958
+SHA256 (rust/crates/native-tls-0.2.8.crate) = 48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d
+SIZE (rust/crates/native-tls-0.2.8.crate) = 24956
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-6.1.2.crate) = e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2
-SIZE (rust/crates/nom-6.1.2.crate) = 147539
-SHA256 (rust/crates/nom-7.0.0-alpha1.crate) = dd43cd1e53168596e629accc602ada1297f5125fed588d62cf8be81175b46002
-SIZE (rust/crates/nom-7.0.0-alpha1.crate) = 148799
-SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
-SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
+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.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
-SIZE (rust/crates/num_cpus-1.13.0.crate) = 14704
-SHA256 (rust/crates/num_enum-0.5.2.crate) = e5adf0198d427ee515335639f275e806ca01acf9f07d7cf14bb36a10532a6169
-SIZE (rust/crates/num_enum-0.5.2.crate) = 10479
-SHA256 (rust/crates/num_enum_derive-0.5.2.crate) = b1def5a3f69d4707d8a040b12785b98029a39e8c610ae685c7f6265669767482
-SIZE (rust/crates/num_enum_derive-0.5.2.crate) = 7670
-SHA256 (rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
-SIZE (rust/crates/once_cell-1.8.0.crate) = 28925
-SHA256 (rust/crates/openssl-0.10.35.crate) = 549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885
-SIZE (rust/crates/openssl-0.10.35.crate) = 204462
-SHA256 (rust/crates/openssl-probe-0.1.4.crate) = 28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a
-SIZE (rust/crates/openssl-probe-0.1.4.crate) = 7066
-SHA256 (rust/crates/openssl-sys-0.9.65.crate) = 7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d
-SIZE (rust/crates/openssl-sys-0.9.65.crate) = 54405
-SHA256 (rust/crates/ouroboros-0.9.5.crate) = fbeff60e3e37407a80ead3e9458145b456e978c4068cddbfea6afb48572962ca
-SIZE (rust/crates/ouroboros-0.9.5.crate) = 6402
-SHA256 (rust/crates/ouroboros_macro-0.9.5.crate) = 03f2cb802b5bdfdf52f1ffa0b54ce105e4d346e91990dd571f86c91321ad49e2
-SIZE (rust/crates/ouroboros_macro-0.9.5.crate) = 13515
-SHA256 (rust/crates/parking_lot-0.11.1.crate) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb
-SIZE (rust/crates/parking_lot-0.11.1.crate) = 39854
-SHA256 (rust/crates/parking_lot_core-0.8.3.crate) = fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018
-SIZE (rust/crates/parking_lot_core-0.8.3.crate) = 32147
+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/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/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/pest-2.1.3.crate) = 10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53
-SIZE (rust/crates/pest-2.1.3.crate) = 77986
-SHA256 (rust/crates/petgraph-0.5.1.crate) = 467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7
-SIZE (rust/crates/petgraph-0.5.1.crate) = 147173
+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/phf-0.9.0.crate) = b2ac8b67553a7ca9457ce0e526948cad581819238f4a9d1ea74545851fa24f37
-SIZE (rust/crates/phf-0.9.0.crate) = 4712
+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_generator-0.9.0.crate) = 0fc1437ada0f3a97d538f0bb608137bf53c53969028cab74c89893e1e9a12f0e
-SIZE (rust/crates/phf_generator-0.9.0.crate) = 7769
+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.9.0.crate) = b706f5936eb50ed880ae3009395b43ed19db5bff2ebd459c95e7bf013a89ab86
-SIZE (rust/crates/phf_macros-0.9.0.crate) = 3537
+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_shared-0.9.0.crate) = a68318426de33640f02be62b4ae8eb1261be2efbc337b60c54d845bf4484e0d9
-SIZE (rust/crates/phf_shared-0.9.0.crate) = 4111
-SHA256 (rust/crates/pin-project-1.0.8.crate) = 576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08
-SIZE (rust/crates/pin-project-1.0.8.crate) = 54991
-SHA256 (rust/crates/pin-project-internal-1.0.8.crate) = 6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389
-SIZE (rust/crates/pin-project-internal-1.0.8.crate) = 27941
-SHA256 (rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
-SIZE (rust/crates/pin-project-lite-0.2.7.crate) = 27212
+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/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/pkg-config-0.3.19.crate) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
-SIZE (rust/crates/pkg-config-0.3.19.crate) = 15451
-SHA256 (rust/crates/ppv-lite86-0.2.10.crate) = ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857
-SIZE (rust/crates/ppv-lite86-0.2.10.crate) = 20915
+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/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
-SHA256 (rust/crates/proc-macro-crate-1.0.0.crate) = 41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92
-SIZE (rust/crates/proc-macro-crate-1.0.0.crate) = 8442
-SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
-SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
-SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
-SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-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.6.crate) = eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a
-SIZE (rust/crates/proc-macro-nested-0.1.6.crate) = 6498
-SHA256 (rust/crates/proc-macro2-1.0.28.crate) = 5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612
-SIZE (rust/crates/proc-macro2-1.0.28.crate) = 38732
-SHA256 (rust/crates/prost-0.7.0.crate) = 9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2
-SIZE (rust/crates/prost-0.7.0.crate) = 24775
-SHA256 (rust/crates/prost-build-0.7.0.crate) = 32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3
-SIZE (rust/crates/prost-build-0.7.0.crate) = 8220115
-SHA256 (rust/crates/prost-derive-0.7.0.crate) = 169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4
-SIZE (rust/crates/prost-derive-0.7.0.crate) = 15218
-SHA256 (rust/crates/prost-types-0.7.0.crate) = b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb
-SIZE (rust/crates/prost-types-0.7.0.crate) = 25694
+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/pulldown-cmark-0.8.0.crate) = ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8
SIZE (rust/crates/pulldown-cmark-0.8.0.crate) = 106330
-SHA256 (rust/crates/pyo3-0.13.2.crate) = 4837b8e8e18a102c23f79d1e9a110b597ea3b684c95e874eb1ad88f8683109c3
-SIZE (rust/crates/pyo3-0.13.2.crate) = 281372
-SHA256 (rust/crates/pyo3-macros-0.13.2.crate) = a47f2c300ceec3e58064fd5f8f5b61230f2ffd64bde4970c81fdd0563a2db1bb
-SIZE (rust/crates/pyo3-macros-0.13.2.crate) = 5434
-SHA256 (rust/crates/pyo3-macros-backend-0.13.2.crate) = 87b097e5d84fcbe3e167f400fbedd657820a375b034c78bd852050749a575d66
-SIZE (rust/crates/pyo3-macros-backend-0.13.2.crate) = 33106
-SHA256 (rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
-SIZE (rust/crates/quote-1.0.9.crate) = 25042
-SHA256 (rust/crates/radium-0.5.3.crate) = 941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8
-SIZE (rust/crates/radium-0.5.3.crate) = 7588
+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/rand-0.7.3.crate) = 6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03
SIZE (rust/crates/rand-0.7.3.crate) = 112246
-SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
-SIZE (rust/crates/rand-0.8.4.crate) = 87406
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand_chacha-0.2.2.crate) = f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402
SIZE (rust/crates/rand_chacha-0.2.2.crate) = 13267
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
@@ -397,76 +403,88 @@ SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b
SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
SHA256 (rust/crates/rand_hc-0.2.0.crate) = ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c
SIZE (rust/crates/rand_hc-0.2.0.crate) = 11670
-SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
-SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
SHA256 (rust/crates/rand_pcg-0.2.1.crate) = 16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429
SIZE (rust/crates/rand_pcg-0.2.1.crate) = 11291
-SHA256 (rust/crates/redox_syscall-0.2.9.crate) = 5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee
-SIZE (rust/crates/redox_syscall-0.2.9.crate) = 23533
+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.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
-SIZE (rust/crates/regex-1.5.4.crate) = 236581
-SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
+SHA256 (rust/crates/regex-1.5.6.crate) = d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1
+SIZE (rust/crates/regex-1.5.6.crate) = 238593
+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/reqwest-0.11.4.crate) = 246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22
-SIZE (rust/crates/reqwest-0.11.4.crate) = 132776
SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
SIZE (rust/crates/ring-0.16.20.crate) = 5082615
-SHA256 (rust/crates/rusqlite-0.25.3.crate) = 57adcf67c8faaf96f3248c2a7b419a0dbc52ebe36ba83dd57fe83827c1ea4eb3
-SIZE (rust/crates/rusqlite-0.25.3.crate) = 129773
+SHA256 (rust/crates/rusqlite-0.26.3.crate) = 4ba4d3462c8b2e4d7f4fcfcf2b296dc6b65404fbbc7b63daa37fd485c149daf7
+SIZE (rust/crates/rusqlite-0.26.3.crate) = 135951
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.3.3.crate) = f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee
-SIZE (rust/crates/rustc_version-0.3.3.crate) = 12119
+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/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
-SIZE (rust/crates/ryu-1.0.5.crate) = 49570
+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/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/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.3.1.crate) = 23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467
-SIZE (rust/crates/security-framework-2.3.1.crate) = 61581
-SHA256 (rust/crates/security-framework-sys-2.3.0.crate) = 7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284
-SIZE (rust/crates/security-framework-sys-2.3.0.crate) = 12561
+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/semver-0.11.0.crate) = f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6
-SIZE (rust/crates/semver-0.11.0.crate) = 20826
-SHA256 (rust/crates/semver-parser-0.10.2.crate) = 00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7
-SIZE (rust/crates/semver-parser-0.10.2.crate) = 23176
-SHA256 (rust/crates/serde-1.0.127.crate) = f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8
-SIZE (rust/crates/serde-1.0.127.crate) = 75162
-SHA256 (rust/crates/serde-aux-2.2.0.crate) = 77eb8c83f6ebaedf5e8f970a8a44506b180b8e6268de03885c8547031ccaee00
-SIZE (rust/crates/serde-aux-2.2.0.crate) = 9568
-SHA256 (rust/crates/serde_derive-1.0.127.crate) = a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc
-SIZE (rust/crates/serde_derive-1.0.127.crate) = 54201
-SHA256 (rust/crates/serde_json-1.0.66.crate) = 336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127
-SIZE (rust/crates/serde_json-1.0.66.crate) = 115121
+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/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.0.crate) = edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9
-SIZE (rust/crates/serde_urlencoded-0.7.0.crate) = 12489
+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.0.crate) = 2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d
-SIZE (rust/crates/sha1-0.6.0.crate) = 9244
-SHA256 (rust/crates/siphasher-0.3.6.crate) = 729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1
-SIZE (rust/crates/siphasher-0.3.6.crate) = 9708
-SHA256 (rust/crates/slab-0.4.3.crate) = f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527
-SIZE (rust/crates/slab-0.4.3.crate) = 15681
+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/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
@@ -477,86 +495,90 @@ SHA256 (rust/crates/slog-scope-4.4.0.crate) = 2f95a4b4c3274cd2869549da82b57ccc93
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.6.0.crate) = bab1d807cf71129b05ce36914e1dbb6fbfbdecaf686301cb457f4fa967f9f5b6
-SIZE (rust/crates/slog-term-2.6.0.crate) = 26304
-SHA256 (rust/crates/smallvec-1.6.1.crate) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e
-SIZE (rust/crates/smallvec-1.6.1.crate) = 26444
-SHA256 (rust/crates/socket2-0.4.1.crate) = 765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad
-SIZE (rust/crates/socket2-0.4.1.crate) = 41364
+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/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/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/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
-SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
-SHA256 (rust/crates/string_cache-0.8.1.crate) = 8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a
-SIZE (rust/crates/string_cache-0.8.1.crate) = 14423
+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.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
-SIZE (rust/crates/strum-0.21.0.crate) = 5296
-SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
-SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
+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/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
SIZE (rust/crates/subtle-2.4.1.crate) = 12630
-SHA256 (rust/crates/syn-1.0.74.crate) = 1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c
-SIZE (rust/crates/syn-1.0.74.crate) = 232974
+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/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
-SIZE (rust/crates/tap-1.0.1.crate) = 11316
-SHA256 (rust/crates/tempfile-3.2.0.crate) = dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22
-SIZE (rust/crates/tempfile-3.2.0.crate) = 25892
+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.6.1.crate) = c0863a3345e70f61d613eab32ee046ccd1bcc5f9105fe402c61fcd0c13eeb8b5
-SIZE (rust/crates/term-0.6.1.crate) = 37578
-SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
-SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
+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.26.crate) = 93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2
-SIZE (rust/crates/thiserror-1.0.26.crate) = 16711
-SHA256 (rust/crates/thiserror-impl-1.0.26.crate) = 060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745
-SIZE (rust/crates/thiserror-impl-1.0.26.crate) = 13431
-SHA256 (rust/crates/thread_local-1.1.3.crate) = 8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd
-SIZE (rust/crates/thread_local-1.1.3.crate) = 13111
+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/tinyvec-1.3.1.crate) = 848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338
-SIZE (rust/crates/tinyvec-1.3.1.crate) = 42386
+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.9.0.crate) = 4b7b349f11a7047e6d1276853e612d152f5e8a352c61917887cc2169e2366b4c
-SIZE (rust/crates/tokio-1.9.0.crate) = 499709
-SHA256 (rust/crates/tokio-macros-1.3.0.crate) = 54473be61f4ebe4efd09cec9bd5d16fa51d70ea0192213d754d2d500457db110
-SIZE (rust/crates/tokio-macros-1.3.0.crate) = 7876
+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/tokio-socks-0.5.1.crate) = 51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0
SIZE (rust/crates/tokio-socks-0.5.1.crate) = 16137
-SHA256 (rust/crates/tokio-util-0.6.7.crate) = 1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592
-SIZE (rust/crates/tokio-util-0.6.7.crate) = 73201
+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.26.crate) = 09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d
-SIZE (rust/crates/tracing-0.1.26.crate) = 68583
-SHA256 (rust/crates/tracing-core-0.1.18.crate) = a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052
-SIZE (rust/crates/tracing-core-0.1.18.crate) = 48381
+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/type-map-0.4.0.crate) = b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46
SIZE (rust/crates/type-map-0.4.0.crate) = 3177
-SHA256 (rust/crates/typenum-1.13.0.crate) = 879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06
-SIZE (rust/crates/typenum-1.13.0.crate) = 40238
-SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
-SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
+SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987
+SIZE (rust/crates/typenum-1.15.0.crate) = 40741
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
@@ -577,18 +599,18 @@ SHA256 (rust/crates/unic-ucd-version-0.9.0.crate) = 96bd2f2237fe450fcd0a1d2f5f4e
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.5.crate) = eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0
-SIZE (rust/crates/unicode-bidi-0.3.5.crate) = 33423
+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.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
-SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
-SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
-SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732
+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.7.crate) = f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7
-SIZE (rust/crates/unindent-0.1.7.crate) = 8346
+SHA256 (rust/crates/unindent-0.1.8.crate) = 514672a55d7380da379785a4d70ca8386c8883ff7eaae877be4d2081cebe73d8
+SIZE (rust/crates/unindent-0.1.8.crate) = 8326
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
@@ -601,34 +623,38 @@ SHA256 (rust/crates/utime-0.3.1.crate) = 91baa0c65eabd12fcbdac8cc35ff16159cab95c
SIZE (rust/crates/utime-0.3.1.crate) = 8311
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.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
-SIZE (rust/crates/version_check-0.9.3.crate) = 12547
+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/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
SIZE (rust/crates/want-0.3.0.crate) = 6550
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/wasm-bindgen-0.2.75.crate) = b608ecc8f4198fe8680e2ed18eccab5f0cd4caaf3d83516fa5fb2e927fda2586
-SIZE (rust/crates/wasm-bindgen-0.2.75.crate) = 160048
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.75.crate) = 580aa3a91a63d23aac5b6b267e2d13cb4f363e31dce6c352fca4752ae12e479f
-SIZE (rust/crates/wasm-bindgen-backend-0.2.75.crate) = 25521
-SHA256 (rust/crates/wasm-bindgen-futures-0.4.25.crate) = 16646b21c3add8e13fdb8f20172f8a28c3dbf62f45406bcff0233188226cfe0c
-SIZE (rust/crates/wasm-bindgen-futures-0.4.25.crate) = 14772
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.75.crate) = 171ebf0ed9e1458810dfcb31f2e766ad6b3a89dbda42d8901f2b268277e5f09c
-SIZE (rust/crates/wasm-bindgen-macro-0.2.75.crate) = 11550
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.75.crate) = 6c2657dd393f03aa2a659c25c6ae18a13a4048cebd220e147933ea837efc589f
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.75.crate) = 17883
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.75.crate) = 2e0c4a743a309662d45f4ede961d7afa4ba4131a59a639f29b0069c3798bbcc2
-SIZE (rust/crates/wasm-bindgen-shared-0.2.75.crate) = 7177
-SHA256 (rust/crates/web-sys-0.3.52.crate) = 01c70a82d842c9979078c772d4a1344685045f1a5628f677c2b2eab4dd7d2696
-SIZE (rust/crates/web-sys-0.3.52.crate) = 663882
+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.2.crate) = ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9
-SIZE (rust/crates/which-4.2.2.crate) = 8589
+SHA256 (rust/crates/which-4.2.4.crate) = 2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2
+SIZE (rust/crates/which-4.2.4.crate) = 9259
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
@@ -637,47 +663,65 @@ 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/wyz-0.2.0.crate) = 85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214
-SIZE (rust/crates/wyz-0.2.0.crate) = 12926
-SHA256 (rust/crates/xml5ever-0.16.1.crate) = 0b1b52e6e8614d4a58b8e70cf51ec0cc21b256ad8206708bcff8139b5bbd6a59
-SIZE (rust/crates/xml5ever-0.16.1.crate) = 41282
+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 (ankitects-anki-2.1.49_GH0.tar.gz) = 0a072f9a2babdde67b233104c73450e297c7feff41e0a43b76dd590bafcef5d5
-SIZE (ankitects-anki-2.1.49_GH0.tar.gz) = 1269073
-SHA256 (ankitects-anki-core-i18n-56d46d6_GH0.tar.gz) = a15928b05681da223d6da8ef5e55b9d475b8871847b32b9bba660439e02e0e93
-SIZE (ankitects-anki-core-i18n-56d46d6_GH0.tar.gz) = 841975
-SHA256 (ankitects-anki-desktop-ftl-5359f84_GH0.tar.gz) = d2d93ab8ec96e1adda8ef87700fbe67cf4068c9687a643b8cc497d81f640d147
-SIZE (ankitects-anki-desktop-ftl-5359f84_GH0.tar.gz) = 187540
+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 (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-reqwest-7591444614de02b658ddab125efba7b2bb4e2335_GH0.tar.gz) = 477fe630a852f3947a35c4465d9aa247eab3cdbf0a9060b563fb0f3c7d52668b
-SIZE (ankitects-reqwest-7591444614de02b658ddab125efba7b2bb4e2335_GH0.tar.gz) = 176625
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-2d02e82_GH0.tar.gz) = 61eff9b8ba550d4276d012f3ec33996feaf71cdcd578294a8336e241b86671fa
-SIZE (bazelbuild-rules_nodejs-2d02e82_GH0.tar.gz) = 5822375
+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 (ankitects-esbuild_toolchain-f942aa9_GH0.tar.gz) = da67322446a35a0e4fdcd3aa091a8b56dee629392cdf07d0cd7d792c3e055e2f
-SIZE (ankitects-esbuild_toolchain-f942aa9_GH0.tar.gz) = 7403
-SHA256 (ankitects-rules_pip-fb02cb7_GH0.tar.gz) = 115c537ab0adb34ac30fbf1a4087906a13e6844b22af5fa7f3233fcedb60533c
-SIZE (ankitects-rules_pip-fb02cb7_GH0.tar.gz) = 2261230
-SHA256 (ankitects-rules_python-3927c9b_GH0.tar.gz) = 4c367da5f0b8bdd585ae097d7666e1f491e6def99a24b39b95daf48976f2948d
-SIZE (ankitects-rules_python-3927c9b_GH0.tar.gz) = 2565208
-SHA256 (ankitects-rules_rust-f66001a_GH0.tar.gz) = 333e569dfed120560570b15821d395155cad656abd01d98fe5e4d9b7d7274925
-SIZE (ankitects-rules_rust-f66001a_GH0.tar.gz) = 411903
-SHA256 (ankitects-rules_sass-275ace7_GH0.tar.gz) = 0d42aa56eb20694ad0b802bf478449ec9879cf4ac6d9aaf652d6945d2664a6d7
-SIZE (ankitects-rules_sass-275ace7_GH0.tar.gz) = 20268
+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
diff --git a/games/anki/files/bazel/BUILD.bazel-i18n b/games/anki/files/bazel/BUILD.bazel-i18n
deleted file mode 100644
index 200af3d25163..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-i18n
+++ /dev/null
@@ -1,10 +0,0 @@
-# Used for the fluent i18n translation bazel repositories:
-# - ftlextra
-# - ftlrslib
-
-filegroup(
- name = "files",
- srcs = glob(["**/*.ftl"]),
- visibility = ["//visibility:public"],
-)
-exports_files(["l10n.toml"])
diff --git a/games/anki/files/bazel/BUILD.bazel-pyqt5 b/games/anki/files/bazel/BUILD.bazel-pyqt5
deleted file mode 100644
index f8566c60fca5..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-pyqt5
+++ /dev/null
@@ -1,27 +0,0 @@
-# Stub layout for the PyQT5 repository
-
-load("@rules_python//python:defs.bzl", "py_library")
-
-package(default_visibility = ["//visibility:public"])
-
-py_library(
- name = "pkg",
- srcs = glob(["**/*.py"]),
- data = glob(["**/*"], exclude = [
- "**/*.py",
- "**/*.pyc",
- "**/* *",
- "BUILD",
- "WORKSPACE",
- "bin/*",
- "__pycache__",
- # these make building slower
- "Qt/qml/**",
- "**/*.sip",
- "**/*.png",
- ]),
-
- # This makes this directory a top-level in the python import
- # search path for anything that depends on this.
- imports = ["."],
-)
diff --git a/games/anki/files/bazel/pyqt5.bzl b/games/anki/files/bazel/pyqt5.bzl
deleted file mode 100644
index 059f34c410ab..000000000000
--- a/games/anki/files/bazel/pyqt5.bzl
+++ /dev/null
@@ -1,13 +0,0 @@
-# Stub version of "pyqt5" to avoid loading external dependencies.
-
-def _impl(repository_ctx):
- return None
-
-install_pyqt5 = repository_rule(
- attrs = {
- "python_interpreter": attr.string(default = "python"),
- "python_runtime": attr.string(mandatory=True),
- },
- local=True,
- implementation = _impl,
-)
diff --git a/games/anki/files/bazel/repos.bzl b/games/anki/files/bazel/repos.bzl
index fce4ccd73e44..00e0d7751d56 100644
--- a/games/anki/files/bazel/repos.bzl
+++ b/games/anki/files/bazel/repos.bzl
@@ -31,13 +31,6 @@ def register_repos():
path = "%%_MY_LOCALREPO%%/rules_python",
)
- # python pip
- ##############
- native.local_repository(
- name = "com_github_ali5h_rules_pip",
- path = "%%_MY_LOCALREPO%%/rules_pip",
- )
-
# javascript
##############
native.local_repository(
@@ -45,11 +38,9 @@ def register_repos():
path = "%%_MY_LOCALREPO%%/rules_nodejs",
)
- # esbuild-toolchain
- #####################
native.local_repository(
- name = "esbuild_toolchain",
- path = "%%_MY_LOCALREPO%%/esbuild_toolchain",
+ name = "rules_nodejs",
+ path = "%%_MY_LOCALREPO%%/rules_nodejs",
)
# sass
@@ -94,13 +85,6 @@ def register_repos():
path = "%%_MY_LOCALREPO%%/rules_nodejs/third_party/github.com/bazelbuild/rules_typescript",
)
- # stub pyqt5 repository
- #########################
- native.local_repository(
- name = "pyqt5",
- path = "%%_MY_LOCALREPO%%/pyqt5",
- )
-
# provides node from ports
############################
native.local_repository(
diff --git a/games/anki/files/patch-WORKSPACE b/games/anki/files/patch-WORKSPACE
deleted file mode 100644
index 6d9ead5aa4a1..000000000000
--- a/games/anki/files/patch-WORKSPACE
+++ /dev/null
@@ -1,9 +0,0 @@
---- WORKSPACE.orig 2021-08-03 06:38:55 UTC
-+++ WORKSPACE
-@@ -13,6 +13,3 @@ load(":defs.bzl", "setup_deps")
-
- setup_deps()
-
--load(":late_deps.bzl", "setup_late_deps")
--
--setup_late_deps()
diff --git a/games/anki/files/patch-defs.bzl b/games/anki/files/patch-defs.bzl
index 28eb8e4c6bfa..68178581f619 100644
--- a/games/anki/files/patch-defs.bzl
+++ b/games/anki/files/patch-defs.bzl
@@ -4,29 +4,23 @@ 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 2021-07-30 08:30:37 UTC
+--- defs.bzl.orig 2022-06-24 05:10:06 UTC
+++ defs.bzl
-@@ -1,13 +1,11 @@
+@@ -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.bzl", "setup_local_python")
+ load("//python:python.bzl", "setup_local_python")
load("//proto:protobuf.bzl", "setup_protobuf_binary")
- load("//proto:format.bzl", "setup_clang_format")
- load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
- load("@io_bazel_rules_sass//:defs.bzl", "sass_repositories")
--load("@com_github_ali5h_rules_pip//:defs.bzl", "pip_import")
- load("//pip/pyqt5:defs.bzl", "install_pyqt5")
- load("@esbuild_toolchain//:esbuild_repo.bzl", "esbuild_dependencies")
-
-@@ -18,13 +16,6 @@ def setup_deps():
+@@ -17,14 +16,6 @@ def setup_deps():
versions.check(minimum_bazel_version = "3.7.0")
- rust_repositories(
-- edition = "2018",
+- edition = "2021",
- include_rustc_srcs = False,
+- version = "1.58.1",
- )
-
- raze_fetch_remote_crates()
@@ -34,27 +28,28 @@ Ports tree.
setup_local_python(name = "python")
setup_protobuf_binary(name = "com_google_protobuf")
-@@ -33,18 +24,16 @@ def setup_deps():
+@@ -33,13 +24,6 @@ def setup_deps():
native.register_toolchains("@python//:python3_toolchain")
-- pip_import(
+- pip_parse(
- name = "py_deps",
-- requirements = "@ankidesktop//pip:requirements.txt",
-- python_runtime = "@python//:python",
+- requirements_lock = "@ankidesktop//python:requirements.txt",
+- python_interpreter_target = "@python//:python",
+- extra_pip_args = ["--require-hashes"],
- )
-
- install_pyqt5(
- name = "pyqt5",
+ 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",
)
-- node_repositories(package_json = ["@ankidesktop//ts:package.json"])
-+ node_repositories(
-+ package_json = ["@ankidesktop//ts:package.json"],
-+ vendored_node = "@local_node//:node",
-+ vendored_yarn = "@local_node//:yarn",
-+ )
-
yarn_install(
- name = "npm",
diff --git a/games/anki/files/patch-late__deps.bzl b/games/anki/files/patch-late__deps.bzl
new file mode 100644
index 000000000000..147d9c63a3c3
--- /dev/null
+++ b/games/anki/files/patch-late__deps.bzl
@@ -0,0 +1,16 @@
+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_esbuild__toolchain_esbuild__repo.bzl b/games/anki/files/patch-local__repos_esbuild__toolchain_esbuild__repo.bzl
deleted file mode 100644
index 5e70539e111e..000000000000
--- a/games/anki/files/patch-local__repos_esbuild__toolchain_esbuild__repo.bzl
+++ /dev/null
@@ -1,14 +0,0 @@
-Define a local repository to use "devel/esbuild" from the Ports tree.
-
---- local_repos/esbuild_toolchain/esbuild_repo.bzl.orig 2021-08-03 12:18:17 UTC
-+++ local_repos/esbuild_toolchain/esbuild_repo.bzl
-@@ -51,4 +51,9 @@ def esbuild_dependencies():
- sha256 = "60af935fc3c29d6defd6e3822d9a00220dc631f4aba5cf5af3ce12d2d0d268e6",
- )
-
-+ native.local_repository(
-+ name = "esbuild_freebsd",
-+ path = "%%_MY_LOCALREPO%%/local_esbuild",
-+ )
-+
- register_default_toolchains()
diff --git a/games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl b/games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl
deleted file mode 100644
index c49f481ee865..000000000000
--- a/games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl
+++ /dev/null
@@ -1,12 +0,0 @@
-Set a custom repository for FreeBSD to use "devel/esbuild" from the Ports tree.
-
---- local_repos/esbuild_toolchain/toolchain.bzl.orig 2021-08-03 10:59:28 UTC
-+++ local_repos/esbuild_toolchain/toolchain.bzl
-@@ -14,6 +14,7 @@ TOOLCHAIN = "@esbuild_toolchain//:toolchain_type"
-
- _default_toolchains = [
- ["@esbuild_darwin//:bin/esbuild", "macos"],
-+ ["@esbuild_freebsd//:bin/esbuild", "freebsd"],
- ["@esbuild_linux//:bin/esbuild", "linux"],
- ["@esbuild_linux_arm64//:bin/esbuild", "linux_arm64"],
- ["@esbuild_windows//:esbuild.exe", "windows"],
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_internal_common_os__name.bzl b/games/anki/files/patch-local__repos_rules__nodejs_internal_common_os__name.bzl
deleted file mode 100644
index b34274f6fcbb..000000000000
--- a/games/anki/files/patch-local__repos_rules__nodejs_internal_common_os__name.bzl
+++ /dev/null
@@ -1,29 +0,0 @@
-Add FreeBSD to the list of supported operating systems.
-
-At the moment only the "amd64" architecture is defined here but it should be
-possible to add more architectures here.
-
---- local_repos/rules_nodejs/internal/common/os_name.bzl.orig 2021-07-27 08:47:19 UTC
-+++ local_repos/rules_nodejs/internal/common/os_name.bzl
-@@ -21,6 +21,7 @@ OS_ARCH_NAMES = [
- ("linux", "amd64"),
- ("linux", "arm64"),
- ("linux", "s390x"),
-+ ("freebsd", "amd64"),
- ]
-
- OS_NAMES = ["_".join(os_arch_name) for os_arch_name in OS_ARCH_NAMES]
-@@ -48,6 +49,13 @@ def os_name(rctx):
- return OS_NAMES[4]
- else:
- return OS_NAMES[2]
-+ elif os_name.startswith("freebsd"):
-+ # This is not ideal, but bazel doesn't directly expose arch.
-+ arch = rctx.execute(["uname", "-m"]).stdout.strip()
-+ if arch == "amd64":
-+ return OS_NAMES[5]
-+ else:
-+ fail("Unsupported FreeBSD architecture: " + arch)
- else:
- fail("Unsupported operating system: " + os_name)
-
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
index ba8b4ee38d91..8e3a73429766 100644
--- 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
@@ -1,14 +1,14 @@
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 2021-02-21 10:43:57 UTC
+--- 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
-@@ -360,6 +360,8 @@ def _yarn_install_impl(repository_ctx):
+@@ -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")
- # Set frozen lockfile as default install to install the exact version from the yarn.lock
- # file. To perform an yarn install use the vendord yarn binary with:
+ # 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
new file mode 100644
index 000000000000..aa412aadd93a
--- /dev/null
+++ b/games/anki/files/patch-local__repos_rules__nodejs_nodejs_private_os__name.bzl
@@ -0,0 +1,33 @@
+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
new file mode 100644
index 000000000000..bbd151bcaf94
--- /dev/null
+++ b/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__packages.bzl
@@ -0,0 +1,23 @@
+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
new file mode 100644
index 000000000000..26b2686e3a1b
--- /dev/null
+++ b/games/anki/files/patch-local__repos_rules__nodejs_toolchains_esbuild_esbuild__repositories.bzl
@@ -0,0 +1,43 @@
+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
index 69b1821ae60c..df1e11eb0f54 100644
--- 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
@@ -1,18 +1,14 @@
Add FreeBSD to the list of supported operating systems.
-At the moment only the "amd64" architecture is defined here but it should be
-possible to add more architectures here.
-
---- local_repos/rules_nodejs/toolchains/node/BUILD.bazel.orig 2021-08-02 17:50:39 UTC
+--- 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,14 @@ platform(
+@@ -34,6 +34,13 @@ platform(
)
platform(
-+ name = "freebsd_amd64",
++ name = "freebsd_all",
+ constraint_values = [
-+ "@bazel_tools//platforms:freebsd",
-+ "@bazel_tools//platforms:x86_64",
++ "@platforms//os:freebsd",
+ ],
+)
+
@@ -20,35 +16,34 @@ possible to add more architectures here.
name = "linux_amd64",
constraint_values = [
"@platforms//os:linux",
-@@ -90,6 +98,7 @@ alias(
+@@ -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_x86_64": "@nodejs_freebsd_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",
-@@ -105,6 +114,7 @@ alias(
+@@ -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_x86_64": "@nodejs_freebsd_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",
-@@ -112,6 +122,16 @@ alias(
+@@ -122,6 +131,15 @@ alias(
"//conditions:default": "@nodejs_linux_amd64//:node_bin",
}),
visibility = ["//visibility:public"],
+)
+
+toolchain(
-+ name = "node_freebsd_amd64_toolchain",
++ name = "node_freebsd_all_toolchain",
+ target_compatible_with = [
-+ "@bazel_tools//platforms:freebsd",
-+ "@bazel_tools//platforms:x86_64",
++ "@platforms//os:freebsd",
+ ],
-+ toolchain = "@nodejs_freebsd_amd64_config//:toolchain",
++ toolchain = "@nodejs_freebsd_all_config//:toolchain",
+ toolchain_type = ":toolchain_type",
)
diff --git a/games/anki/files/patch-platforms_BUILD.bazel b/games/anki/files/patch-platforms_BUILD.bazel
index d6d048fdc1f5..28c25b97da6f 100644
--- a/games/anki/files/patch-platforms_BUILD.bazel
+++ b/games/anki/files/patch-platforms_BUILD.bazel
@@ -1,17 +1,18 @@
-At the moment only the "amd64" architecture is defined here but it should be
-possible to add more architectures here.
+Add an generic entry for all FreeBSD architectures.
---- platforms/BUILD.bazel.orig 2021-01-08 07:47:26 UTC
+--- platforms/BUILD.bazel.orig 2022-06-24 05:10:06 UTC
+++ platforms/BUILD.bazel
-@@ -23,3 +23,11 @@ config_setting(
- "@platforms//cpu:x86_64",
- ],
+@@ -33,6 +33,13 @@ config_setting(
)
-+
-+config_setting(
-+ name = "freebsd_x86_64",
+
+ config_setting(
++ name = "freebsd_all",
+ constraint_values = [
+ "@platforms//os:freebsd",
-+ "@platforms//cpu:x86_64",
+ ],
+)
++
++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
index 1e21d8e2197c..7f993405fda6 100644
--- a/games/anki/files/patch-proto_protobuf.bzl
+++ b/games/anki/files/patch-proto_protobuf.bzl
@@ -1,21 +1,18 @@
Define a local repository to use "devel/protobuf" from the Ports tree.
-At the moment it is only exposed for the "amd64" architecture but it should be
-possible to add more architectures here.
-
---- proto/protobuf.bzl.orig 2021-07-30 08:30:37 UTC
+--- proto/protobuf.bzl.orig 2022-06-24 05:10:06 UTC
+++ proto/protobuf.bzl
-@@ -15,6 +15,7 @@ alias(
- "@ankidesktop//platforms:windows_x86_64": "@protoc_bin_windows//:bin/protoc.exe",
+@@ -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_x86_64": "@protoc_bin_freebsd//:bin/protoc",
++ "@ankidesktop//platforms:freebsd_all": "@protoc_bin_freebsd//:bin/protoc",
"@ankidesktop//platforms:linux_arm64": "@protoc_bin_linux_arm64//:bin/protoc"
}),
visibility = ["//visibility:public"]
-@@ -66,6 +67,11 @@ def setup_protobuf_binary(name):
+@@ -67,6 +68,11 @@ def setup_protobuf_binary(name):
],
- sha256 = "642554ed4dd2dba94e1afddcccdd7d832999cea309299cc5952f13db389894f8",
+ sha256 = "828d2bdfe410e988cfc46462bcabd34ffdda8cc172867989ec647eadc55b03b5",
build_file_content = """exports_files(["bin/protoc.exe"])""",
+ )
+
diff --git a/games/anki/files/patch-pylib_BUILD.bazel b/games/anki/files/patch-pylib_BUILD.bazel
new file mode 100644
index 000000000000..28762e2902c7
--- /dev/null
+++ b/games/anki/files/patch-pylib_BUILD.bazel
@@ -0,0 +1,52 @@
+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
index 87becaa3fbb1..c81f980e535c 100644
--- a/games/anki/files/patch-pylib_anki_BUILD.bazel
+++ b/games/anki/files/patch-pylib_anki_BUILD.bazel
@@ -1,16 +1,16 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- pylib/anki/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+--- pylib/anki/BUILD.bazel.orig 2022-06-24 05:10:06 UTC
+++ pylib/anki/BUILD.bazel
-@@ -1,6 +1,5 @@
+@@ -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//experimental/python:wheel.bzl", "py_package", "py_wheel")
+ load("@rules_python//python:packaging.bzl", "py_package", "py_wheel")
load("//:defs.bzl", "anki_version")
load("//pylib:orjson.bzl", "orjson_if_available")
-@@ -41,15 +40,6 @@ py_library(
+@@ -41,14 +40,6 @@ py_library(
visibility = ["//visibility:public"],
deps = [
":proto",
@@ -22,15 +22,14 @@ is already disabled in "defs.bzl".
- requirement("flask"),
- requirement("waitress"),
- requirement("markdown"),
-- requirement("stringcase"),
] + orjson_if_available(),
)
-@@ -74,6 +64,7 @@ py_wheel(
- "//platforms:windows_x86_64": "win_amd64",
- "//platforms:macos_x86_64": "macosx_10_7_x86_64",
- "//platforms:linux_x86_64": "manylinux2014_x86_64",
-+ "//platforms:freebsd_x86_64": "freebsd_x86_64",
- "//platforms:linux_arm64": "manylinux2014_aarch64",
+@@ -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 = "cp38",
+ 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
index 9691f5cffe3e..2928c0c529d8 100644
--- a/games/anki/files/patch-pylib_anki___backend_BUILD.bazel
+++ b/games/anki/files/patch-pylib_anki___backend_BUILD.bazel
@@ -1,30 +1,29 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- pylib/anki/_backend/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+--- pylib/anki/_backend/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
+++ pylib/anki/_backend/BUILD.bazel
-@@ -1,5 +1,4 @@
+@@ -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")
-
-@@ -9,9 +8,6 @@ py_binary(
+ load(":python_lib.bzl", "copy_python_lib")
+@@ -10,9 +9,7 @@ py_binary(
"genbackend.py",
],
deps = [
- requirement("black"),
-- requirement("stringcase"),
+ "//pylib/anki/_vendor:stringcase",
- requirement("protobuf"),
"//pylib/anki:proto",
],
)
-@@ -29,8 +25,6 @@ py_binary(
+@@ -30,7 +27,6 @@ py_binary(
"genfluent.py",
],
deps = [
- requirement("black"),
-- requirement("stringcase"),
+ "//pylib/anki/_vendor:stringcase",
],
)
-
diff --git a/games/anki/files/patch-pylib_tools_BUILD.bazel b/games/anki/files/patch-pylib_tools_BUILD.bazel
index c65fd6de7540..ed432c7d916c 100644
--- a/games/anki/files/patch-pylib_tools_BUILD.bazel
+++ b/games/anki/files/patch-pylib_tools_BUILD.bazel
@@ -1,9 +1,9 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- pylib/tools/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+--- pylib/tools/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
+++ pylib/tools/BUILD.bazel
-@@ -1,5 +1,4 @@
+@@ -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")
@@ -17,20 +17,11 @@ is already disabled in "defs.bzl".
)
py_binary(
-@@ -41,8 +39,6 @@ py_binary(
+@@ -41,7 +39,6 @@ py_binary(
imports = ["."],
visibility = ["//pylib:__subpackages__"],
deps = [
- requirement("black"),
-- requirement("stringcase"),
+ "//pylib/anki/_vendor:stringcase",
],
)
-
-@@ -53,7 +49,6 @@ py_binary(
- ],
- tags = ["manual"],
- deps = [
-- requirement("stringcase"),
- ],
- )
-
diff --git a/games/anki/files/patch-python_binary.bzl b/games/anki/files/patch-python_binary.bzl
new file mode 100644
index 000000000000..1a143bea5043
--- /dev/null
+++ b/games/anki/files/patch-python_binary.bzl
@@ -0,0 +1,22 @@
+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
new file mode 100644
index 000000000000..1797ed34755f
--- /dev/null
+++ b/games/anki/files/patch-python_pyqt_install.py
@@ -0,0 +1,30 @@
+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.bzl b/games/anki/files/patch-python_python.bzl
index 7de2bafbafdd..294631e6418c 100644
--- a/games/anki/files/patch-python.bzl
+++ b/games/anki/files/patch-python_python.bzl
@@ -1,9 +1,9 @@
Since Bazel 4.2.0 bootstrapping Python stub scripts are prepended with
a "Shebang" expression.
---- python.bzl.orig 2021-08-20 19:05:37 UTC
-+++ python.bzl
-@@ -27,6 +27,7 @@ py_runtime(
+--- 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",
diff --git a/games/anki/files/patch-python_stubs_BUILD.bazel b/games/anki/files/patch-python_stubs_BUILD.bazel
new file mode 100644
index 000000000000..dde5dbe7076a
--- /dev/null
+++ b/games/anki/files/patch-python_stubs_BUILD.bazel
@@ -0,0 +1,35 @@
+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
index a7ae65d55655..9dfd8718a6a0 100644
--- a/games/anki/files/patch-qt_BUILD.bazel
+++ b/games/anki/files/patch-qt_BUILD.bazel
@@ -1,24 +1,23 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- qt/BUILD.bazel.orig 2021-05-04 05:04:50 UTC
+--- qt/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
+++ qt/BUILD.bazel
-@@ -1,5 +1,4 @@
+@@ -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,8 +9,6 @@ py_binary(
+@@ -10,7 +9,6 @@ py_binary(
visibility = [":__subpackages__"],
deps = [
"//pylib/tools:hookslib",
- requirement("black"),
-- requirement("stringcase"),
+ "//pylib/anki/_vendor:stringcase",
],
)
-
-@@ -32,8 +29,6 @@ py_test(
+@@ -32,8 +30,6 @@ py_test(
deps = [
"//pylib/anki",
"//qt/aqt:aqt_without_data",
@@ -27,23 +26,23 @@ is already disabled in "defs.bzl".
],
)
-@@ -56,7 +51,6 @@ py_test(
+@@ -60,7 +56,6 @@ py_test(
"//pylib/anki",
"//qt/aqt:aqt_without_data",
- "@pyqt5//:pkg",
+ "@pyqt6",
- requirement("mypy"),
],
)
-@@ -76,7 +70,6 @@ py_test(
+@@ -80,7 +75,6 @@ py_test(
deps = [
"//pylib/anki",
"//qt/aqt:aqt_without_data",
- requirement("pylint"),
- "@pyqt5//:pkg",
+ "@pyqt6",
],
)
-@@ -93,8 +86,6 @@ py_test(
+@@ -97,8 +91,6 @@ py_test(
main = "tests/run_format.py",
deps = [
"//qt/aqt:aqt_without_data",
@@ -52,7 +51,7 @@ is already disabled in "defs.bzl".
],
)
-@@ -111,8 +102,6 @@ py_binary(
+@@ -115,8 +107,6 @@ py_binary(
main = "tests/run_format.py",
tags = ["manual"],
deps = [
@@ -61,7 +60,7 @@ is already disabled in "defs.bzl".
],
)
-@@ -134,6 +123,5 @@ py_binary(
+@@ -191,6 +181,5 @@ py_binary(
srcs = ["tools/profile.py"],
tags = ["manual"],
deps = [
diff --git a/games/anki/files/patch-qt_aqt_BUILD.bazel b/games/anki/files/patch-qt_aqt_BUILD.bazel
index eebdcfa63959..d618352d25f7 100644
--- a/games/anki/files/patch-qt_aqt_BUILD.bazel
+++ b/games/anki/files/patch-qt_aqt_BUILD.bazel
@@ -1,16 +1,15 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- qt/aqt/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+--- qt/aqt/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
+++ qt/aqt/BUILD.bazel
-@@ -1,6 +1,5 @@
- load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
+@@ -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//experimental/python:wheel.bzl", "py_package", "py_wheel")
+ load("@rules_python//python:packaging.bzl", "py_package", "py_wheel")
load("//:defs.bzl", "anki_version")
-@@ -42,21 +41,9 @@ aqt_core_data = [
+@@ -40,20 +39,8 @@ aqt_deps = [
]
aqt_deps = [
@@ -23,7 +22,6 @@ is already disabled in "defs.bzl".
- requirement("waitress"),
- requirement("send2trash"),
- requirement("jsonschema"),
- "@pyqt5//:pkg",
] + select({
"@bazel_tools//src/conditions:host_windows": [
- requirement("psutil"),
diff --git a/games/anki/files/patch-rslib_Cargo.toml b/games/anki/files/patch-rslib_Cargo.toml
deleted file mode 100644
index 63f02f27d3da..000000000000
--- a/games/anki/files/patch-rslib_Cargo.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-Enable "translations" feature to add the translations from the fluent repos.
-
---- rslib/Cargo.toml.orig 2021-05-04 05:04:50 UTC
-+++ rslib/Cargo.toml
-@@ -7,6 +7,11 @@ license = "AGPL-3.0-or-later"
- description = "Anki's Rust library code"
- build = "build/main.rs"
-
-+[features]
-+default = ["translations"]
-+
-+translations = []
-+
- [lib]
- name = "anki"
- path = "src/lib.rs"
diff --git a/games/anki/files/patch-scripts_BUILD.bazel b/games/anki/files/patch-scripts_BUILD.bazel
deleted file mode 100644
index d97fc234d3ad..000000000000
--- a/games/anki/files/patch-scripts_BUILD.bazel
+++ /dev/null
@@ -1,10 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- scripts/BUILD.bazel.orig 2021-05-04 05:04:50 UTC
-+++ scripts/BUILD.bazel
-@@ -1,4 +1,3 @@
--load("@py_deps//:requirements.bzl", "requirement")
-
- py_binary(
- name = "buildinfo",
diff --git a/games/anki/files/patch-scripts_status.sh b/games/anki/files/patch-tools_status.sh
index 00e6545bd3c4..207195592b65 100644
--- a/games/anki/files/patch-scripts_status.sh
+++ b/games/anki/files/patch-tools_status.sh
@@ -1,7 +1,7 @@
Use _MY_BUILDHASH which is defined in the Port's Makefile
---- scripts/status.sh.orig 2021-02-15 17:35:54 UTC
-+++ scripts/status.sh
+--- tools/status.sh.orig 2022-06-05 15:45:44 UTC
++++ tools/status.sh
@@ -1,3 +1,3 @@
#!/bin/bash
diff --git a/games/anki/files/patch-ts_lib_BUILD.bazel b/games/anki/files/patch-ts_lib_BUILD.bazel
index 8a24fe710404..64bd9e2305e7 100644
--- a/games/anki/files/patch-ts_lib_BUILD.bazel
+++ b/games/anki/files/patch-ts_lib_BUILD.bazel
@@ -1,22 +1,21 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- ts/lib/BUILD.bazel.orig 2021-08-03 11:48:53 UTC
+--- ts/lib/BUILD.bazel.orig 2022-05-26 02:51:51 UTC
+++ ts/lib/BUILD.bazel
-@@ -17,7 +17,6 @@ protobufjs_library(
- ################
-
- load("@rules_python//python:defs.bzl", "py_binary")
+@@ -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(
- name = "genfluent",
-@@ -25,8 +24,6 @@ py_binary(
+@@ -12,7 +11,6 @@ py_binary(
"genfluent.py",
],
deps = [
- requirement("black"),
-- requirement("stringcase"),
+ "//pylib/anki/_vendor:stringcase",
],
)
-
diff --git a/games/anki/pkg-message b/games/anki/pkg-message
new file mode 100644
index 000000000000..d688705b1296
--- /dev/null
+++ b/games/anki/pkg-message
@@ -0,0 +1,9 @@
+[
+{ type: upgrade
+ maximum_version: 2.1.54
+ message: <<EOD
+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
+}
+]
diff --git a/games/anki/pkg-plist b/games/anki/pkg-plist
index 7d85f68e0a2e..9b384a11588f 100644
--- a/games/anki/pkg-plist
+++ b/games/anki/pkg-plist
@@ -53,6 +53,8 @@ man/man1/anki.1.gz
%%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
@@ -115,6 +117,12 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/_backend/rsbridge.pyi
%%DATADIR%%/anki/_backend/rsbridge.so
%%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/_vendor/stringcase.py
%%DATADIR%%/anki/backend_pb2.py
%%DATADIR%%/anki/backend_pb2.pyi
%%DATADIR%%/anki/browser.py
@@ -142,6 +150,12 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/errors.py
%%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
%%DATADIR%%/anki/hooks.py
@@ -149,6 +163,8 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/httpclient.py
%%DATADIR%%/anki/i18n_pb2.py
%%DATADIR%%/anki/i18n_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
@@ -238,6 +254,8 @@ man/man1/anki.1.gz
%%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
@@ -306,18 +324,16 @@ man/man1/anki.1.gz
%%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__/platform.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/platform.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__/qt.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/qt.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
@@ -354,6 +370,7 @@ man/man1/anki.1.gz
%%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
@@ -409,16 +426,46 @@ 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/editor.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
@@ -431,11 +478,13 @@ man/man1/anki.1.gz
%%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/editor.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
@@ -456,21 +505,28 @@ man/man1/anki.1.gz
%%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
@@ -499,6 +555,7 @@ man/man1/anki.1.gz
%%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
@@ -506,6 +563,10 @@ man/man1/anki.1.gz
%%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
@@ -518,10 +579,18 @@ man/man1/anki.1.gz
%%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/deckbrowser.py
%%DATADIR%%/aqt/deckchooser.py
@@ -541,132 +610,405 @@ man/man1/anki.1.gz
%%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__/icons_rc.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/icons_rc.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/icons_rc.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/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
%%DATADIR%%/aqt/importing.py
%%DATADIR%%/aqt/legacy.py
%%DATADIR%%/aqt/main.py
@@ -702,13 +1044,27 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/operations/scheduling.py
%%DATADIR%%/aqt/operations/tag.py
%%DATADIR%%/aqt/overview.py
+%%DATADIR%%/aqt/package.py
%%DATADIR%%/aqt/pinnedmodules.py
-%%DATADIR%%/aqt/platform.py
%%DATADIR%%/aqt/preferences.py
%%DATADIR%%/aqt/profiles.py
%%DATADIR%%/aqt/progress.py
%%DATADIR%%/aqt/py.typed
-%%DATADIR%%/aqt/qt.py
+%%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
+%%DATADIR%%/aqt/qt/qt6.py
%%DATADIR%%/aqt/reviewer.py
%%DATADIR%%/aqt/schema_change_tracker.py
%%DATADIR%%/aqt/sound.py