diff options
Diffstat (limited to 'games')
34 files changed, 12121 insertions, 2370 deletions
diff --git a/games/Makefile b/games/Makefile index 6673cb615ead..aba48ab1d7c5 100644 --- a/games/Makefile +++ b/games/Makefile @@ -643,7 +643,6 @@ SUBDIR += moonlight-embedded-devel SUBDIR += moonlight-qt SUBDIR += moria - SUBDIR += motogt SUBDIR += mrboom SUBDIR += mt_dolphin_ia SUBDIR += mt_gtk_client @@ -754,7 +753,6 @@ SUBDIR += pachi SUBDIR += pacmanarena SUBDIR += palapeli - SUBDIR += palomino SUBDIR += pangzero SUBDIR += passage SUBDIR += patapizza-tetris diff --git a/games/anki/Makefile b/games/anki/Makefile index dd066ae4b3ec..cbe1ed5262b8 100644 --- a/games/anki/Makefile +++ b/games/anki/Makefile @@ -1,6 +1,5 @@ PORTNAME= anki -DISTVERSION= 25.07.5 -PORTREVISION= 1 +DISTVERSION= 25.09 # Don't forget to update ${_MY_BUILDHASH} if DISTVERSION changes CATEGORIES= games education python MASTER_SITES= LOCAL/kai/:yarncache @@ -49,8 +48,8 @@ USES= cargo desktop-file-utils ninja nodejs:build pyqt:6 python \ USE_GITHUB= yes GH_ACCOUNT= ankitects # Translation files -GH_TUPLE= ankitects:anki-core-i18n:a019a54:ftlrslib \ - ankitects:anki-desktop-ftl:bc2da83:ftlextra +GH_TUPLE= ankitects:anki-core-i18n:6552c95:ftlrslib \ + ankitects:anki-desktop-ftl:dad4e27:ftlextra USE_PYQT= pyqt6 sip:build webengine @@ -93,7 +92,7 @@ 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= 7172b2d2 +_MY_BUILDHASH= 539054c3 # Remove ${CARGO_BUILD_TARGET} from ${CARGO_ENV} to avoid problems with # hardcoded paths as the "runner" build system expects its components # in ${WRKSRC}/out/rust/debug diff --git a/games/anki/Makefile.crates b/games/anki/Makefile.crates index 9de566e72386..d540b383f257 100644 --- a/games/anki/Makefile.crates +++ b/games/anki/Makefile.crates @@ -3,29 +3,29 @@ CARGO_CRATES= addr2line-0.24.2 \ ahash-0.8.12 \ aho-corasick-1.1.3 \ allocator-api2-0.2.21 \ - ammonia-4.1.0 \ + ammonia-4.1.1 \ android-tzdata-0.1.1 \ android_system_properties-0.1.5 \ anes-0.1.6 \ - anstream-0.6.19 \ + anstream-0.6.20 \ anstyle-1.0.11 \ anstyle-parse-0.2.7 \ - anstyle-query-1.1.3 \ - anstyle-wincon-3.0.9 \ - anyhow-1.0.98 \ - arbitrary-1.4.1 \ + anstyle-query-1.1.4 \ + anstyle-wincon-3.0.10 \ + anyhow-1.0.99 \ + arbitrary-1.4.2 \ arrayref-0.3.9 \ arrayvec-0.7.6 \ ash-0.38.0+1.3.281 \ assert-json-diff-2.0.2 \ - async-channel-2.3.1 \ - async-compression-0.4.24 \ + async-channel-2.5.0 \ + async-compression-0.4.30 \ async-stream-0.3.6 \ async-stream-impl-0.3.6 \ - async-trait-0.1.88 \ + async-trait-0.1.89 \ atomic-waker-1.1.2 \ atomic_float-1.1.0 \ - autocfg-1.4.0 \ + autocfg-1.5.0 \ axum-0.8.4 \ axum-client-ip-1.1.3 \ axum-core-0.5.2 \ @@ -39,12 +39,12 @@ CARGO_CRATES= addr2line-0.24.2 \ bit-set-0.8.0 \ bit-vec-0.8.0 \ bitflags-1.3.2 \ - bitflags-2.9.1 \ + bitflags-2.9.3 \ blake3-1.8.2 \ block-0.1.6 \ block-buffer-0.10.4 \ bstr-1.12.0 \ - bumpalo-3.18.1 \ + bumpalo-3.19.0 \ burn-0.17.1 \ burn-autodiff-0.17.1 \ burn-candle-0.17.1 \ @@ -61,25 +61,25 @@ CARGO_CRATES= addr2line-0.24.2 \ burn-tensor-0.17.1 \ burn-train-0.17.1 \ burn-wgpu-0.17.1 \ - bytemuck-1.23.1 \ - bytemuck_derive-1.9.3 \ + bytemuck-1.23.2 \ + bytemuck_derive-1.10.1 \ byteorder-1.5.0 \ bytes-1.10.1 \ bytesize-1.3.3 \ - camino-1.1.10 \ + camino-1.1.12 \ candle-core-0.8.4 \ cast-0.3.0 \ - cc-1.2.27 \ - cfg-if-1.0.1 \ + cc-1.2.34 \ + cfg-if-1.0.3 \ cfg_aliases-0.2.1 \ chrono-0.4.41 \ ciborium-0.2.2 \ ciborium-io-0.2.2 \ ciborium-ll-0.2.2 \ - clap-4.5.40 \ - clap_builder-4.5.40 \ - clap_complete-4.5.54 \ - clap_derive-4.5.40 \ + clap-4.5.46 \ + clap_builder-4.5.46 \ + clap_complete-4.5.57 \ + clap_derive-4.5.45 \ clap_lex-0.7.5 \ client-ip-0.1.1 \ coarsetime-0.1.36 \ @@ -88,6 +88,8 @@ CARGO_CRATES= addr2line-0.24.2 \ codespan-reporting-0.12.0 \ colorchoice-1.0.4 \ colored-3.0.0 \ + compression-codecs-0.4.30 \ + compression-core-0.4.29 \ concurrent-queue-2.5.0 \ constant_time_eq-0.3.1 \ convert_case-0.8.0 \ @@ -96,14 +98,14 @@ CARGO_CRATES= addr2line-0.24.2 \ core-foundation-sys-0.8.7 \ core-graphics-types-0.1.3 \ cpufeatures-0.2.17 \ - crc32fast-1.4.2 \ + crc32fast-1.5.0 \ criterion-0.6.0 \ criterion-plot-0.5.0 \ crossbeam-channel-0.5.15 \ crossbeam-deque-0.8.6 \ crossbeam-epoch-0.9.18 \ crossbeam-utils-0.8.21 \ - crunchy-0.2.3 \ + crunchy-0.2.4 \ crypto-common-0.1.6 \ cssparser-0.35.0 \ cssparser-macros-0.6.1 \ @@ -115,7 +117,7 @@ CARGO_CRATES= addr2line-0.24.2 \ cubecl-cpp-0.5.0 \ cubecl-cuda-0.5.0 \ cubecl-hip-0.5.0 \ - cubecl-hip-sys-6.4.4348200 \ + cubecl-hip-sys-6.4.4348201 \ cubecl-ir-0.5.0 \ cubecl-linalg-0.5.0 \ cubecl-macros-0.5.0 \ @@ -129,12 +131,12 @@ CARGO_CRATES= addr2line-0.24.2 \ darling_core-0.20.11 \ darling_macro-0.20.11 \ data-encoding-2.9.0 \ - deadpool-0.10.0 \ + deadpool-0.12.2 \ deadpool-runtime-0.1.4 \ - deranged-0.4.0 \ + deranged-0.5.2 \ derive-new-0.6.0 \ derive-new-0.7.0 \ - derive_arbitrary-1.4.1 \ + derive_arbitrary-1.4.2 \ derive_builder-0.20.2 \ derive_builder_core-0.20.2 \ derive_builder_macro-0.20.2 \ @@ -155,8 +157,8 @@ CARGO_CRATES= addr2line-0.24.2 \ dyn-stack-0.13.0 \ either-1.15.0 \ elasticlunr-rs-3.0.2 \ - embassy-futures-0.1.1 \ - embed-resource-3.0.4 \ + embassy-futures-0.1.2 \ + embed-resource-3.0.5 \ encoding_rs-0.8.35 \ enum-as-inner-0.6.1 \ env_filter-0.1.3 \ @@ -164,13 +166,13 @@ CARGO_CRATES= addr2line-0.24.2 \ env_logger-0.11.8 \ envy-0.4.2 \ equivalent-1.0.2 \ - errno-0.3.12 \ - event-listener-5.4.0 \ + errno-0.3.13 \ + event-listener-5.4.1 \ event-listener-strategy-0.5.4 \ fallible-iterator-0.3.0 \ fallible-streaming-iterator-0.1.9 \ fastrand-2.3.0 \ - filetime-0.2.25 \ + filetime-0.2.26 \ fixedbitset-0.5.7 \ flate2-1.1.2 \ float-ord-0.3.2 \ @@ -185,16 +187,16 @@ CARGO_CRATES= addr2line-0.24.2 \ foreign-types-macros-0.2.3 \ foreign-types-shared-0.1.1 \ foreign-types-shared-0.3.1 \ - form_urlencoded-1.2.1 \ + form_urlencoded-1.2.2 \ fsevent-sys-4.1.0 \ - fsrs-4.1.1 \ + fsrs-5.1.0 \ futf-0.1.5 \ futures-0.3.31 \ futures-channel-0.3.31 \ futures-core-0.3.31 \ futures-executor-0.3.31 \ futures-io-0.3.31 \ - futures-lite-2.6.0 \ + futures-lite-2.6.1 \ futures-macro-0.3.31 \ futures-sink-0.3.31 \ futures-task-0.3.31 \ @@ -215,12 +217,12 @@ CARGO_CRATES= addr2line-0.24.2 \ gemm-f64-0.17.1 \ gemm-f64-0.18.2 \ generic-array-0.14.7 \ - getopts-0.2.23 \ + getopts-0.2.24 \ getrandom-0.2.16 \ getrandom-0.3.3 \ gimli-0.31.1 \ gl_generator-0.14.0 \ - glob-0.3.2 \ + glob-0.3.3 \ globset-0.4.16 \ glow-0.16.0 \ glutin_wgl_sys-0.6.1 \ @@ -229,17 +231,15 @@ CARGO_CRATES= addr2line-0.24.2 \ gpu-allocator-0.27.0 \ gpu-descriptor-0.3.2 \ gpu-descriptor-types-0.2.0 \ - h2-0.3.26 \ - h2-0.4.10 \ + h2-0.3.27 \ + h2-0.4.12 \ half-2.6.0 \ handlebars-6.3.2 \ hashbrown-0.13.2 \ hashbrown-0.14.5 \ - hashbrown-0.15.4 \ + hashbrown-0.15.5 \ hashlink-0.10.0 \ - headers-0.3.9 \ headers-0.4.1 \ - headers-core-0.2.0 \ headers-core-0.3.0 \ heck-0.5.0 \ hermit-abi-0.5.2 \ @@ -247,21 +247,22 @@ CARGO_CRATES= addr2line-0.24.2 \ hexf-parse-0.2.1 \ hmac-0.12.1 \ html5ever-0.26.0 \ - html5ever-0.31.0 \ + html5ever-0.35.0 \ htmlescape-0.3.1 \ http-0.2.12 \ http-1.3.1 \ http-body-0.4.6 \ http-body-1.0.1 \ http-body-util-0.1.3 \ + http-range-header-0.4.2 \ httparse-1.10.1 \ httpdate-1.0.3 \ hyper-0.14.32 \ - hyper-1.6.0 \ + hyper-1.7.0 \ hyper-rustls-0.27.7 \ hyper-tls-0.5.0 \ hyper-tls-0.6.0 \ - hyper-util-0.1.14 \ + hyper-util-0.1.16 \ iana-time-zone-0.1.63 \ iana-time-zone-haiku-0.1.2 \ icu_collections-2.0.0 \ @@ -273,16 +274,17 @@ CARGO_CRATES= addr2line-0.24.2 \ icu_provider-2.0.0 \ id_tree-1.8.0 \ ident_case-1.0.1 \ - idna-1.0.3 \ + idna-1.1.0 \ idna_adapter-1.2.1 \ ignore-0.4.23 \ - indexmap-2.9.0 \ + indexmap-2.11.0 \ indoc-2.0.6 \ inflections-1.1.1 \ inotify-0.11.0 \ inotify-sys-0.1.5 \ intl-memoizer-0.5.3 \ intl_pluralrules-7.0.2 \ + io-uring-0.7.10 \ ipnet-2.11.0 \ iri-string-0.7.8 \ is_terminal_polyfill-1.70.1 \ @@ -293,7 +295,7 @@ CARGO_CRATES= addr2line-0.24.2 \ jiff-0.2.15 \ jiff-static-0.2.15 \ jni-sys-0.3.0 \ - jobserver-0.1.33 \ + jobserver-0.1.34 \ js-sys-0.3.77 \ junction-1.2.0 \ khronos-egl-6.0.0 \ @@ -301,38 +303,38 @@ CARGO_CRATES= addr2line-0.24.2 \ kqueue-1.1.1 \ kqueue-sys-1.0.4 \ lazy_static-1.5.0 \ - libc-0.2.173 \ + libc-0.2.175 \ libc-stdhandle-0.1.0 \ libloading-0.8.8 \ libm-0.2.15 \ - libredox-0.1.3 \ + libredox-0.1.9 \ libsqlite3-sys-0.34.0 \ libz-rs-sys-0.5.1 \ linkify-0.7.0 \ linux-raw-sys-0.9.4 \ litemap-0.8.0 \ - litrs-0.4.1 \ + litrs-0.4.2 \ lock_api-0.4.13 \ log-0.4.27 \ lru-slab-0.1.2 \ lzma-sys-0.1.20 \ mac-0.1.1 \ - macerator-0.2.8 \ - macerator-macros-0.1.2 \ + macerator-0.2.9 \ + macerator-macros-0.1.3 \ malloc_buf-0.0.6 \ maplit-1.0.2 \ markup5ever-0.11.0 \ - markup5ever-0.16.1 \ + markup5ever-0.35.0 \ markup5ever_rcdom-0.2.0 \ - match_token-0.1.0 \ - matchers-0.1.0 \ + match_token-0.35.0 \ + matchers-0.2.0 \ matches-0.1.10 \ matchit-0.8.4 \ matrixmultiply-0.3.10 \ md5-0.7.0 \ - mdbook-0.4.51 \ + mdbook-0.4.52 \ memchr-2.7.5 \ - memmap2-0.9.5 \ + memmap2-0.9.8 \ memoffset-0.9.1 \ metal-0.31.0 \ mime-0.3.17 \ @@ -340,7 +342,7 @@ CARGO_CRATES= addr2line-0.24.2 \ minimal-lexical-0.2.1 \ miniz_oxide-0.8.9 \ mio-1.0.4 \ - moddef-0.2.6 \ + moddef-0.3.0 \ multer-3.1.0 \ multimap-0.10.1 \ naga-25.0.1 \ @@ -351,11 +353,11 @@ CARGO_CRATES= addr2line-0.24.2 \ nom-7.1.3 \ nom-8.0.0 \ normpath-1.3.0 \ - notify-8.0.0 \ + notify-8.2.0 \ notify-debouncer-mini-0.6.0 \ notify-types-2.0.0 \ ntapi-0.4.1 \ - nu-ansi-term-0.46.0 \ + nu-ansi-term-0.50.1 \ num-0.4.3 \ num-bigint-0.4.6 \ num-complex-0.4.6 \ @@ -368,8 +370,8 @@ CARGO_CRATES= addr2line-0.24.2 \ num-rational-0.4.2 \ num-traits-0.2.19 \ num_cpus-1.17.0 \ - num_enum-0.7.3 \ - num_enum_derive-0.7.3 \ + num_enum-0.7.4 \ + num_enum_derive-0.7.4 \ nvml-wrapper-0.10.0 \ nvml-wrapper-sys-0.8.0 \ objc-0.2.7 \ @@ -385,7 +387,6 @@ CARGO_CRATES= addr2line-0.24.2 \ option-ext-0.2.0 \ ordered-float-2.10.1 \ ordered-float-4.6.0 \ - overload-0.1.1 \ parking-2.2.1 \ parking_lot-0.12.4 \ parking_lot_core-0.9.11 \ @@ -393,7 +394,7 @@ CARGO_CRATES= addr2line-0.24.2 \ paste-1.0.15 \ pathdiff-0.2.3 \ pbkdf2-0.12.2 \ - percent-encoding-2.3.1 \ + percent-encoding-2.3.2 \ pest-2.8.1 \ pest_derive-2.8.1 \ pest_generator-2.8.1 \ @@ -418,17 +419,17 @@ CARGO_CRATES= addr2line-0.24.2 \ plotters-svg-0.3.7 \ portable-atomic-1.11.1 \ portable-atomic-util-0.2.4 \ - potential_utf-0.1.2 \ + potential_utf-0.1.3 \ powerfmt-0.2.0 \ ppv-lite86-0.2.21 \ precomputed-hash-0.1.1 \ presser-0.3.1 \ - prettyplease-0.2.34 \ + prettyplease-0.2.37 \ priority-queue-2.5.0 \ proc-macro-crate-3.3.0 \ proc-macro-hack-0.5.20+deprecated \ - proc-macro2-1.0.95 \ - profiling-1.0.16 \ + proc-macro2-1.0.101 \ + profiling-1.0.17 \ prost-0.13.5 \ prost-build-0.13.5 \ prost-derive-0.13.5 \ @@ -446,13 +447,13 @@ CARGO_CRATES= addr2line-0.24.2 \ pyo3-ffi-0.25.1 \ pyo3-macros-0.25.1 \ pyo3-macros-backend-0.25.1 \ - quinn-0.11.8 \ - quinn-proto-0.11.12 \ - quinn-udp-0.5.12 \ + quinn-0.11.9 \ + quinn-proto-0.11.13 \ + quinn-udp-0.5.14 \ quote-1.0.40 \ - r-efi-5.2.0 \ + r-efi-5.3.0 \ rand-0.8.5 \ - rand-0.9.1 \ + rand-0.9.2 \ rand_chacha-0.3.1 \ rand_chacha-0.9.0 \ rand_core-0.6.4 \ @@ -463,49 +464,46 @@ CARGO_CRATES= addr2line-0.24.2 \ raw-cpuid-11.5.0 \ raw-window-handle-0.6.2 \ rawpointer-0.2.1 \ - rayon-1.10.0 \ - rayon-core-1.12.1 \ + rayon-1.11.0 \ + rayon-core-1.13.0 \ reborrow-0.5.5 \ - redox_syscall-0.5.13 \ + redox_syscall-0.5.17 \ redox_users-0.4.6 \ - redox_users-0.5.0 \ - regex-1.11.1 \ - regex-automata-0.1.10 \ - regex-automata-0.4.9 \ - regex-syntax-0.6.29 \ - regex-syntax-0.8.5 \ + redox_users-0.5.2 \ + regex-1.11.2 \ + regex-automata-0.4.10 \ + regex-syntax-0.8.6 \ relative-path-1.9.3 \ renderdoc-sys-1.1.0 \ reqwest-0.11.27 \ - reqwest-0.12.20 \ + reqwest-0.12.23 \ ring-0.17.14 \ rmp-0.8.14 \ rmp-serde-1.3.0 \ rstest-0.25.0 \ rstest_macros-0.25.0 \ rusqlite-0.36.0 \ - rustc-demangle-0.1.25 \ + rustc-demangle-0.1.26 \ rustc-hash-1.1.0 \ rustc-hash-2.1.1 \ rustc_version-0.4.1 \ - rustix-1.0.7 \ - rustls-0.23.28 \ + rustix-1.0.8 \ + rustls-0.23.31 \ rustls-native-certs-0.8.1 \ rustls-pemfile-1.0.4 \ rustls-pemfile-2.2.0 \ rustls-pki-types-1.12.0 \ - rustls-webpki-0.103.3 \ - rustversion-1.0.21 \ + rustls-webpki-0.103.4 \ + rustversion-1.0.22 \ ryu-1.0.20 \ safetensors-0.4.5 \ same-file-1.0.6 \ sanitize-filename-0.5.0 \ sanitize-filename-0.6.0 \ schannel-0.1.27 \ - scoped-tls-1.0.1 \ scopeguard-1.2.0 \ security-framework-2.11.1 \ - security-framework-3.2.0 \ + security-framework-3.3.0 \ security-framework-sys-2.14.0 \ self_cell-1.2.0 \ semver-1.0.26 \ @@ -515,28 +513,29 @@ CARGO_CRATES= addr2line-0.24.2 \ serde-value-0.7.0 \ serde_bytes-0.11.17 \ serde_derive-1.0.219 \ - serde_json-1.0.140 \ + serde_json-1.0.143 \ serde_path_to_error-0.1.17 \ serde_repr-0.1.20 \ - serde_spanned-0.6.9 \ - serde_tuple-1.1.0 \ - serde_tuple_macros-1.0.1 \ + serde_spanned-1.0.0 \ + serde_tuple-1.1.2 \ + serde_tuple_macros-1.1.2 \ serde_urlencoded-0.7.1 \ sha1-0.10.6 \ sha2-0.10.9 \ sharded-slab-0.1.7 \ shlex-1.3.0 \ - signal-hook-registry-1.4.5 \ + signal-hook-registry-1.4.6 \ simd-adler32-0.3.7 \ siphasher-0.3.11 \ siphasher-1.0.1 \ - slab-0.4.10 \ + slab-0.4.11 \ slotmap-1.0.7 \ smallvec-1.15.1 \ - snafu-0.8.6 \ - snafu-derive-0.8.6 \ + snafu-0.8.8 \ + snafu-derive-0.8.8 \ snowflake-1.3.0 \ socket2-0.5.10 \ + socket2-0.6.0 \ spin-0.9.8 \ spin-0.10.0 \ spirv-0.3.0+sdk-1.3.268.0 \ @@ -546,12 +545,12 @@ CARGO_CRATES= addr2line-0.24.2 \ string_cache_codegen-0.5.4 \ strsim-0.11.1 \ strum-0.26.3 \ - strum-0.27.1 \ + strum-0.27.2 \ strum_macros-0.26.4 \ - strum_macros-0.27.1 \ + strum_macros-0.27.2 \ subtle-2.6.1 \ syn-1.0.109 \ - syn-2.0.103 \ + syn-2.0.106 \ sync_wrapper-0.1.2 \ sync_wrapper-1.0.2 \ synstructure-0.13.2 \ @@ -560,38 +559,40 @@ CARGO_CRATES= addr2line-0.24.2 \ sysinfo-0.33.1 \ system-configuration-0.5.1 \ system-configuration-sys-0.5.0 \ - systemstat-0.2.4 \ + systemstat-0.2.5 \ tar-0.4.44 \ target-lexicon-0.13.2 \ - tempfile-3.20.0 \ + tempfile-3.21.0 \ tendril-0.4.3 \ termcolor-1.4.1 \ - terminal_size-0.4.2 \ + terminal_size-0.4.3 \ text_placeholder-0.5.1 \ thiserror-1.0.69 \ - thiserror-2.0.12 \ + thiserror-2.0.16 \ thiserror-impl-1.0.69 \ - thiserror-impl-2.0.12 \ + thiserror-impl-2.0.16 \ thread-tree-0.3.3 \ thread_local-1.1.9 \ - time-0.3.41 \ - time-core-0.1.4 \ - time-macros-0.2.22 \ + time-0.3.42 \ + time-core-0.1.5 \ + time-macros-0.2.23 \ tinystr-0.8.1 \ tinytemplate-1.2.1 \ - tinyvec-1.9.0 \ + tinyvec-1.10.0 \ tinyvec_macros-0.1.1 \ - tokio-1.45.1 \ + tokio-1.47.1 \ tokio-macros-2.5.0 \ tokio-native-tls-0.3.1 \ tokio-rustls-0.26.2 \ - tokio-tungstenite-0.21.0 \ - tokio-util-0.7.15 \ + tokio-tungstenite-0.26.2 \ + tokio-util-0.7.16 \ toml-0.5.11 \ - toml-0.8.23 \ + toml-0.9.5 \ toml_datetime-0.6.11 \ + toml_datetime-0.7.0 \ toml_edit-0.22.27 \ - toml_write-0.1.2 \ + toml_parser-1.0.2 \ + toml_writer-1.0.2 \ topological-sort-0.2.2 \ tower-0.5.2 \ tower-http-0.6.6 \ @@ -599,12 +600,12 @@ CARGO_CRATES= addr2line-0.24.2 \ tower-service-0.3.3 \ tracing-0.1.41 \ tracing-appender-0.2.3 \ - tracing-attributes-0.1.29 \ + tracing-attributes-0.1.30 \ tracing-core-0.1.34 \ tracing-log-0.2.0 \ - tracing-subscriber-0.3.19 \ + tracing-subscriber-0.3.20 \ try-lock-0.2.5 \ - tungstenite-0.21.0 \ + tungstenite-0.26.2 \ type-map-0.5.1 \ typenum-1.18.0 \ ucd-trie-0.1.7 \ @@ -628,11 +629,11 @@ CARGO_CRATES= addr2line-0.24.2 \ unindent-0.2.4 \ untrusted-0.9.0 \ unty-0.0.4 \ - url-2.5.4 \ + url-2.5.7 \ utf-8-0.7.6 \ utf8_iter-1.0.4 \ utf8parse-0.2.2 \ - uuid-1.17.0 \ + uuid-1.18.0 \ valuable-0.1.1 \ variadics_please-1.1.0 \ vcpkg-0.2.15 \ @@ -641,9 +642,8 @@ CARGO_CRATES= addr2line-0.24.2 \ vswhom-sys-0.1.3 \ walkdir-2.5.0 \ want-0.3.1 \ - warp-0.3.7 \ wasi-0.11.1+wasi-snapshot-preview1 \ - wasi-0.14.2+wasi-0.2.4 \ + wasi-0.14.3+wasi-0.2.4 \ wasix-0.12.21 \ wasm-bindgen-0.2.100 \ wasm-bindgen-backend-0.2.100 \ @@ -655,7 +655,7 @@ CARGO_CRATES= addr2line-0.24.2 \ web-sys-0.3.77 \ web-time-1.1.0 \ web_atoms-0.1.3 \ - webpki-roots-1.0.0 \ + webpki-roots-1.0.2 \ wgpu-25.0.2 \ wgpu-core-25.0.2 \ wgpu-core-deps-apple-25.0.0 \ @@ -667,20 +667,20 @@ CARGO_CRATES= addr2line-0.24.2 \ widestring-1.2.0 \ winapi-0.3.9 \ winapi-i686-pc-windows-gnu-0.4.0 \ - winapi-util-0.1.9 \ + winapi-util-0.1.10 \ winapi-x86_64-pc-windows-gnu-0.4.0 \ - windows-0.56.0 \ + windows-0.57.0 \ windows-0.58.0 \ windows-0.61.3 \ windows-collections-0.2.0 \ - windows-core-0.56.0 \ + windows-core-0.57.0 \ windows-core-0.58.0 \ windows-core-0.61.2 \ windows-future-0.2.1 \ - windows-implement-0.56.0 \ + windows-implement-0.57.0 \ windows-implement-0.58.0 \ windows-implement-0.60.0 \ - windows-interface-0.56.0 \ + windows-interface-0.57.0 \ windows-interface-0.58.0 \ windows-interface-0.59.1 \ windows-link-0.1.3 \ @@ -696,7 +696,7 @@ CARGO_CRATES= addr2line-0.24.2 \ windows-sys-0.60.2 \ windows-targets-0.48.5 \ windows-targets-0.52.6 \ - windows-targets-0.53.2 \ + windows-targets-0.53.3 \ windows-threading-0.1.0 \ windows_aarch64_gnullvm-0.48.5 \ windows_aarch64_gnullvm-0.52.6 \ @@ -721,32 +721,32 @@ CARGO_CRATES= addr2line-0.24.2 \ windows_x86_64_msvc-0.48.5 \ windows_x86_64_msvc-0.52.6 \ windows_x86_64_msvc-0.53.0 \ - winnow-0.7.11 \ + winnow-0.7.13 \ winreg-0.50.0 \ winreg-0.55.0 \ winsafe-0.0.19 \ - wiremock-0.6.3 \ - wit-bindgen-rt-0.39.0 \ + wiremock-0.6.5 \ + wit-bindgen-0.45.0 \ wrapcenum-derive-0.4.1 \ writeable-0.6.1 \ - xattr-1.5.0 \ - xml-rs-0.8.26 \ + xattr-1.5.1 \ + xml-rs-0.8.27 \ xml5ever-0.17.0 \ xz2-0.1.7 \ yoke-0.7.5 \ yoke-0.8.0 \ yoke-derive-0.7.5 \ yoke-derive-0.8.0 \ - zerocopy-0.8.25 \ - zerocopy-derive-0.8.25 \ + zerocopy-0.8.26 \ + zerocopy-derive-0.8.26 \ zerofrom-0.1.6 \ zerofrom-derive-0.1.6 \ zeroize-1.8.1 \ zerotrie-0.2.2 \ - zerovec-0.11.2 \ + zerovec-0.11.4 \ zerovec-derive-0.11.1 \ zip-1.1.4 \ - zip-4.1.0 \ + zip-4.6.0 \ zlib-rs-0.5.1 \ zopfli-0.8.2 \ zstd-0.13.3 \ diff --git a/games/anki/distinfo b/games/anki/distinfo index 70699e098ee1..aa34c590361d 100644 --- a/games/anki/distinfo +++ b/games/anki/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1753518688 -SHA256 (anki-yarn-cache-25.07.5.tar.gz) = 361af862b2c914e1c430b5f896cfca8b6d75ff6a8520c799eb1c70e59c60a7c4 -SIZE (anki-yarn-cache-25.07.5.tar.gz) = 527779870 +TIMESTAMP = 1757161718 +SHA256 (anki-yarn-cache-25.09.tar.gz) = 41c4e2b229370e595fa9d0d12a88ca997942125ef07dba9d85924436aaeefa68 +SIZE (anki-yarn-cache-25.09.tar.gz) = 527778869 SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1 SIZE (rust/crates/addr2line-0.24.2.crate) = 39015 SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa @@ -11,28 +11,28 @@ SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2d SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311 SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923 SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622 -SHA256 (rust/crates/ammonia-4.1.0.crate) = 3ada2ee439075a3e70b6992fce18ac4e407cd05aea9ca3f75d2c0b0c20bbb364 -SIZE (rust/crates/ammonia-4.1.0.crate) = 53061 +SHA256 (rust/crates/ammonia-4.1.1.crate) = d6b346764dd0814805de8abf899fe03065bcee69bb1a4771c785817e39f3978f +SIZE (rust/crates/ammonia-4.1.1.crate) = 56029 SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0 SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674 SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311 SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243 SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299 SIZE (rust/crates/anes-0.1.6.crate) = 23857 -SHA256 (rust/crates/anstream-0.6.19.crate) = 301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933 -SIZE (rust/crates/anstream-0.6.19.crate) = 28767 +SHA256 (rust/crates/anstream-0.6.20.crate) = 3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192 +SIZE (rust/crates/anstream-0.6.20.crate) = 28797 SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd SIZE (rust/crates/anstyle-1.0.11.crate) = 15880 SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2 SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707 -SHA256 (rust/crates/anstyle-query-1.1.3.crate) = 6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9 -SIZE (rust/crates/anstyle-query-1.1.3.crate) = 10190 -SHA256 (rust/crates/anstyle-wincon-3.0.9.crate) = 403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882 -SIZE (rust/crates/anstyle-wincon-3.0.9.crate) = 12561 -SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487 -SIZE (rust/crates/anyhow-1.0.98.crate) = 53334 -SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223 -SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816 +SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2 +SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192 +SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a +SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558 +SHA256 (rust/crates/anyhow-1.0.99.crate) = b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100 +SIZE (rust/crates/anyhow-1.0.99.crate) = 53809 +SHA256 (rust/crates/arbitrary-1.4.2.crate) = c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1 +SIZE (rust/crates/arbitrary-1.4.2.crate) = 38307 SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb SIZE (rust/crates/arrayref-0.3.9.crate) = 9186 SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50 @@ -41,22 +41,22 @@ SHA256 (rust/crates/ash-0.38.0+1.3.281.crate) = 0bb44936d800fea8f016d7f2311c6a4f SIZE (rust/crates/ash-0.38.0+1.3.281.crate) = 457775 SHA256 (rust/crates/assert-json-diff-2.0.2.crate) = 47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12 SIZE (rust/crates/assert-json-diff-2.0.2.crate) = 10874 -SHA256 (rust/crates/async-channel-2.3.1.crate) = 89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a -SIZE (rust/crates/async-channel-2.3.1.crate) = 14576 -SHA256 (rust/crates/async-compression-0.4.24.crate) = d615619615a650c571269c00dca41db04b9210037fa76ed8239f70404ab56985 -SIZE (rust/crates/async-compression-0.4.24.crate) = 116001 +SHA256 (rust/crates/async-channel-2.5.0.crate) = 924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2 +SIZE (rust/crates/async-channel-2.5.0.crate) = 18624 +SHA256 (rust/crates/async-compression-0.4.30.crate) = 977eb15ea9efd848bb8a4a1a2500347ed7f0bf794edf0dc3ddcf439f43d36b23 +SIZE (rust/crates/async-compression-0.4.30.crate) = 98817 SHA256 (rust/crates/async-stream-0.3.6.crate) = 0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476 SIZE (rust/crates/async-stream-0.3.6.crate) = 13823 SHA256 (rust/crates/async-stream-impl-0.3.6.crate) = c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d SIZE (rust/crates/async-stream-impl-0.3.6.crate) = 4312 -SHA256 (rust/crates/async-trait-0.1.88.crate) = e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5 -SIZE (rust/crates/async-trait-0.1.88.crate) = 32084 +SHA256 (rust/crates/async-trait-0.1.89.crate) = 9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb +SIZE (rust/crates/async-trait-0.1.89.crate) = 32171 SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0 SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422 SHA256 (rust/crates/atomic_float-1.1.0.crate) = 628d228f918ac3b82fe590352cc719d30664a0c13ca3a60266fe02c7132d480a SIZE (rust/crates/atomic_float-1.1.0.crate) = 16232 -SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26 -SIZE (rust/crates/autocfg-1.4.0.crate) = 17712 +SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8 +SIZE (rust/crates/autocfg-1.5.0.crate) = 18729 SHA256 (rust/crates/axum-0.8.4.crate) = 021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5 SIZE (rust/crates/axum-0.8.4.crate) = 175159 SHA256 (rust/crates/axum-client-ip-1.1.3.crate) = 3f08a543641554404b42acd0d2494df12ca2be034d7b8ee4dbbf7446f940a2ef @@ -83,8 +83,8 @@ SHA256 (rust/crates/bit-vec-0.8.0.crate) = 5e764a1d40d510daf35e07be9eb06e7577090 SIZE (rust/crates/bit-vec-0.8.0.crate) = 24132 SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a SIZE (rust/crates/bitflags-1.3.2.crate) = 23021 -SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967 -SIZE (rust/crates/bitflags-2.9.1.crate) = 47913 +SHA256 (rust/crates/bitflags-2.9.3.crate) = 34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d +SIZE (rust/crates/bitflags-2.9.3.crate) = 47777 SHA256 (rust/crates/blake3-1.8.2.crate) = 3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0 SIZE (rust/crates/blake3-1.8.2.crate) = 205967 SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a @@ -93,8 +93,8 @@ SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996a SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538 SHA256 (rust/crates/bstr-1.12.0.crate) = 234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4 SIZE (rust/crates/bstr-1.12.0.crate) = 351557 -SHA256 (rust/crates/bumpalo-3.18.1.crate) = 793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee -SIZE (rust/crates/bumpalo-3.18.1.crate) = 96348 +SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43 +SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414 SHA256 (rust/crates/burn-0.17.1.crate) = ec639306f45bd663957465e840cfb07bcd2ae18f7c045dd9aba8cb7a69c0654a SIZE (rust/crates/burn-0.17.1.crate) = 57454 SHA256 (rust/crates/burn-autodiff-0.17.1.crate) = a178966322ab7ce71405f1324cdc14f79256d85a47138bbd2c8c4f0056148601 @@ -127,26 +127,26 @@ SHA256 (rust/crates/burn-train-0.17.1.crate) = 140182cf5f1255d60e1d8c677fa45c6f7 SIZE (rust/crates/burn-train-0.17.1.crate) = 72267 SHA256 (rust/crates/burn-wgpu-0.17.1.crate) = 215bf0e641a27e17bcd3941a11867dcda411c9cb009488c6b6650c8206437c30 SIZE (rust/crates/burn-wgpu-0.17.1.crate) = 24880 -SHA256 (rust/crates/bytemuck-1.23.1.crate) = 5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422 -SIZE (rust/crates/bytemuck-1.23.1.crate) = 52585 -SHA256 (rust/crates/bytemuck_derive-1.9.3.crate) = 7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1 -SIZE (rust/crates/bytemuck_derive-1.9.3.crate) = 23555 +SHA256 (rust/crates/bytemuck-1.23.2.crate) = 3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677 +SIZE (rust/crates/bytemuck-1.23.2.crate) = 53021 +SHA256 (rust/crates/bytemuck_derive-1.10.1.crate) = 4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29 +SIZE (rust/crates/bytemuck_derive-1.10.1.crate) = 25122 SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a SIZE (rust/crates/bytes-1.10.1.crate) = 76779 SHA256 (rust/crates/bytesize-1.3.3.crate) = 2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659 SIZE (rust/crates/bytesize-1.3.3.crate) = 11594 -SHA256 (rust/crates/camino-1.1.10.crate) = 0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab -SIZE (rust/crates/camino-1.1.10.crate) = 42306 +SHA256 (rust/crates/camino-1.1.12.crate) = dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5 +SIZE (rust/crates/camino-1.1.12.crate) = 44284 SHA256 (rust/crates/candle-core-0.8.4.crate) = 06ccf5ee3532e66868516d9b315f73aec9f34ea1a37ae98514534d458915dbf1 SIZE (rust/crates/candle-core-0.8.4.crate) = 232912 SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5 SIZE (rust/crates/cast-0.3.0.crate) = 11452 -SHA256 (rust/crates/cc-1.2.27.crate) = d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc -SIZE (rust/crates/cc-1.2.27.crate) = 107070 -SHA256 (rust/crates/cfg-if-1.0.1.crate) = 9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268 -SIZE (rust/crates/cfg-if-1.0.1.crate) = 8683 +SHA256 (rust/crates/cc-1.2.34.crate) = 42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc +SIZE (rust/crates/cc-1.2.34.crate) = 111754 +SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9 +SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719 SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724 SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355 SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d @@ -157,14 +157,14 @@ SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce369 SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697 SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9 SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695 -SHA256 (rust/crates/clap-4.5.40.crate) = 40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f -SIZE (rust/crates/clap-4.5.40.crate) = 57419 -SHA256 (rust/crates/clap_builder-4.5.40.crate) = e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e -SIZE (rust/crates/clap_builder-4.5.40.crate) = 169191 -SHA256 (rust/crates/clap_complete-4.5.54.crate) = aad5b1b4de04fead402672b48897030eec1f3bfe1550776322f59f6d6e6a5677 -SIZE (rust/crates/clap_complete-4.5.54.crate) = 48534 -SHA256 (rust/crates/clap_derive-4.5.40.crate) = d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce -SIZE (rust/crates/clap_derive-4.5.40.crate) = 33470 +SHA256 (rust/crates/clap-4.5.46.crate) = 2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57 +SIZE (rust/crates/clap-4.5.46.crate) = 58332 +SHA256 (rust/crates/clap_builder-4.5.46.crate) = fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41 +SIZE (rust/crates/clap_builder-4.5.46.crate) = 169831 +SHA256 (rust/crates/clap_complete-4.5.57.crate) = 4d9501bd3f5f09f7bbee01da9a511073ed30a80cd7a509f1214bb74eadea71ad +SIZE (rust/crates/clap_complete-4.5.57.crate) = 48637 +SHA256 (rust/crates/clap_derive-4.5.45.crate) = 14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6 +SIZE (rust/crates/clap_derive-4.5.45.crate) = 33545 SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675 SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469 SHA256 (rust/crates/client-ip-0.1.1.crate) = 31211fc26899744f5b22521fdc971e5f3875991d8880537537470685a0e9552d @@ -181,6 +181,10 @@ SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845 SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196 SHA256 (rust/crates/colored-3.0.0.crate) = fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e SIZE (rust/crates/colored-3.0.0.crate) = 34497 +SHA256 (rust/crates/compression-codecs-0.4.30.crate) = 485abf41ac0c8047c07c87c72c8fb3eb5197f6e9d7ded615dfd1a00ae00a0f64 +SIZE (rust/crates/compression-codecs-0.4.30.crate) = 22516 +SHA256 (rust/crates/compression-core-0.4.29.crate) = e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb +SIZE (rust/crates/compression-core-0.4.29.crate) = 4321 SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973 SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654 SHA256 (rust/crates/constant_time_eq-0.3.1.crate) = 7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6 @@ -197,8 +201,8 @@ SHA256 (rust/crates/core-graphics-types-0.1.3.crate) = 45390e6114f68f718cc7a8305 SIZE (rust/crates/core-graphics-types-0.1.3.crate) = 7063 SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280 SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466 -SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3 -SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491 +SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511 +SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723 SHA256 (rust/crates/criterion-0.6.0.crate) = 3bf7af66b0989381bd0be551bd7cc91912a655a58c6918420c9527b1fd8b4679 SIZE (rust/crates/criterion-0.6.0.crate) = 119470 SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1 @@ -211,8 +215,8 @@ SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1 SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875 SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28 SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691 -SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929 -SIZE (rust/crates/crunchy-0.2.3.crate) = 3775 +SHA256 (rust/crates/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5 +SIZE (rust/crates/crunchy-0.2.4.crate) = 3887 SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760 SHA256 (rust/crates/cssparser-0.35.0.crate) = 4e901edd733a1472f944a45116df3f846f54d37e67e68640ac8bb69689aca2aa @@ -235,8 +239,8 @@ SHA256 (rust/crates/cubecl-cuda-0.5.0.crate) = 71e091e4e3a3900faff440aec4053805e SIZE (rust/crates/cubecl-cuda-0.5.0.crate) = 26384 SHA256 (rust/crates/cubecl-hip-0.5.0.crate) = 0c2f8c00207517de61cccdc4ca2724bc1db9dab94840beaf4329e43cead3bc4a SIZE (rust/crates/cubecl-hip-0.5.0.crate) = 23359 -SHA256 (rust/crates/cubecl-hip-sys-6.4.4348200.crate) = 283fa7401056c53fb27e18f5d1806246bb5f937c4ecbd2453896f7a9ec495c73 -SIZE (rust/crates/cubecl-hip-sys-6.4.4348200.crate) = 382555 +SHA256 (rust/crates/cubecl-hip-sys-6.4.4348201.crate) = 678a20e5e38ce9c772bdd53596f2801ef210ae735ec2d7d46b5d5b675c09d929 +SIZE (rust/crates/cubecl-hip-sys-6.4.4348201.crate) = 382548 SHA256 (rust/crates/cubecl-ir-0.5.0.crate) = e096d77646590f0180ed4ce1aa7df4ecc7219f3c4616e9fe72d93ab63a352855 SIZE (rust/crates/cubecl-ir-0.5.0.crate) = 27676 SHA256 (rust/crates/cubecl-linalg-0.5.0.crate) = 75aacf86f6004c274e63589aed55c5edcbcdf1b292eaf4ce2c1688c04c41a194 @@ -263,18 +267,18 @@ SHA256 (rust/crates/darling_macro-0.20.11.crate) = fc34b93ccb385b40dc71c6fceac4b SIZE (rust/crates/darling_macro-0.20.11.crate) = 2532 SHA256 (rust/crates/data-encoding-2.9.0.crate) = 2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476 SIZE (rust/crates/data-encoding-2.9.0.crate) = 21564 -SHA256 (rust/crates/deadpool-0.10.0.crate) = fb84100978c1c7b37f09ed3ce3e5f843af02c2a2c431bae5b19230dad2c1b490 -SIZE (rust/crates/deadpool-0.10.0.crate) = 31997 +SHA256 (rust/crates/deadpool-0.12.2.crate) = 5ed5957ff93768adf7a65ab167a17835c3d2c3c50d084fe305174c112f468e2f +SIZE (rust/crates/deadpool-0.12.2.crate) = 34422 SHA256 (rust/crates/deadpool-runtime-0.1.4.crate) = 092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b SIZE (rust/crates/deadpool-runtime-0.1.4.crate) = 7664 -SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e -SIZE (rust/crates/deranged-0.4.0.crate) = 23235 +SHA256 (rust/crates/deranged-0.5.2.crate) = 75d7cc94194b4dd0fa12845ef8c911101b7f37633cda14997a6e82099aa0b693 +SIZE (rust/crates/deranged-0.5.2.crate) = 24030 SHA256 (rust/crates/derive-new-0.6.0.crate) = d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad SIZE (rust/crates/derive-new-0.6.0.crate) = 7694 SHA256 (rust/crates/derive-new-0.7.0.crate) = 2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc SIZE (rust/crates/derive-new-0.7.0.crate) = 8831 -SHA256 (rust/crates/derive_arbitrary-1.4.1.crate) = 30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800 -SIZE (rust/crates/derive_arbitrary-1.4.1.crate) = 11521 +SHA256 (rust/crates/derive_arbitrary-1.4.2.crate) = 1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a +SIZE (rust/crates/derive_arbitrary-1.4.2.crate) = 12290 SHA256 (rust/crates/derive_builder-0.20.2.crate) = 507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947 SIZE (rust/crates/derive_builder-0.20.2.crate) = 36661 SHA256 (rust/crates/derive_builder_core-0.20.2.crate) = 2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8 @@ -315,10 +319,10 @@ SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e SIZE (rust/crates/either-1.15.0.crate) = 20114 SHA256 (rust/crates/elasticlunr-rs-3.0.2.crate) = 41e83863a500656dfa214fee6682de9c5b9f03de6860fec531235ed2ae9f6571 SIZE (rust/crates/elasticlunr-rs-3.0.2.crate) = 109533 -SHA256 (rust/crates/embassy-futures-0.1.1.crate) = 1f878075b9794c1e4ac788c95b728f26aa6366d32eeb10c7051389f898f7d067 -SIZE (rust/crates/embassy-futures-0.1.1.crate) = 6671 -SHA256 (rust/crates/embed-resource-3.0.4.crate) = 0963f530273dc3022ab2bdc3fcd6d488e850256f2284a82b7413cb9481ee85dd -SIZE (rust/crates/embed-resource-3.0.4.crate) = 18260 +SHA256 (rust/crates/embassy-futures-0.1.2.crate) = dc2d050bdc5c21e0862a89256ed8029ae6c290a93aecefc73084b3002cdebb01 +SIZE (rust/crates/embassy-futures-0.1.2.crate) = 8773 +SHA256 (rust/crates/embed-resource-3.0.5.crate) = 4c6d81016d6c977deefb2ef8d8290da019e27cc26167e102185da528e6c0ab38 +SIZE (rust/crates/embed-resource-3.0.5.crate) = 18287 SHA256 (rust/crates/encoding_rs-0.8.35.crate) = 75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3 SIZE (rust/crates/encoding_rs-0.8.35.crate) = 1381050 SHA256 (rust/crates/enum-as-inner-0.6.1.crate) = a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc @@ -333,10 +337,10 @@ SHA256 (rust/crates/envy-0.4.2.crate) = 3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c0 SIZE (rust/crates/envy-0.4.2.crate) = 10985 SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f SIZE (rust/crates/equivalent-1.0.2.crate) = 7419 -SHA256 (rust/crates/errno-0.3.12.crate) = cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18 -SIZE (rust/crates/errno-0.3.12.crate) = 12423 -SHA256 (rust/crates/event-listener-5.4.0.crate) = 3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae -SIZE (rust/crates/event-listener-5.4.0.crate) = 43452 +SHA256 (rust/crates/errno-0.3.13.crate) = 778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad +SIZE (rust/crates/errno-0.3.13.crate) = 12449 +SHA256 (rust/crates/event-listener-5.4.1.crate) = e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab +SIZE (rust/crates/event-listener-5.4.1.crate) = 43782 SHA256 (rust/crates/event-listener-strategy-0.5.4.crate) = 8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93 SIZE (rust/crates/event-listener-strategy-0.5.4.crate) = 16179 SHA256 (rust/crates/fallible-iterator-0.3.0.crate) = 2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649 @@ -345,8 +349,8 @@ SHA256 (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 7360491ce676a36bf SIZE (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 9249 SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be SIZE (rust/crates/fastrand-2.3.0.crate) = 15076 -SHA256 (rust/crates/filetime-0.2.25.crate) = 35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586 -SIZE (rust/crates/filetime-0.2.25.crate) = 14940 +SHA256 (rust/crates/filetime-0.2.26.crate) = bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed +SIZE (rust/crates/filetime-0.2.26.crate) = 17273 SHA256 (rust/crates/fixedbitset-0.5.7.crate) = 1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99 SIZE (rust/crates/fixedbitset-0.5.7.crate) = 26537 SHA256 (rust/crates/flate2-1.1.2.crate) = 4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d @@ -375,12 +379,12 @@ 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/foreign-types-shared-0.3.1.crate) = aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b SIZE (rust/crates/foreign-types-shared-0.3.1.crate) = 6006 -SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 -SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969 +SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf +SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347 SHA256 (rust/crates/fsevent-sys-4.1.0.crate) = 76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2 SIZE (rust/crates/fsevent-sys-4.1.0.crate) = 4620 -SHA256 (rust/crates/fsrs-4.1.1.crate) = c1f3a8c3df2c324ebab71461178fe8c1fe2d7373cf603f312b652befd026f06d -SIZE (rust/crates/fsrs-4.1.1.crate) = 87592 +SHA256 (rust/crates/fsrs-5.1.0.crate) = 04954cc67c3c11ee342a2ee1f5222bf76d73f7772df08d37dc9a6cdd73c467eb +SIZE (rust/crates/fsrs-5.1.0.crate) = 89928 SHA256 (rust/crates/futf-0.1.5.crate) = df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843 SIZE (rust/crates/futf-0.1.5.crate) = 11344 SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876 @@ -393,8 +397,8 @@ SHA256 (rust/crates/futures-executor-0.3.31.crate) = 1e28d1d997f585e54aebc3f97d3 SIZE (rust/crates/futures-executor-0.3.31.crate) = 17965 SHA256 (rust/crates/futures-io-0.3.31.crate) = 9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6 SIZE (rust/crates/futures-io-0.3.31.crate) = 9047 -SHA256 (rust/crates/futures-lite-2.6.0.crate) = f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532 -SIZE (rust/crates/futures-lite-2.6.0.crate) = 45157 +SHA256 (rust/crates/futures-lite-2.6.1.crate) = f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad +SIZE (rust/crates/futures-lite-2.6.1.crate) = 46095 SHA256 (rust/crates/futures-macro-0.3.31.crate) = 162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650 SIZE (rust/crates/futures-macro-0.3.31.crate) = 11341 SHA256 (rust/crates/futures-sink-0.3.31.crate) = e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7 @@ -435,8 +439,8 @@ SHA256 (rust/crates/gemm-f64-0.18.2.crate) = 35b2a4f76ce4b8b16eadc11ccf2e083252d SIZE (rust/crates/gemm-f64-0.18.2.crate) = 7199 SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a SIZE (rust/crates/generic-array-0.14.7.crate) = 15950 -SHA256 (rust/crates/getopts-0.2.23.crate) = cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1 -SIZE (rust/crates/getopts-0.2.23.crate) = 21409 +SHA256 (rust/crates/getopts-0.2.24.crate) = cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df +SIZE (rust/crates/getopts-0.2.24.crate) = 21467 SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592 SIZE (rust/crates/getrandom-0.2.16.crate) = 40163 SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4 @@ -445,8 +449,8 @@ SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b SIZE (rust/crates/gimli-0.31.1.crate) = 279515 SHA256 (rust/crates/gl_generator-0.14.0.crate) = 1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d SIZE (rust/crates/gl_generator-0.14.0.crate) = 22330 -SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2 -SIZE (rust/crates/glob-0.3.2.crate) = 22359 +SHA256 (rust/crates/glob-0.3.3.crate) = 0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280 +SIZE (rust/crates/glob-0.3.3.crate) = 22861 SHA256 (rust/crates/globset-0.4.16.crate) = 54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5 SIZE (rust/crates/globset-0.4.16.crate) = 26533 SHA256 (rust/crates/glow-0.16.0.crate) = c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08 @@ -463,10 +467,10 @@ SHA256 (rust/crates/gpu-descriptor-0.3.2.crate) = b89c83349105e3732062a895becfc7 SIZE (rust/crates/gpu-descriptor-0.3.2.crate) = 7943 SHA256 (rust/crates/gpu-descriptor-types-0.2.0.crate) = fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91 SIZE (rust/crates/gpu-descriptor-types-0.2.0.crate) = 2169 -SHA256 (rust/crates/h2-0.3.26.crate) = 81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8 -SIZE (rust/crates/h2-0.3.26.crate) = 168315 -SHA256 (rust/crates/h2-0.4.10.crate) = a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5 -SIZE (rust/crates/h2-0.4.10.crate) = 174800 +SHA256 (rust/crates/h2-0.3.27.crate) = 0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d +SIZE (rust/crates/h2-0.3.27.crate) = 169180 +SHA256 (rust/crates/h2-0.4.12.crate) = f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386 +SIZE (rust/crates/h2-0.4.12.crate) = 176264 SHA256 (rust/crates/half-2.6.0.crate) = 459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9 SIZE (rust/crates/half-2.6.0.crate) = 59507 SHA256 (rust/crates/handlebars-6.3.2.crate) = 759e2d5aea3287cb1190c8ec394f42866cb5bf74fcbf213f354e3c856ea26098 @@ -475,16 +479,12 @@ SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b2 SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265 SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498 -SHA256 (rust/crates/hashbrown-0.15.4.crate) = 5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5 -SIZE (rust/crates/hashbrown-0.15.4.crate) = 140447 +SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1 +SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908 SHA256 (rust/crates/hashlink-0.10.0.crate) = 7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1 SIZE (rust/crates/hashlink-0.10.0.crate) = 29402 -SHA256 (rust/crates/headers-0.3.9.crate) = 06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270 -SIZE (rust/crates/headers-0.3.9.crate) = 68290 SHA256 (rust/crates/headers-0.4.1.crate) = b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb SIZE (rust/crates/headers-0.4.1.crate) = 71105 -SHA256 (rust/crates/headers-core-0.2.0.crate) = e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429 -SIZE (rust/crates/headers-core-0.2.0.crate) = 2380 SHA256 (rust/crates/headers-core-0.3.0.crate) = 54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4 SIZE (rust/crates/headers-core-0.3.0.crate) = 2333 SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea @@ -499,8 +499,8 @@ SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a9 SIZE (rust/crates/hmac-0.12.1.crate) = 42657 SHA256 (rust/crates/html5ever-0.26.0.crate) = bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7 SIZE (rust/crates/html5ever-0.26.0.crate) = 72921 -SHA256 (rust/crates/html5ever-0.31.0.crate) = 953cbbe631aae7fc0a112702ad5d3aaf09da38beaf45ea84610d6e1c358f569c -SIZE (rust/crates/html5ever-0.31.0.crate) = 72775 +SHA256 (rust/crates/html5ever-0.35.0.crate) = 55d958c2f74b664487a2035fe1dadb032c48718a03b63f3ab0b8537db8549ed4 +SIZE (rust/crates/html5ever-0.35.0.crate) = 76142 SHA256 (rust/crates/htmlescape-0.3.1.crate) = e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163 SIZE (rust/crates/htmlescape-0.3.1.crate) = 53226 SHA256 (rust/crates/http-0.2.12.crate) = 601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1 @@ -513,22 +513,24 @@ SHA256 (rust/crates/http-body-1.0.1.crate) = 1efedce1fb8e6913f23e0c92de8e62cd5b7 SIZE (rust/crates/http-body-1.0.1.crate) = 6125 SHA256 (rust/crates/http-body-util-0.1.3.crate) = b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a SIZE (rust/crates/http-body-util-0.1.3.crate) = 16975 +SHA256 (rust/crates/http-range-header-0.4.2.crate) = 9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c +SIZE (rust/crates/http-range-header-0.4.2.crate) = 8545 SHA256 (rust/crates/httparse-1.10.1.crate) = 6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87 SIZE (rust/crates/httparse-1.10.1.crate) = 45190 SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9 SIZE (rust/crates/httpdate-1.0.3.crate) = 10639 SHA256 (rust/crates/hyper-0.14.32.crate) = 41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7 SIZE (rust/crates/hyper-0.14.32.crate) = 199622 -SHA256 (rust/crates/hyper-1.6.0.crate) = cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80 -SIZE (rust/crates/hyper-1.6.0.crate) = 153923 +SHA256 (rust/crates/hyper-1.7.0.crate) = eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e +SIZE (rust/crates/hyper-1.7.0.crate) = 157006 SHA256 (rust/crates/hyper-rustls-0.27.7.crate) = e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58 SIZE (rust/crates/hyper-rustls-0.27.7.crate) = 35435 SHA256 (rust/crates/hyper-tls-0.5.0.crate) = d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905 SIZE (rust/crates/hyper-tls-0.5.0.crate) = 13257 SHA256 (rust/crates/hyper-tls-0.6.0.crate) = 70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0 SIZE (rust/crates/hyper-tls-0.6.0.crate) = 15052 -SHA256 (rust/crates/hyper-util-0.1.14.crate) = dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb -SIZE (rust/crates/hyper-util-0.1.14.crate) = 101462 +SHA256 (rust/crates/hyper-util-0.1.16.crate) = 8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e +SIZE (rust/crates/hyper-util-0.1.16.crate) = 101184 SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8 SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919 SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f @@ -551,14 +553,14 @@ SHA256 (rust/crates/id_tree-1.8.0.crate) = bcd9db8dd5be8bde5a2624ed4b2dfb74368fe SIZE (rust/crates/id_tree-1.8.0.crate) = 30170 SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39 SIZE (rust/crates/ident_case-1.0.1.crate) = 3492 -SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e -SIZE (rust/crates/idna-1.0.3.crate) = 142515 +SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de +SIZE (rust/crates/idna-1.1.0.crate) = 148747 SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344 SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389 SHA256 (rust/crates/ignore-0.4.23.crate) = 6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b SIZE (rust/crates/ignore-0.4.23.crate) = 55901 -SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e -SIZE (rust/crates/indexmap-2.9.0.crate) = 91214 +SHA256 (rust/crates/indexmap-2.11.0.crate) = f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9 +SIZE (rust/crates/indexmap-2.11.0.crate) = 99851 SHA256 (rust/crates/indoc-2.0.6.crate) = f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd SIZE (rust/crates/indoc-2.0.6.crate) = 17164 SHA256 (rust/crates/inflections-1.1.1.crate) = a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a @@ -571,6 +573,8 @@ SHA256 (rust/crates/intl-memoizer-0.5.3.crate) = 310da2e345f5eb861e7a07ee182262e SIZE (rust/crates/intl-memoizer-0.5.3.crate) = 12171 SHA256 (rust/crates/intl_pluralrules-7.0.2.crate) = 078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972 SIZE (rust/crates/intl_pluralrules-7.0.2.crate) = 9201 +SHA256 (rust/crates/io-uring-0.7.10.crate) = 046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b +SIZE (rust/crates/io-uring-0.7.10.crate) = 103070 SHA256 (rust/crates/ipnet-2.11.0.crate) = 469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130 SIZE (rust/crates/ipnet-2.11.0.crate) = 29718 SHA256 (rust/crates/iri-string-0.7.8.crate) = dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2 @@ -591,8 +595,8 @@ SHA256 (rust/crates/jiff-static-0.2.15.crate) = 03343451ff899767262ec32146f6d559 SIZE (rust/crates/jiff-static-0.2.15.crate) = 76146 SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130 SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232 -SHA256 (rust/crates/jobserver-0.1.33.crate) = 38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a -SIZE (rust/crates/jobserver-0.1.33.crate) = 29136 +SHA256 (rust/crates/jobserver-0.1.34.crate) = 9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33 +SIZE (rust/crates/jobserver-0.1.34.crate) = 29013 SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f SIZE (rust/crates/js-sys-0.3.77.crate) = 55538 SHA256 (rust/crates/junction-1.2.0.crate) = 72bbdfd737a243da3dfc1f99ee8d6e166480f17ab4ac84d7c34aacd73fc7bd16 @@ -607,16 +611,16 @@ SHA256 (rust/crates/kqueue-sys-1.0.4.crate) = ed9625ffda8729b85e45cf04090035ac36 SIZE (rust/crates/kqueue-sys-1.0.4.crate) = 7160 SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025 -SHA256 (rust/crates/libc-0.2.173.crate) = d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb -SIZE (rust/crates/libc-0.2.173.crate) = 777353 +SHA256 (rust/crates/libc-0.2.175.crate) = 6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543 +SIZE (rust/crates/libc-0.2.175.crate) = 788728 SHA256 (rust/crates/libc-stdhandle-0.1.0.crate) = 6dac2473dc28934c5e0b82250dab231c9d3b94160d91fe9ff483323b05797551 SIZE (rust/crates/libc-stdhandle-0.1.0.crate) = 2254 SHA256 (rust/crates/libloading-0.8.8.crate) = 07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667 SIZE (rust/crates/libloading-0.8.8.crate) = 31345 SHA256 (rust/crates/libm-0.2.15.crate) = f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de SIZE (rust/crates/libm-0.2.15.crate) = 156108 -SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d -SIZE (rust/crates/libredox-0.1.3.crate) = 6068 +SHA256 (rust/crates/libredox-0.1.9.crate) = 391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3 +SIZE (rust/crates/libredox-0.1.9.crate) = 7281 SHA256 (rust/crates/libsqlite3-sys-0.34.0.crate) = 91632f3b4fb6bd1d72aa3d78f41ffecfcf2b1a6648d8c241dbe7dbfaf4875e15 SIZE (rust/crates/libsqlite3-sys-0.34.0.crate) = 5184526 SHA256 (rust/crates/libz-rs-sys-0.5.1.crate) = 172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221 @@ -627,8 +631,8 @@ SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a17 SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088 SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956 SIZE (rust/crates/litemap-0.8.0.crate) = 34344 -SHA256 (rust/crates/litrs-0.4.1.crate) = b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5 -SIZE (rust/crates/litrs-0.4.1.crate) = 42603 +SHA256 (rust/crates/litrs-0.4.2.crate) = f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed +SIZE (rust/crates/litrs-0.4.2.crate) = 43399 SHA256 (rust/crates/lock_api-0.4.13.crate) = 96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765 SIZE (rust/crates/lock_api-0.4.13.crate) = 28565 SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94 @@ -639,24 +643,24 @@ SHA256 (rust/crates/lzma-sys-0.1.20.crate) = 5fda04ab3764e6cde78b9974eec4f779aca SIZE (rust/crates/lzma-sys-0.1.20.crate) = 760045 SHA256 (rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4 SIZE (rust/crates/mac-0.1.1.crate) = 4838 -SHA256 (rust/crates/macerator-0.2.8.crate) = bce07f822458c4c303081d133a90610406162e7c8df17434956ac1892faf447b -SIZE (rust/crates/macerator-0.2.8.crate) = 30387 -SHA256 (rust/crates/macerator-macros-0.1.2.crate) = a2b955a106dca78c0577269d67a6d56114abb8644b810fc995a22348276bb9dd -SIZE (rust/crates/macerator-macros-0.1.2.crate) = 4259 +SHA256 (rust/crates/macerator-0.2.9.crate) = 8ac9c19702c37bae1a53d130a326b1c4f58cb17d472538cf547d44b46dbbe3aa +SIZE (rust/crates/macerator-0.2.9.crate) = 31432 +SHA256 (rust/crates/macerator-macros-0.1.3.crate) = 8cd48b535b9b37a25a2589ab8d4f997886a2c68f59960ce06588525f38dd4944 +SIZE (rust/crates/macerator-macros-0.1.3.crate) = 4402 SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239 SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d SIZE (rust/crates/maplit-1.0.2.crate) = 8871 SHA256 (rust/crates/markup5ever-0.11.0.crate) = 7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016 SIZE (rust/crates/markup5ever-0.11.0.crate) = 34667 -SHA256 (rust/crates/markup5ever-0.16.1.crate) = d0a8096766c229e8c88a3900c9b44b7e06aa7f7343cc229158c3e58ef8f9973a -SIZE (rust/crates/markup5ever-0.16.1.crate) = 18706 +SHA256 (rust/crates/markup5ever-0.35.0.crate) = 311fe69c934650f8f19652b3946075f0fc41ad8757dbb68f1ca14e7900ecc1c3 +SIZE (rust/crates/markup5ever-0.35.0.crate) = 15883 SHA256 (rust/crates/markup5ever_rcdom-0.2.0.crate) = b9521dd6750f8e80ee6c53d65e2e4656d7de37064f3a7a5d2d11d05df93839c2 SIZE (rust/crates/markup5ever_rcdom-0.2.0.crate) = 222948 -SHA256 (rust/crates/match_token-0.1.0.crate) = 88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b -SIZE (rust/crates/match_token-0.1.0.crate) = 4903 -SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558 -SIZE (rust/crates/matchers-0.1.0.crate) = 6948 +SHA256 (rust/crates/match_token-0.35.0.crate) = ac84fd3f360fcc43dc5f5d186f02a94192761a080e8bc58621ad4d12296a58cf +SIZE (rust/crates/match_token-0.35.0.crate) = 4570 +SHA256 (rust/crates/matchers-0.2.0.crate) = d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9 +SIZE (rust/crates/matchers-0.2.0.crate) = 7075 SHA256 (rust/crates/matches-0.1.10.crate) = 2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5 SIZE (rust/crates/matches-0.1.10.crate) = 2592 SHA256 (rust/crates/matchit-0.8.4.crate) = 47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3 @@ -665,12 +669,12 @@ SHA256 (rust/crates/matrixmultiply-0.3.10.crate) = a06de3016e9fae57a36fd14dba131 SIZE (rust/crates/matrixmultiply-0.3.10.crate) = 58170 SHA256 (rust/crates/md5-0.7.0.crate) = 490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771 SIZE (rust/crates/md5-0.7.0.crate) = 6671 -SHA256 (rust/crates/mdbook-0.4.51.crate) = a87e65420ab45ca9c1b8cdf698f95b710cc826d373fa550f0f7fad82beac9328 -SIZE (rust/crates/mdbook-0.4.51.crate) = 1505997 +SHA256 (rust/crates/mdbook-0.4.52.crate) = 93c284d2855916af7c5919cf9ad897cfc77d3c2db6f55429c7cfb769182030ec +SIZE (rust/crates/mdbook-0.4.52.crate) = 1514003 SHA256 (rust/crates/memchr-2.7.5.crate) = 32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0 SIZE (rust/crates/memchr-2.7.5.crate) = 97603 -SHA256 (rust/crates/memmap2-0.9.5.crate) = fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f -SIZE (rust/crates/memmap2-0.9.5.crate) = 33280 +SHA256 (rust/crates/memmap2-0.9.8.crate) = 843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7 +SIZE (rust/crates/memmap2-0.9.8.crate) = 34478 SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a SIZE (rust/crates/memoffset-0.9.1.crate) = 9032 SHA256 (rust/crates/metal-0.31.0.crate) = f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e @@ -685,8 +689,8 @@ SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d632 SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132 SHA256 (rust/crates/mio-1.0.4.crate) = 78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c SIZE (rust/crates/mio-1.0.4.crate) = 104212 -SHA256 (rust/crates/moddef-0.2.6.crate) = 4e519fd9c6131c1c9a4a67f8bdc4f32eb4105b16c1468adea1b8e68c98c85ec4 -SIZE (rust/crates/moddef-0.2.6.crate) = 5286 +SHA256 (rust/crates/moddef-0.3.0.crate) = 4a0b3262dc837d2513fe2ef31ff8461352ef932dcca31ba0c0abe33547cf6b9b +SIZE (rust/crates/moddef-0.3.0.crate) = 7659 SHA256 (rust/crates/multer-3.1.0.crate) = 83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b SIZE (rust/crates/multer-3.1.0.crate) = 25980 SHA256 (rust/crates/multimap-0.10.1.crate) = 1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084 @@ -707,16 +711,16 @@ SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b11053 SIZE (rust/crates/nom-8.0.0.crate) = 135590 SHA256 (rust/crates/normpath-1.3.0.crate) = c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed SIZE (rust/crates/normpath-1.3.0.crate) = 20719 -SHA256 (rust/crates/notify-8.0.0.crate) = 2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943 -SIZE (rust/crates/notify-8.0.0.crate) = 35590 +SHA256 (rust/crates/notify-8.2.0.crate) = 4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3 +SIZE (rust/crates/notify-8.2.0.crate) = 39067 SHA256 (rust/crates/notify-debouncer-mini-0.6.0.crate) = a689eb4262184d9a1727f9087cd03883ea716682ab03ed24efec57d7716dccb8 SIZE (rust/crates/notify-debouncer-mini-0.6.0.crate) = 9951 SHA256 (rust/crates/notify-types-2.0.0.crate) = 5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d SIZE (rust/crates/notify-types-2.0.0.crate) = 14495 SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4 SIZE (rust/crates/ntapi-0.4.1.crate) = 126552 -SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84 -SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311 +SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399 +SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536 SHA256 (rust/crates/num-0.4.3.crate) = 35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23 SIZE (rust/crates/num-0.4.3.crate) = 9575 SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9 @@ -741,10 +745,10 @@ SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0 SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 SHA256 (rust/crates/num_cpus-1.17.0.crate) = 91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b SIZE (rust/crates/num_cpus-1.17.0.crate) = 15874 -SHA256 (rust/crates/num_enum-0.7.3.crate) = 4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179 -SIZE (rust/crates/num_enum-0.7.3.crate) = 18603 -SHA256 (rust/crates/num_enum_derive-0.7.3.crate) = af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56 -SIZE (rust/crates/num_enum_derive-0.7.3.crate) = 17092 +SHA256 (rust/crates/num_enum-0.7.4.crate) = a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a +SIZE (rust/crates/num_enum-0.7.4.crate) = 21553 +SHA256 (rust/crates/num_enum_derive-0.7.4.crate) = 77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d +SIZE (rust/crates/num_enum_derive-0.7.4.crate) = 18167 SHA256 (rust/crates/nvml-wrapper-0.10.0.crate) = 0c9bff0aa1d48904a1385ea2a8b97576fbdcbc9a3cfccd0d31fe978e1c4038c5 SIZE (rust/crates/nvml-wrapper-0.10.0.crate) = 77841 SHA256 (rust/crates/nvml-wrapper-sys-0.8.0.crate) = 698d45156f28781a4e79652b6ebe2eaa0589057d588d3aec1333f6466f13fcb5 @@ -775,8 +779,6 @@ SHA256 (rust/crates/ordered-float-2.10.1.crate) = 68f19d67e5a2795c94e73e0bb1cc1a SIZE (rust/crates/ordered-float-2.10.1.crate) = 16029 SHA256 (rust/crates/ordered-float-4.6.0.crate) = 7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951 SIZE (rust/crates/ordered-float-4.6.0.crate) = 23633 -SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39 -SIZE (rust/crates/overload-0.1.1.crate) = 24439 SHA256 (rust/crates/parking-2.2.1.crate) = f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba SIZE (rust/crates/parking-2.2.1.crate) = 10685 SHA256 (rust/crates/parking_lot-0.12.4.crate) = 70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13 @@ -791,8 +793,8 @@ SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d SIZE (rust/crates/pathdiff-0.2.3.crate) = 7495 SHA256 (rust/crates/pbkdf2-0.12.2.crate) = f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2 SIZE (rust/crates/pbkdf2-0.12.2.crate) = 13906 -SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e -SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 +SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220 +SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583 SHA256 (rust/crates/pest-2.8.1.crate) = 1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323 SIZE (rust/crates/pest-2.8.1.crate) = 128906 SHA256 (rust/crates/pest_derive-2.8.1.crate) = bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc @@ -841,8 +843,8 @@ SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433 SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506 SHA256 (rust/crates/portable-atomic-util-0.2.4.crate) = d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507 SIZE (rust/crates/portable-atomic-util-0.2.4.crate) = 47043 -SHA256 (rust/crates/potential_utf-0.1.2.crate) = e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585 -SIZE (rust/crates/potential_utf-0.1.2.crate) = 9613 +SHA256 (rust/crates/potential_utf-0.1.3.crate) = 84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a +SIZE (rust/crates/potential_utf-0.1.3.crate) = 9698 SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391 SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165 SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9 @@ -851,18 +853,18 @@ SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9 SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640 SHA256 (rust/crates/presser-0.3.1.crate) = e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa SIZE (rust/crates/presser-0.3.1.crate) = 20946 -SHA256 (rust/crates/prettyplease-0.2.34.crate) = 6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55 -SIZE (rust/crates/prettyplease-0.2.34.crate) = 71832 +SHA256 (rust/crates/prettyplease-0.2.37.crate) = 479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b +SIZE (rust/crates/prettyplease-0.2.37.crate) = 72033 SHA256 (rust/crates/priority-queue-2.5.0.crate) = 5676d703dda103cbb035b653a9f11448c0a7216c7926bd35fcb5865475d0c970 SIZE (rust/crates/priority-queue-2.5.0.crate) = 49045 SHA256 (rust/crates/proc-macro-crate-3.3.0.crate) = edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35 SIZE (rust/crates/proc-macro-crate-3.3.0.crate) = 12432 SHA256 (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068 SIZE (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = 15045 -SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778 -SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820 -SHA256 (rust/crates/profiling-1.0.16.crate) = afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d -SIZE (rust/crates/profiling-1.0.16.crate) = 12588 +SHA256 (rust/crates/proc-macro2-1.0.101.crate) = 89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de +SIZE (rust/crates/proc-macro2-1.0.101.crate) = 53886 +SHA256 (rust/crates/profiling-1.0.17.crate) = 3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773 +SIZE (rust/crates/profiling-1.0.17.crate) = 13493 SHA256 (rust/crates/prost-0.13.5.crate) = 2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5 SIZE (rust/crates/prost-0.13.5.crate) = 32469 SHA256 (rust/crates/prost-build-0.13.5.crate) = be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf @@ -897,20 +899,20 @@ SHA256 (rust/crates/pyo3-macros-0.25.1.crate) = a8725c0a622b374d6cb051d11a098378 SIZE (rust/crates/pyo3-macros-0.25.1.crate) = 8886 SHA256 (rust/crates/pyo3-macros-backend-0.25.1.crate) = 4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc SIZE (rust/crates/pyo3-macros-backend-0.25.1.crate) = 76006 -SHA256 (rust/crates/quinn-0.11.8.crate) = 626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8 -SIZE (rust/crates/quinn-0.11.8.crate) = 79949 -SHA256 (rust/crates/quinn-proto-0.11.12.crate) = 49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e -SIZE (rust/crates/quinn-proto-0.11.12.crate) = 235821 -SHA256 (rust/crates/quinn-udp-0.5.12.crate) = ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842 -SIZE (rust/crates/quinn-udp-0.5.12.crate) = 31825 +SHA256 (rust/crates/quinn-0.11.9.crate) = b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20 +SIZE (rust/crates/quinn-0.11.9.crate) = 83606 +SHA256 (rust/crates/quinn-proto-0.11.13.crate) = f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31 +SIZE (rust/crates/quinn-proto-0.11.13.crate) = 243837 +SHA256 (rust/crates/quinn-udp-0.5.14.crate) = addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd +SIZE (rust/crates/quinn-udp-0.5.14.crate) = 33436 SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d SIZE (rust/crates/quote-1.0.40.crate) = 31063 -SHA256 (rust/crates/r-efi-5.2.0.crate) = 74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5 -SIZE (rust/crates/r-efi-5.2.0.crate) = 64764 +SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f +SIZE (rust/crates/r-efi-5.3.0.crate) = 64532 SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 SIZE (rust/crates/rand-0.8.5.crate) = 87113 -SHA256 (rust/crates/rand-0.9.1.crate) = 9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97 -SIZE (rust/crates/rand-0.9.1.crate) = 97986 +SHA256 (rust/crates/rand-0.9.2.crate) = 6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1 +SIZE (rust/crates/rand-0.9.2.crate) = 99930 SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251 SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb @@ -931,36 +933,32 @@ SHA256 (rust/crates/raw-window-handle-0.6.2.crate) = 20675572f6f24e9e76ef639bc55 SIZE (rust/crates/raw-window-handle-0.6.2.crate) = 20234 SHA256 (rust/crates/rawpointer-0.2.1.crate) = 60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3 SIZE (rust/crates/rawpointer-0.2.1.crate) = 7490 -SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa -SIZE (rust/crates/rayon-1.10.0.crate) = 180155 -SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2 -SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701 +SHA256 (rust/crates/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f +SIZE (rust/crates/rayon-1.11.0.crate) = 182470 +SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91 +SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151 SHA256 (rust/crates/reborrow-0.5.5.crate) = 03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430 SIZE (rust/crates/reborrow-0.5.5.crate) = 3789 -SHA256 (rust/crates/redox_syscall-0.5.13.crate) = 0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6 -SIZE (rust/crates/redox_syscall-0.5.13.crate) = 29489 +SHA256 (rust/crates/redox_syscall-0.5.17.crate) = 5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77 +SIZE (rust/crates/redox_syscall-0.5.17.crate) = 30002 SHA256 (rust/crates/redox_users-0.4.6.crate) = ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43 SIZE (rust/crates/redox_users-0.4.6.crate) = 15585 -SHA256 (rust/crates/redox_users-0.5.0.crate) = dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b -SIZE (rust/crates/redox_users-0.5.0.crate) = 15586 -SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191 -SIZE (rust/crates/regex-1.11.1.crate) = 254170 -SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132 -SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533 -SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908 -SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525 -SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1 -SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752 -SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c -SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541 +SHA256 (rust/crates/redox_users-0.5.2.crate) = a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac +SIZE (rust/crates/redox_users-0.5.2.crate) = 17280 +SHA256 (rust/crates/regex-1.11.2.crate) = 23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912 +SIZE (rust/crates/regex-1.11.2.crate) = 166265 +SHA256 (rust/crates/regex-automata-0.4.10.crate) = 6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6 +SIZE (rust/crates/regex-automata-0.4.10.crate) = 622754 +SHA256 (rust/crates/regex-syntax-0.8.6.crate) = caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001 +SIZE (rust/crates/regex-syntax-0.8.6.crate) = 358808 SHA256 (rust/crates/relative-path-1.9.3.crate) = ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2 SIZE (rust/crates/relative-path-1.9.3.crate) = 22400 SHA256 (rust/crates/renderdoc-sys-1.1.0.crate) = 19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832 SIZE (rust/crates/renderdoc-sys-1.1.0.crate) = 10366 SHA256 (rust/crates/reqwest-0.11.27.crate) = dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62 SIZE (rust/crates/reqwest-0.11.27.crate) = 163155 -SHA256 (rust/crates/reqwest-0.12.20.crate) = eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813 -SIZE (rust/crates/reqwest-0.12.20.crate) = 199843 +SHA256 (rust/crates/reqwest-0.12.23.crate) = d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb +SIZE (rust/crates/reqwest-0.12.23.crate) = 161307 SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7 SIZE (rust/crates/ring-0.17.14.crate) = 1502610 SHA256 (rust/crates/rmp-0.8.14.crate) = 228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4 @@ -973,18 +971,18 @@ SHA256 (rust/crates/rstest_macros-0.25.0.crate) = 1f168d99749d307be9de54d23fd226 SIZE (rust/crates/rstest_macros-0.25.0.crate) = 70557 SHA256 (rust/crates/rusqlite-0.36.0.crate) = 3de23c3319433716cf134eed225fe9986bc24f63bed9be9f20c329029e672dc7 SIZE (rust/crates/rusqlite-0.36.0.crate) = 169800 -SHA256 (rust/crates/rustc-demangle-0.1.25.crate) = 989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f -SIZE (rust/crates/rustc-demangle-0.1.25.crate) = 29590 +SHA256 (rust/crates/rustc-demangle-0.1.26.crate) = 56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace +SIZE (rust/crates/rustc-demangle-0.1.26.crate) = 30340 SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331 SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154 SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92 SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245 -SHA256 (rust/crates/rustix-1.0.7.crate) = c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266 -SIZE (rust/crates/rustix-1.0.7.crate) = 414500 -SHA256 (rust/crates/rustls-0.23.28.crate) = 7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643 -SIZE (rust/crates/rustls-0.23.28.crate) = 365699 +SHA256 (rust/crates/rustix-1.0.8.crate) = 11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8 +SIZE (rust/crates/rustix-1.0.8.crate) = 416688 +SHA256 (rust/crates/rustls-0.23.31.crate) = c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc +SIZE (rust/crates/rustls-0.23.31.crate) = 371259 SHA256 (rust/crates/rustls-native-certs-0.8.1.crate) = 7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3 SIZE (rust/crates/rustls-native-certs-0.8.1.crate) = 31129 SHA256 (rust/crates/rustls-pemfile-1.0.4.crate) = 1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c @@ -993,10 +991,10 @@ SHA256 (rust/crates/rustls-pemfile-2.2.0.crate) = dce314e5fee3f39953d46bb63bb8a4 SIZE (rust/crates/rustls-pemfile-2.2.0.crate) = 25849 SHA256 (rust/crates/rustls-pki-types-1.12.0.crate) = 229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79 SIZE (rust/crates/rustls-pki-types-1.12.0.crate) = 64740 -SHA256 (rust/crates/rustls-webpki-0.103.3.crate) = e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435 -SIZE (rust/crates/rustls-webpki-0.103.3.crate) = 81840 -SHA256 (rust/crates/rustversion-1.0.21.crate) = 8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d -SIZE (rust/crates/rustversion-1.0.21.crate) = 21001 +SHA256 (rust/crates/rustls-webpki-0.103.4.crate) = 0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc +SIZE (rust/crates/rustls-webpki-0.103.4.crate) = 84241 +SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d +SIZE (rust/crates/rustversion-1.0.22.crate) = 21096 SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f SIZE (rust/crates/ryu-1.0.20.crate) = 48738 SHA256 (rust/crates/safetensors-0.4.5.crate) = 44560c11236a6130a46ce36c836a62936dc81ebf8c36a37947423571be0e55b6 @@ -1009,14 +1007,12 @@ SHA256 (rust/crates/sanitize-filename-0.6.0.crate) = bc984f4f9ceb736a7bb755c3e3b SIZE (rust/crates/sanitize-filename-0.6.0.crate) = 4819 SHA256 (rust/crates/schannel-0.1.27.crate) = 1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d SIZE (rust/crates/schannel-0.1.27.crate) = 42772 -SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 -SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202 SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 SHA256 (rust/crates/security-framework-2.11.1.crate) = 897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02 SIZE (rust/crates/security-framework-2.11.1.crate) = 80188 -SHA256 (rust/crates/security-framework-3.2.0.crate) = 271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316 -SIZE (rust/crates/security-framework-3.2.0.crate) = 86095 +SHA256 (rust/crates/security-framework-3.3.0.crate) = 80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c +SIZE (rust/crates/security-framework-3.3.0.crate) = 86425 SHA256 (rust/crates/security-framework-sys-2.14.0.crate) = 49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32 SIZE (rust/crates/security-framework-sys-2.14.0.crate) = 20537 SHA256 (rust/crates/self_cell-1.2.0.crate) = 0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749 @@ -1035,18 +1031,18 @@ SHA256 (rust/crates/serde_bytes-0.11.17.crate) = 8437fd221bde2d4ca316d61b90e337e SIZE (rust/crates/serde_bytes-0.11.17.crate) = 13256 SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00 SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798 -SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373 -SIZE (rust/crates/serde_json-1.0.140.crate) = 154852 +SHA256 (rust/crates/serde_json-1.0.143.crate) = d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a +SIZE (rust/crates/serde_json-1.0.143.crate) = 155342 SHA256 (rust/crates/serde_path_to_error-0.1.17.crate) = 59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a SIZE (rust/crates/serde_path_to_error-0.1.17.crate) = 17662 SHA256 (rust/crates/serde_repr-0.1.20.crate) = 175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c SIZE (rust/crates/serde_repr-0.1.20.crate) = 12627 -SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3 -SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210 -SHA256 (rust/crates/serde_tuple-1.1.0.crate) = f0f9b739e59a0e07b7a73bc11c3dcd6abf790d0f54042b67a422d4bd1f6cf6c0 -SIZE (rust/crates/serde_tuple-1.1.0.crate) = 4141 -SHA256 (rust/crates/serde_tuple_macros-1.0.1.crate) = 9e87546e85c5047d03b454d12ee25266fc269a461a4029956ca58d246b9aefae -SIZE (rust/crates/serde_tuple_macros-1.0.1.crate) = 3098 +SHA256 (rust/crates/serde_spanned-1.0.0.crate) = 40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83 +SIZE (rust/crates/serde_spanned-1.0.0.crate) = 10956 +SHA256 (rust/crates/serde_tuple-1.1.2.crate) = 52569c5296679bd28e2457f067f97d270077df67da0340647da5412c8eac8d9e +SIZE (rust/crates/serde_tuple-1.1.2.crate) = 9933 +SHA256 (rust/crates/serde_tuple_macros-1.1.2.crate) = 2f46c707781471741d5f2670edb36476479b26e94cf43efe21ca3c220b97ef2e +SIZE (rust/crates/serde_tuple_macros-1.1.2.crate) = 4083 SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822 SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba @@ -1057,28 +1053,30 @@ SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e82 SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 SIZE (rust/crates/shlex-1.3.0.crate) = 18713 -SHA256 (rust/crates/signal-hook-registry-1.4.5.crate) = 9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410 -SIZE (rust/crates/signal-hook-registry-1.4.5.crate) = 19004 +SHA256 (rust/crates/signal-hook-registry-1.4.6.crate) = b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b +SIZE (rust/crates/signal-hook-registry-1.4.6.crate) = 19277 SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086 SHA256 (rust/crates/siphasher-0.3.11.crate) = 38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d SIZE (rust/crates/siphasher-0.3.11.crate) = 10442 SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d SIZE (rust/crates/siphasher-1.0.1.crate) = 10351 -SHA256 (rust/crates/slab-0.4.10.crate) = 04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d -SIZE (rust/crates/slab-0.4.10.crate) = 17810 +SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589 +SIZE (rust/crates/slab-0.4.11.crate) = 18549 SHA256 (rust/crates/slotmap-1.0.7.crate) = dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a SIZE (rust/crates/slotmap-1.0.7.crate) = 61390 SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03 SIZE (rust/crates/smallvec-1.15.1.crate) = 38116 -SHA256 (rust/crates/snafu-0.8.6.crate) = 320b01e011bf8d5d7a4a4a4be966d9160968935849c83b918827f6a435e7f627 -SIZE (rust/crates/snafu-0.8.6.crate) = 73472 -SHA256 (rust/crates/snafu-derive-0.8.6.crate) = 1961e2ef424c1424204d3a5d6975f934f56b6d50ff5732382d84ebf460e147f7 -SIZE (rust/crates/snafu-derive-0.8.6.crate) = 29444 +SHA256 (rust/crates/snafu-0.8.8.crate) = 4800ae0e2ebdfaea32ffb9745642acdc378740dcbd74d3fb3cd87572a34810c6 +SIZE (rust/crates/snafu-0.8.8.crate) = 73977 +SHA256 (rust/crates/snafu-derive-0.8.8.crate) = 186f5ba9999528053fb497fdf0dd330efcc69cfe4ad03776c9d704bc54fee10f +SIZE (rust/crates/snafu-derive-0.8.8.crate) = 29484 SHA256 (rust/crates/snowflake-1.3.0.crate) = 27207bb65232eda1f588cf46db2fee75c0808d557f6b3cf19a75f5d6d7c94df1 SIZE (rust/crates/snowflake-1.3.0.crate) = 8073 SHA256 (rust/crates/socket2-0.5.10.crate) = e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678 SIZE (rust/crates/socket2-0.5.10.crate) = 58169 +SHA256 (rust/crates/socket2-0.6.0.crate) = 233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807 +SIZE (rust/crates/socket2-0.6.0.crate) = 57974 SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67 SIZE (rust/crates/spin-0.9.8.crate) = 38958 SHA256 (rust/crates/spin-0.10.0.crate) = d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591 @@ -1097,18 +1095,18 @@ SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3 SIZE (rust/crates/strsim-0.11.1.crate) = 14266 SHA256 (rust/crates/strum-0.26.3.crate) = 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06 SIZE (rust/crates/strum-0.26.3.crate) = 7237 -SHA256 (rust/crates/strum-0.27.1.crate) = f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32 -SIZE (rust/crates/strum-0.27.1.crate) = 7467 +SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf +SIZE (rust/crates/strum-0.27.2.crate) = 8489 SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531 -SHA256 (rust/crates/strum_macros-0.27.1.crate) = c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8 -SIZE (rust/crates/strum_macros-0.27.1.crate) = 29670 +SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7 +SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522 SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292 SIZE (rust/crates/subtle-2.6.1.crate) = 14562 SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 SIZE (rust/crates/syn-1.0.109.crate) = 237611 -SHA256 (rust/crates/syn-2.0.103.crate) = e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8 -SIZE (rust/crates/syn-2.0.103.crate) = 298990 +SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6 +SIZE (rust/crates/syn-2.0.106.crate) = 301514 SHA256 (rust/crates/sync_wrapper-0.1.2.crate) = 2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160 SIZE (rust/crates/sync_wrapper-0.1.2.crate) = 6933 SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263 @@ -1125,70 +1123,74 @@ SHA256 (rust/crates/system-configuration-0.5.1.crate) = ba3a3adc5c275d719af8cb42 SIZE (rust/crates/system-configuration-0.5.1.crate) = 12618 SHA256 (rust/crates/system-configuration-sys-0.5.0.crate) = a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9 SIZE (rust/crates/system-configuration-sys-0.5.0.crate) = 6730 -SHA256 (rust/crates/systemstat-0.2.4.crate) = 668a4db78b439df482c238f559e4ea869017f9e62ef0a059c8bfcd841a4df544 -SIZE (rust/crates/systemstat-0.2.4.crate) = 34927 +SHA256 (rust/crates/systemstat-0.2.5.crate) = 5021f5184d44b26fb184acd689671bbe1e4bbd24bbdaa6bc7ec383fad32d2033 +SIZE (rust/crates/systemstat-0.2.5.crate) = 34942 SHA256 (rust/crates/tar-0.4.44.crate) = 1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a SIZE (rust/crates/tar-0.4.44.crate) = 61020 SHA256 (rust/crates/target-lexicon-0.13.2.crate) = e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a SIZE (rust/crates/target-lexicon-0.13.2.crate) = 27923 -SHA256 (rust/crates/tempfile-3.20.0.crate) = e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1 -SIZE (rust/crates/tempfile-3.20.0.crate) = 42306 +SHA256 (rust/crates/tempfile-3.21.0.crate) = 15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e +SIZE (rust/crates/tempfile-3.21.0.crate) = 42581 SHA256 (rust/crates/tendril-0.4.3.crate) = d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0 SIZE (rust/crates/tendril-0.4.3.crate) = 37210 SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755 SIZE (rust/crates/termcolor-1.4.1.crate) = 18773 -SHA256 (rust/crates/terminal_size-0.4.2.crate) = 45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed -SIZE (rust/crates/terminal_size-0.4.2.crate) = 9976 +SHA256 (rust/crates/terminal_size-0.4.3.crate) = 60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0 +SIZE (rust/crates/terminal_size-0.4.3.crate) = 10686 SHA256 (rust/crates/text_placeholder-0.5.1.crate) = dd5008f74a09742486ef0047596cf35df2b914e2a8dca5727fcb6ba6842a766b SIZE (rust/crates/text_placeholder-0.5.1.crate) = 7744 SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52 SIZE (rust/crates/thiserror-1.0.69.crate) = 22198 -SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708 -SIZE (rust/crates/thiserror-2.0.12.crate) = 28693 +SHA256 (rust/crates/thiserror-2.0.16.crate) = 3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0 +SIZE (rust/crates/thiserror-2.0.16.crate) = 29095 SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1 SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365 -SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d -SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141 +SHA256 (rust/crates/thiserror-impl-2.0.16.crate) = 6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960 +SIZE (rust/crates/thiserror-impl-2.0.16.crate) = 21214 SHA256 (rust/crates/thread-tree-0.3.3.crate) = ffbd370cb847953a25954d9f63e14824a36113f8c72eecf6eccef5dc4b45d630 SIZE (rust/crates/thread-tree-0.3.3.crate) = 12263 SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185 SIZE (rust/crates/thread_local-1.1.9.crate) = 19315 -SHA256 (rust/crates/time-0.3.41.crate) = 8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40 -SIZE (rust/crates/time-0.3.41.crate) = 138369 -SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c -SIZE (rust/crates/time-core-0.1.4.crate) = 8422 -SHA256 (rust/crates/time-macros-0.2.22.crate) = 3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49 -SIZE (rust/crates/time-macros-0.2.22.crate) = 24604 +SHA256 (rust/crates/time-0.3.42.crate) = 8ca967379f9d8eb8058d86ed467d81d03e81acd45757e4ca341c24affbe8e8e3 +SIZE (rust/crates/time-0.3.42.crate) = 142370 +SHA256 (rust/crates/time-core-0.1.5.crate) = a9108bb380861b07264b950ded55a44a14a4adc68b9f5efd85aafc3aa4d40a68 +SIZE (rust/crates/time-core-0.1.5.crate) = 9110 +SHA256 (rust/crates/time-macros-0.2.23.crate) = 7182799245a7264ce590b349d90338f1c1affad93d2639aed5f8f69c090b334c +SIZE (rust/crates/time-macros-0.2.23.crate) = 24713 SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b SIZE (rust/crates/tinystr-0.8.1.crate) = 23333 SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490 -SHA256 (rust/crates/tinyvec-1.9.0.crate) = 09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71 -SIZE (rust/crates/tinyvec-1.9.0.crate) = 54137 +SHA256 (rust/crates/tinyvec-1.10.0.crate) = bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa +SIZE (rust/crates/tinyvec-1.10.0.crate) = 51996 SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 -SHA256 (rust/crates/tokio-1.45.1.crate) = 75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779 -SIZE (rust/crates/tokio-1.45.1.crate) = 811787 +SHA256 (rust/crates/tokio-1.47.1.crate) = 89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038 +SIZE (rust/crates/tokio-1.47.1.crate) = 829790 SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8 SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617 SHA256 (rust/crates/tokio-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2 SIZE (rust/crates/tokio-native-tls-0.3.1.crate) = 20676 SHA256 (rust/crates/tokio-rustls-0.26.2.crate) = 8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b SIZE (rust/crates/tokio-rustls-0.26.2.crate) = 31655 -SHA256 (rust/crates/tokio-tungstenite-0.21.0.crate) = c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38 -SIZE (rust/crates/tokio-tungstenite-0.21.0.crate) = 28159 -SHA256 (rust/crates/tokio-util-0.7.15.crate) = 66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df -SIZE (rust/crates/tokio-util-0.7.15.crate) = 124255 +SHA256 (rust/crates/tokio-tungstenite-0.26.2.crate) = 7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084 +SIZE (rust/crates/tokio-tungstenite-0.26.2.crate) = 29868 +SHA256 (rust/crates/tokio-util-0.7.16.crate) = 14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5 +SIZE (rust/crates/tokio-util-0.7.16.crate) = 127775 SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234 SIZE (rust/crates/toml-0.5.11.crate) = 54910 -SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362 -SIZE (rust/crates/toml-0.8.23.crate) = 36050 +SHA256 (rust/crates/toml-0.9.5.crate) = 75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8 +SIZE (rust/crates/toml-0.9.5.crate) = 56833 SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125 +SHA256 (rust/crates/toml_datetime-0.7.0.crate) = bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3 +SIZE (rust/crates/toml_datetime-0.7.0.crate) = 18108 SHA256 (rust/crates/toml_edit-0.22.27.crate) = 41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a SIZE (rust/crates/toml_edit-0.22.27.crate) = 78602 -SHA256 (rust/crates/toml_write-0.1.2.crate) = 5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801 -SIZE (rust/crates/toml_write-0.1.2.crate) = 15660 +SHA256 (rust/crates/toml_parser-1.0.2.crate) = b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10 +SIZE (rust/crates/toml_parser-1.0.2.crate) = 35241 +SHA256 (rust/crates/toml_writer-1.0.2.crate) = fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64 +SIZE (rust/crates/toml_writer-1.0.2.crate) = 16988 SHA256 (rust/crates/topological-sort-0.2.2.crate) = ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d SIZE (rust/crates/topological-sort-0.2.2.crate) = 10566 SHA256 (rust/crates/tower-0.5.2.crate) = d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9 @@ -1203,18 +1205,18 @@ SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea SIZE (rust/crates/tracing-0.1.41.crate) = 82448 SHA256 (rust/crates/tracing-appender-0.2.3.crate) = 3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf SIZE (rust/crates/tracing-appender-0.2.3.crate) = 21964 -SHA256 (rust/crates/tracing-attributes-0.1.29.crate) = 1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662 -SIZE (rust/crates/tracing-attributes-0.1.29.crate) = 38683 +SHA256 (rust/crates/tracing-attributes-0.1.30.crate) = 81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903 +SIZE (rust/crates/tracing-attributes-0.1.30.crate) = 39142 SHA256 (rust/crates/tracing-core-0.1.34.crate) = b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678 SIZE (rust/crates/tracing-core-0.1.34.crate) = 63760 SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3 SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561 -SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008 -SIZE (rust/crates/tracing-subscriber-0.3.19.crate) = 198345 +SHA256 (rust/crates/tracing-subscriber-0.3.20.crate) = 2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5 +SIZE (rust/crates/tracing-subscriber-0.3.20.crate) = 212274 SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b SIZE (rust/crates/try-lock-0.2.5.crate) = 4314 -SHA256 (rust/crates/tungstenite-0.21.0.crate) = 9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1 -SIZE (rust/crates/tungstenite-0.21.0.crate) = 59858 +SHA256 (rust/crates/tungstenite-0.26.2.crate) = 4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13 +SIZE (rust/crates/tungstenite-0.26.2.crate) = 65315 SHA256 (rust/crates/type-map-0.5.1.crate) = cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90 SIZE (rust/crates/type-map-0.5.1.crate) = 8606 SHA256 (rust/crates/typenum-1.18.0.crate) = 1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f @@ -1261,16 +1263,16 @@ SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e SIZE (rust/crates/untrusted-0.9.0.crate) = 14447 SHA256 (rust/crates/unty-0.0.4.crate) = 6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae SIZE (rust/crates/unty-0.0.4.crate) = 7200 -SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60 -SIZE (rust/crates/url-2.5.4.crate) = 81097 +SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b +SIZE (rust/crates/url-2.5.7.crate) = 87907 SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9 SIZE (rust/crates/utf-8-0.7.6.crate) = 10422 SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437 SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821 SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499 -SHA256 (rust/crates/uuid-1.17.0.crate) = 3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d -SIZE (rust/crates/uuid-1.17.0.crate) = 59014 +SHA256 (rust/crates/uuid-1.18.0.crate) = f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be +SIZE (rust/crates/uuid-1.18.0.crate) = 59782 SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65 SIZE (rust/crates/valuable-0.1.1.crate) = 28679 SHA256 (rust/crates/variadics_please-1.1.0.crate) = 41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c @@ -1287,12 +1289,10 @@ SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06 SIZE (rust/crates/walkdir-2.5.0.crate) = 23951 SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e SIZE (rust/crates/want-0.3.1.crate) = 6398 -SHA256 (rust/crates/warp-0.3.7.crate) = 4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c -SIZE (rust/crates/warp-0.3.7.crate) = 117428 SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477 -SHA256 (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3 -SIZE (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 140921 +SHA256 (rust/crates/wasi-0.14.3+wasi-0.2.4.crate) = 6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95 +SIZE (rust/crates/wasi-0.14.3+wasi-0.2.4.crate) = 144010 SHA256 (rust/crates/wasix-0.12.21.crate) = c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d SIZE (rust/crates/wasix-0.12.21.crate) = 193621 SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5 @@ -1315,8 +1315,8 @@ SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10 SIZE (rust/crates/web-time-1.1.0.crate) = 18026 SHA256 (rust/crates/web_atoms-0.1.3.crate) = 57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414 SIZE (rust/crates/web_atoms-0.1.3.crate) = 27392 -SHA256 (rust/crates/webpki-roots-1.0.0.crate) = 2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb -SIZE (rust/crates/webpki-roots-1.0.0.crate) = 248893 +SHA256 (rust/crates/webpki-roots-1.0.2.crate) = 7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2 +SIZE (rust/crates/webpki-roots-1.0.2.crate) = 255109 SHA256 (rust/crates/wgpu-25.0.2.crate) = ec8fb398f119472be4d80bc3647339f56eb63b2a331f6a3d16e25d8144197dd9 SIZE (rust/crates/wgpu-25.0.2.crate) = 189625 SHA256 (rust/crates/wgpu-core-25.0.2.crate) = f7b882196f8368511d613c6aeec80655160db6646aebddf8328879a88d54e500 @@ -1339,34 +1339,34 @@ SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe9399 SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 -SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb -SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464 +SHA256 (rust/crates/winapi-util-0.1.10.crate) = 0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22 +SIZE (rust/crates/winapi-util-0.1.10.crate) = 13370 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-0.56.0.crate) = 1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132 -SIZE (rust/crates/windows-0.56.0.crate) = 10807828 +SHA256 (rust/crates/windows-0.57.0.crate) = 12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143 +SIZE (rust/crates/windows-0.57.0.crate) = 9694564 SHA256 (rust/crates/windows-0.58.0.crate) = dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6 SIZE (rust/crates/windows-0.58.0.crate) = 9744521 SHA256 (rust/crates/windows-0.61.3.crate) = 9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893 SIZE (rust/crates/windows-0.61.3.crate) = 9372520 SHA256 (rust/crates/windows-collections-0.2.0.crate) = 3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8 SIZE (rust/crates/windows-collections-0.2.0.crate) = 13579 -SHA256 (rust/crates/windows-core-0.56.0.crate) = 4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6 -SIZE (rust/crates/windows-core-0.56.0.crate) = 45084 +SHA256 (rust/crates/windows-core-0.57.0.crate) = d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d +SIZE (rust/crates/windows-core-0.57.0.crate) = 53695 SHA256 (rust/crates/windows-core-0.58.0.crate) = 6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99 SIZE (rust/crates/windows-core-0.58.0.crate) = 41022 SHA256 (rust/crates/windows-core-0.61.2.crate) = c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3 SIZE (rust/crates/windows-core-0.61.2.crate) = 36771 SHA256 (rust/crates/windows-future-0.2.1.crate) = fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e SIZE (rust/crates/windows-future-0.2.1.crate) = 17532 -SHA256 (rust/crates/windows-implement-0.56.0.crate) = f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b -SIZE (rust/crates/windows-implement-0.56.0.crate) = 9157 +SHA256 (rust/crates/windows-implement-0.57.0.crate) = 9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7 +SIZE (rust/crates/windows-implement-0.57.0.crate) = 10470 SHA256 (rust/crates/windows-implement-0.58.0.crate) = 2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b SIZE (rust/crates/windows-implement-0.58.0.crate) = 10491 SHA256 (rust/crates/windows-implement-0.60.0.crate) = a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836 SIZE (rust/crates/windows-implement-0.60.0.crate) = 15073 -SHA256 (rust/crates/windows-interface-0.56.0.crate) = 08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc -SIZE (rust/crates/windows-interface-0.56.0.crate) = 9834 +SHA256 (rust/crates/windows-interface-0.57.0.crate) = 29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7 +SIZE (rust/crates/windows-interface-0.57.0.crate) = 10931 SHA256 (rust/crates/windows-interface-0.58.0.crate) = 053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515 SIZE (rust/crates/windows-interface-0.58.0.crate) = 11246 SHA256 (rust/crates/windows-interface-0.59.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8 @@ -1397,8 +1397,8 @@ SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c0964560 SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904 SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 -SHA256 (rust/crates/windows-targets-0.53.2.crate) = c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef -SIZE (rust/crates/windows-targets-0.53.2.crate) = 7046 +SHA256 (rust/crates/windows-targets-0.53.3.crate) = d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91 +SIZE (rust/crates/windows-targets-0.53.3.crate) = 7099 SHA256 (rust/crates/windows-threading-0.1.0.crate) = b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6 SIZE (rust/crates/windows-threading-0.1.0.crate) = 9085 SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 @@ -1447,26 +1447,26 @@ SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270 SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486 SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400 -SHA256 (rust/crates/winnow-0.7.11.crate) = 74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd -SIZE (rust/crates/winnow-0.7.11.crate) = 174175 +SHA256 (rust/crates/winnow-0.7.13.crate) = 21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf +SIZE (rust/crates/winnow-0.7.13.crate) = 174454 SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1 SIZE (rust/crates/winreg-0.50.0.crate) = 29703 SHA256 (rust/crates/winreg-0.55.0.crate) = cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97 SIZE (rust/crates/winreg-0.55.0.crate) = 31048 SHA256 (rust/crates/winsafe-0.0.19.crate) = d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904 SIZE (rust/crates/winsafe-0.0.19.crate) = 492820 -SHA256 (rust/crates/wiremock-0.6.3.crate) = 101681b74cd87b5899e87bcf5a64e83334dd313fcd3053ea72e6dba18928e301 -SIZE (rust/crates/wiremock-0.6.3.crate) = 61482 -SHA256 (rust/crates/wit-bindgen-rt-0.39.0.crate) = 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1 -SIZE (rust/crates/wit-bindgen-rt-0.39.0.crate) = 12241 +SHA256 (rust/crates/wiremock-0.6.5.crate) = 08db1edfb05d9b3c1542e521aea074442088292f00b5f28e435c714a98f85031 +SIZE (rust/crates/wiremock-0.6.5.crate) = 60561 +SHA256 (rust/crates/wit-bindgen-0.45.0.crate) = 052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814 +SIZE (rust/crates/wit-bindgen-0.45.0.crate) = 60405 SHA256 (rust/crates/wrapcenum-derive-0.4.1.crate) = a76ff259533532054cfbaefb115c613203c73707017459206380f03b3b3f266e SIZE (rust/crates/wrapcenum-derive-0.4.1.crate) = 7400 SHA256 (rust/crates/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb SIZE (rust/crates/writeable-0.6.1.crate) = 24068 -SHA256 (rust/crates/xattr-1.5.0.crate) = 0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e -SIZE (rust/crates/xattr-1.5.0.crate) = 14694 -SHA256 (rust/crates/xml-rs-0.8.26.crate) = a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda -SIZE (rust/crates/xml-rs-0.8.26.crate) = 55115 +SHA256 (rust/crates/xattr-1.5.1.crate) = af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909 +SIZE (rust/crates/xattr-1.5.1.crate) = 14565 +SHA256 (rust/crates/xml-rs-0.8.27.crate) = 6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7 +SIZE (rust/crates/xml-rs-0.8.27.crate) = 55258 SHA256 (rust/crates/xml5ever-0.17.0.crate) = 4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650 SIZE (rust/crates/xml5ever-0.17.0.crate) = 41208 SHA256 (rust/crates/xz2-0.1.7.crate) = 388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2 @@ -1479,10 +1479,10 @@ SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8 SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525 SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6 SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521 -SHA256 (rust/crates/zerocopy-0.8.25.crate) = a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb -SIZE (rust/crates/zerocopy-0.8.25.crate) = 252714 -SHA256 (rust/crates/zerocopy-derive-0.8.25.crate) = 28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef -SIZE (rust/crates/zerocopy-derive-0.8.25.crate) = 87671 +SHA256 (rust/crates/zerocopy-0.8.26.crate) = 1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f +SIZE (rust/crates/zerocopy-0.8.26.crate) = 249223 +SHA256 (rust/crates/zerocopy-derive-0.8.26.crate) = 9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181 +SIZE (rust/crates/zerocopy-derive-0.8.26.crate) = 88080 SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5 SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669 SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502 @@ -1491,14 +1491,14 @@ SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464 SIZE (rust/crates/zeroize-1.8.1.crate) = 20029 SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595 SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423 -SHA256 (rust/crates/zerovec-0.11.2.crate) = 4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428 -SIZE (rust/crates/zerovec-0.11.2.crate) = 124500 +SHA256 (rust/crates/zerovec-0.11.4.crate) = e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b +SIZE (rust/crates/zerovec-0.11.4.crate) = 125080 SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294 SHA256 (rust/crates/zip-1.1.4.crate) = 9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164 SIZE (rust/crates/zip-1.1.4.crate) = 77910 -SHA256 (rust/crates/zip-4.1.0.crate) = af7dcdb4229c0e79c2531a24de7726a0e980417a74fb4d030a35f535665439a0 -SIZE (rust/crates/zip-4.1.0.crate) = 112269 +SHA256 (rust/crates/zip-4.6.0.crate) = c034aa6c54f654df20e7dc3713bc51705c12f280748fb6d7f40f87c696623e34 +SIZE (rust/crates/zip-4.6.0.crate) = 115676 SHA256 (rust/crates/zlib-rs-0.5.1.crate) = 626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a SIZE (rust/crates/zlib-rs-0.5.1.crate) = 193055 SHA256 (rust/crates/zopfli-0.8.2.crate) = edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7 @@ -1513,9 +1513,9 @@ SHA256 (ankitects-rust-url-bb930b8d089f4d30d7d19c12e54e66191de47b88_GH0.tar.gz) SIZE (ankitects-rust-url-bb930b8d089f4d30d7d19c12e54e66191de47b88_GH0.tar.gz) = 394844 SHA256 (ankitects-linkcheck-184b2ca50ed39ca43da13f0b830a463861adb9ca_GH0.tar.gz) = 58ac773ba2e7c76a9ec3f59ee9571576d76e74d58c4974a1d606d6976e1be70e SIZE (ankitects-linkcheck-184b2ca50ed39ca43da13f0b830a463861adb9ca_GH0.tar.gz) = 19408 -SHA256 (ankitects-anki-25.07.5_GH0.tar.gz) = ad9c0f53c2388680cde23b131d9c2abbf0f5338024ae35d8f34592fdcdf63179 -SIZE (ankitects-anki-25.07.5_GH0.tar.gz) = 2513730 -SHA256 (ankitects-anki-core-i18n-a019a54_GH0.tar.gz) = c930da9b944b2e4af721f85248afbdf8142586da785092807bd2212f1934e355 -SIZE (ankitects-anki-core-i18n-a019a54_GH0.tar.gz) = 1697738 -SHA256 (ankitects-anki-desktop-ftl-bc2da83_GH0.tar.gz) = c561a0def2f170093c0cdf419a1429221cf1b531f1c6a603cf2be8c14e55a67f -SIZE (ankitects-anki-desktop-ftl-bc2da83_GH0.tar.gz) = 250840 +SHA256 (ankitects-anki-25.09_GH0.tar.gz) = eed3002b5e300b58edd63aa50655aded5187a6b42d02f31c94d48b2513949a94 +SIZE (ankitects-anki-25.09_GH0.tar.gz) = 2518339 +SHA256 (ankitects-anki-core-i18n-6552c95_GH0.tar.gz) = 7e99ffbcb84a4916349856b7953f1e6c2a3a7cd2bc0de0e455f453a03753b36b +SIZE (ankitects-anki-core-i18n-6552c95_GH0.tar.gz) = 1731229 +SHA256 (ankitects-anki-desktop-ftl-dad4e27_GH0.tar.gz) = 4a3cb364759533f97a811ce2a602d8daaa55b6701c38e167ee44786f9668a47f +SIZE (ankitects-anki-desktop-ftl-dad4e27_GH0.tar.gz) = 256082 diff --git a/games/anki/files/patch-pylib_tools_hookslib.py b/games/anki/files/patch-pylib_tools_hookslib.py index 53a3f6d62d79..8abac8c7ba0e 100644 --- a/games/anki/files/patch-pylib_tools_hookslib.py +++ b/games/anki/files/patch-pylib_tools_hookslib.py @@ -1,5 +1,5 @@ -Skip code formatting with "ruff" on FreeBSD 15.0-CURRENT (observed with -n278368-5c9b1c7e5f27) to prevent following error: +Skip code formatting with "ruff" on !FreeBSD RELEASE builds to prevent +following error (observed with FreeBSD 15.0-CURRENT n278368-5c9b1c7e5f27): [...] FAILED: /wrkdirs/usr/ports/games/anki/work/anki-25.07.2/out/qt/_aqt/hooks.py @@ -32,5 +32,5 @@ Traceback (most recent call last): file.write(code.encode("utf8")) - subprocess.run([sys.executable, "-m", "ruff", "format", "-q", path], check=True) + -+ if not (platform.system() == 'FreeBSD' and platform.release() == '15.0-CURRENT'): ++ if platform.system() == 'FreeBSD' and platform.release().endswith('-RELEASE'): + subprocess.run([sys.executable, "-m", "ruff", "format", "-q", path], check=True) diff --git a/games/anki/files/patch-rust-1.89.0 b/games/anki/files/patch-rust-1.89.0 deleted file mode 100644 index 5b3adb5cd8eb..000000000000 --- a/games/anki/files/patch-rust-1.89.0 +++ /dev/null @@ -1,9 +0,0 @@ ---- rslib/i18n/src/lib.rs.orig 2025-08-22 13:45:00 UTC -+++ rslib/i18n/src/lib.rs -@@ -1,5 +1,6 @@ - // Copyright: Ankitects Pty Ltd and contributors - // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -+#![allow(text_direction_codepoint_in_literal)] - - mod generated; - diff --git a/games/anki/pkg-plist b/games/anki/pkg-plist index 2a664c84891c..c8062f6e20d3 100644 --- a/games/anki/pkg-plist +++ b/games/anki/pkg-plist @@ -46,7 +46,7 @@ share/man/man1/anki.1.gz %%DATADIR%%/_aqt/data/qt/icons/heart.svg %%DATADIR%%/_aqt/data/qt/icons/magnify-dark.svg %%DATADIR%%/_aqt/data/qt/icons/magnify-light.svg -%%DATADIR%%/_aqt/data/qt/icons/media-record.png +%%DATADIR%%/_aqt/data/qt/icons/media-record.svg %%DATADIR%%/_aqt/data/qt/icons/menu-down-dark.svg %%DATADIR%%/_aqt/data/qt/icons/menu-down-light.svg %%DATADIR%%/_aqt/data/qt/icons/menu-up-dark.svg diff --git a/games/linux-enemyterritory/Makefile b/games/linux-enemyterritory/Makefile index c4956c1e2fd0..b73ba4b547c4 100644 --- a/games/linux-enemyterritory/Makefile +++ b/games/linux-enemyterritory/Makefile @@ -18,7 +18,7 @@ LICENSE_NAME= IDSOFTWARE LICENSE_TEXT= Redistribution limited LICENSE_PERMS= dist-mirror pkg-mirror auto-accept -ONLY_FOR_ARCHS= i386 amd64 +ONLY_FOR_ARCHS= amd64 i386 USES= linux zip:infozip USE_LINUX= dri xorglibs ETDIR= ${PREFIX}/lib/${PORTNAME} @@ -33,9 +33,9 @@ OPTIONS_DEFINE= DOCS do-extract: @${MKDIR} ${WRKSRC} @cd ${WRKSRC} && \ - ${TAIL} +374 ${_DISTDIR}et-linux-2.60.x86.run | ${TAR} xfz - + ${TAIL} +374 ${_DISTDIR}/et-linux-2.60.x86.run | ${TAR} xfz - @cd ${WRKSRC} && \ - ${UNZIP_CMD} -q ${_DISTDIR}ET-2.60b.zip + ${UNZIP_CMD} -q ${_DISTDIR}/ET-2.60b.zip post-patch: .for FILE in et etded diff --git a/games/motogt/Makefile b/games/motogt/Makefile deleted file mode 100644 index 5bdec9b13474..000000000000 --- a/games/motogt/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -PORTNAME= motogt -PORTVERSION= 20110505 -PORTREVISION= 9 -CATEGORIES= games -MASTER_SITES= SF/motogt/MotoGT1/ -DISTNAME= MotoGT-${PORTVERSION} - -MAINTAINER= amdmi3@FreeBSD.org -COMMENT= 2D top-viewed motorcycle racing game -WWW= https://motogt.sourceforge.net/ - -DEPRECATED= Depends on obsolete devel/sfml1 -EXPIRATION_DATE=2025-09-10 - -LICENSE= GPLv2 CC-BY-SA-3.0 -LICENSE_COMB= multi -LICENSE_FILE_CC-BY-SA-3.0= ${WRKSRC}/doc/cc-by-sa.txt -LICENSE_FILE_GPLv2= ${WRKSRC}/doc/gpl.txt - -LIB_DEPENDS= libsfml1-system.so:devel/sfml1 \ - libpng.so:graphics/png - -USES= gl localbase:ldflags zip -USE_CXXSTD= c++14 -USE_GL= gl - -MAKEFILE= Makefile.lnx -MAKE_JOBS_UNSAFE= yes - -SUB_FILES= motogt - -BUILD_WRKSRC= ${WRKSRC}/src -WRKSRC= ${WRKDIR}/MotoGT - -PLIST_FILES= bin/${PORTNAME} libexec/MotoGT.bin -PORTDATA= * - -post-patch: - @${REINPLACE_CMD} -e '/#include/ s|SFML|&1|' ${WRKSRC}/data/src/editor.cpp ${WRKSRC}/src/*.h - @${REINPLACE_CMD} -e 's|-lsfml|&1|g' ${WRKSRC}/src/Makefile.lnx - -do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/MotoGT.bin ${STAGEDIR}${PREFIX}/libexec/ - ${INSTALL_SCRIPT} ${WRKDIR}/motogt ${STAGEDIR}${PREFIX}/bin/ - cd ${WRKSRC} && ${COPYTREE_SHARE} data ${STAGEDIR}${DATADIR}/ - -.include <bsd.port.mk> diff --git a/games/motogt/distinfo b/games/motogt/distinfo deleted file mode 100644 index 645efcc4ceb3..000000000000 --- a/games/motogt/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (MotoGT-20110505.zip) = a5d780c048a92e0f68b4cc83ccb9c45ee504772e651d4037468925525c2988a2 -SIZE (MotoGT-20110505.zip) = 87736858 diff --git a/games/motogt/files/motogt.in b/games/motogt/files/motogt.in deleted file mode 100644 index c3bf7972a061..000000000000 --- a/games/motogt/files/motogt.in +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cd %%DATADIR%% || exit 1 -exec %%PREFIX%%/libexec/MotoGT.bin "$@" diff --git a/games/motogt/files/patch-Makefile b/games/motogt/files/patch-Makefile deleted file mode 100644 index 86ad265d849c..000000000000 --- a/games/motogt/files/patch-Makefile +++ /dev/null @@ -1,10 +0,0 @@ ---- Makefile.orig 2011-01-10 20:25:23.000000000 +0300 -+++ Makefile 2011-09-27 08:44:25.000000000 +0400 -@@ -1,5 +1,5 @@ - all: -- make -C src -f Makefile.lnx -+ ${MAKE} -C src -f Makefile.lnx - - clean: -- make -C src -f Makefile.lnx clean -+ ${MAKE} -C src -f Makefile.lnx clean diff --git a/games/motogt/files/patch-src-Circuito.cpp b/games/motogt/files/patch-src-Circuito.cpp deleted file mode 100644 index fb5ae7a7398f..000000000000 --- a/games/motogt/files/patch-src-Circuito.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/Circuito.cpp.orig 2011-01-12 20:20:23.000000000 +0300 -+++ src/Circuito.cpp 2011-09-26 23:13:03.000000000 +0400 -@@ -171,7 +171,7 @@ - if (!osd) {image=NULL; sprite=NULL; return; } - image = new Image*[image_c]; - sprite = new Sprite*[image_c]; -- string image_dir=data->tracks[track_index].dir+"t00.png"; -+ string image_dir=home_dir + data->tracks[track_index].dir + "t00.png"; - for (int i=0;i<image_c;i++) { - image[i]=new Image[image_r]; - sprite[i]=new Sprite[image_r]; diff --git a/games/motogt/files/patch-src-Config.cpp b/games/motogt/files/patch-src-Config.cpp deleted file mode 100644 index 148cd380aa43..000000000000 --- a/games/motogt/files/patch-src-Config.cpp +++ /dev/null @@ -1,22 +0,0 @@ ---- src/Config.cpp.orig 2011-01-18 06:52:35.000000000 +0300 -+++ src/Config.cpp 2014-02-02 21:13:04.124154052 +0400 -@@ -139,6 +139,9 @@ - } - - void Config::ChangeResolution(bool up) { -+ if (num_modes == 0) -+ return; -+ - if (cur_mode!=num_modes) cur_mode+=up?1:num_modes-1; - cur_mode=cur_mode%num_modes; - real_w=modes_w[cur_mode]; -@@ -226,7 +229,8 @@ - old_fullscreen=fullscreen; - changed=false; - ofstream fil((home_dir+"settings.lst").c_str(),ios::trunc); -- fil<<"version="<<(config->version=VERSION)<<endl; -+ fil<<"version="<<VERSION<<endl; -+ if (config) config->version = VERSION; - fil<<"fullscreen="<<(fullscreen?1:0)<<endl; - fil<<"low_textures="<<(low_textures?1:0)<<endl; - fil<<"sound="<<(sound_on?1:0)<<endl; diff --git a/games/motogt/files/patch-src-MakeData.cpp b/games/motogt/files/patch-src-MakeData.cpp deleted file mode 100644 index dc130a164795..000000000000 --- a/games/motogt/files/patch-src-MakeData.cpp +++ /dev/null @@ -1,48 +0,0 @@ ---- src/MakeData.cpp.orig 2011-01-10 17:40:30 UTC -+++ src/MakeData.cpp -@@ -5,6 +5,7 @@ - #define PNG_DEBUG 3 - #include <png.h> - #include <fstream> -+#include <sys/stat.h> - #include "global.h" - #include "Config.h" - #include "Confirm.h" -@@ -109,10 +110,10 @@ struct PngFile { - - png_read_info(png_ptr, info_ptr); - -- width = info_ptr->width; -- height = info_ptr->height; -- color_type = info_ptr->color_type; -- bit_depth = info_ptr->bit_depth; -+ width = png_get_image_width(png_ptr, info_ptr); -+ height = png_get_image_height(png_ptr, info_ptr); -+ color_type = png_get_color_type(png_ptr, info_ptr); -+ bit_depth = png_get_bit_depth(png_ptr, info_ptr); - - number_of_passes = png_set_interlace_handling(png_ptr); - png_read_update_info(png_ptr, info_ptr); -@@ -125,7 +126,7 @@ struct PngFile { - - row_pointers = (png_bytep*) malloc(sizeof(png_bytep) * height); - for (int y=0; y<height; y++) -- row_pointers[y] = (png_byte*) malloc(info_ptr->rowbytes); -+ row_pointers[y] = (png_byte*) malloc(png_get_rowbytes(png_ptr,info_ptr)); - - png_read_image(png_ptr, row_pointers); - -@@ -376,7 +377,12 @@ struct PngFile { - } - fname[2]='0'+i; - fname[1]='0'+j; -- if (!f2->Save((dir+fname).c_str())) -+ size_t pos = 0; -+ do { -+ pos = dir.find('/', pos+1); -+ mkdir((home_dir+dir.substr(0, pos)).c_str(), 0755); -+ } while (pos != string::npos); -+ if (!f2->Save((home_dir+dir+fname).c_str())) - return false; - f2->width=ancho2; f2->height=ancho2; - } diff --git a/games/motogt/files/patch-src-Makefile.common b/games/motogt/files/patch-src-Makefile.common deleted file mode 100644 index 7b6fb39a5948..000000000000 --- a/games/motogt/files/patch-src-Makefile.common +++ /dev/null @@ -1,149 +0,0 @@ ---- src/Makefile.common.orig 2011-01-10 20:40:30.000000000 +0300 -+++ src/Makefile.common 2011-09-27 08:39:09.000000000 +0400 -@@ -1,110 +1,110 @@ - OBJS=${TEMP_DIR}/BikeSelection.o ${TEMP_DIR}/Data.o ${TEMP_DIR}/main.o ${TEMP_DIR}/Particulas.o ${TEMP_DIR}/Carrera.o ${TEMP_DIR}/Circuito.o ${TEMP_DIR}/Moto.o ${TEMP_DIR}/global.o ${TEMP_DIR}/OSD.o ${TEMP_DIR}/MyFont.o ${TEMP_DIR}/Menu.o ${TEMP_DIR}/Loading.o ${TEMP_DIR}/Confirm.o ${TEMP_DIR}/Jukebox.o ${TEMP_DIR}/RaceExtras.o ${TEMP_DIR}/SelectionWheel.o ${TEMP_DIR}/TrackSelection.o ${TEMP_DIR}/RaceResults.o ${TEMP_DIR}/Shader.o ${TEMP_DIR}/TextViewer.o ${TEMP_DIR}/text.o ${TEMP_DIR}/RaceMenu.o ${TEMP_DIR}/ChampionshipMenu.o ${TEMP_DIR}/MakeData.o ${TEMP_DIR}/ChampionshipData.o ${TEMP_DIR}/Profile.o ${TEMP_DIR}/Config.o ${TEMP_DIR}/MyRenderWindow.o ${TEMP_DIR}/SlideShow.o ${TEMP_DIR}/Experience.o ${TEMP_DIR}/LangSelection.o ${TEMP_DIR}/Records.o ${TEMP_DIR}/StyleOsd.o ${TEMP_DIR}/Intro.o ${TEMP_DIR}/HiddenDriver.o ${TEMP_DIR}/text_hidden.o - - ${TEMP_DIR}/BikeSelection.o: BikeSelection.cpp global.h MyRenderWindow.h Data.h BikeSelection.h Drawer.h MyFont.h SelectionWheel.h Confirm.h Loading.h Config.h Profile.h Jukebox.h -- ${GPP} ${FLAGS} -c BikeSelection.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c BikeSelection.cpp -o $@ - - ${TEMP_DIR}/Data.o: Data.cpp Data.h global.h MyRenderWindow.h Jukebox.h Particulas.h Shader.h ChampionshipData.h Profile.h Config.h -- ${GPP} ${FLAGS} -c Data.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Data.cpp -o $@ - - ${TEMP_DIR}/main.o: main.cpp global.h MyRenderWindow.h Data.h OSD.h RaceExtras.h Carrera.h Drawer.h Particulas.h Menu.h MyFont.h Loading.h Confirm.h Jukebox.h SelectionWheel.h Shader.h ChampionshipData.h Config.h Profile.h SlideShow.h version.h Circuito.h LangSelection.h StyleOsd.h Intro.h text_hidden.h HiddenDriver.h -- ${GPP} ${FLAGS} -c main.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c main.cpp -o $@ - - ${TEMP_DIR}/Particulas.o: Particulas.cpp Particulas.h global.h MyRenderWindow.h Data.h Moto.h Circuito.h -- ${GPP} ${FLAGS} -c Particulas.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Particulas.cpp -o $@ - - ${TEMP_DIR}/Carrera.o: Carrera.cpp Carrera.h global.h MyRenderWindow.h Data.h Drawer.h Confirm.h RaceExtras.h Circuito.h Particulas.h Moto.h OSD.h Loading.h Shader.h Jukebox.h Profile.h Config.h TextViewer.h text.h StyleOsd.h -- ${GPP} ${FLAGS} -c Carrera.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Carrera.cpp -o $@ - - ${TEMP_DIR}/Circuito.o: Circuito.cpp Circuito.h global.h MyRenderWindow.h Data.h Jukebox.h Loading.h Drawer.h Confirm.h MakeData.h Profile.h Config.h OSD.h -- ${GPP} ${FLAGS} -c Circuito.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Circuito.cpp -o $@ - - ${TEMP_DIR}/Moto.o: Moto.cpp Moto.h Circuito.h global.h MyRenderWindow.h Data.h Jukebox.h RaceExtras.h Particulas.h Carrera.h Drawer.h Loading.h Profile.h Config.h StyleOsd.h -- ${GPP} ${FLAGS} -c Moto.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Moto.cpp -o $@ - - ${TEMP_DIR}/global.o: global.cpp global.h MyRenderWindow.h Data.h -- ${GPP} ${FLAGS} -c global.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c global.cpp -o $@ - - ${TEMP_DIR}/OSD.o: OSD.cpp OSD.h global.h MyRenderWindow.h Data.h Carrera.h Drawer.h Moto.h Circuito.h MyFont.h Config.h -- ${GPP} ${FLAGS} -c OSD.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c OSD.cpp -o $@ - - ${TEMP_DIR}/MyFont.o: MyFont.cpp MyFont.h global.h MyRenderWindow.h Data.h -- ${GPP} ${FLAGS} -c MyFont.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c MyFont.cpp -o $@ - - ${TEMP_DIR}/Menu.o: Menu.cpp Menu.h global.h MyRenderWindow.h Data.h Drawer.h Carrera.h MyFont.h Jukebox.h Confirm.h Loading.h EnterName.h SelectionWheel.h TrackSelection.h RaceResults.h RaceExtras.h Particulas.h TextViewer.h text.h Shader.h Circuito.h RaceMenu.h version.h BikeSelection.h ChampionshipMenu.h Config.h Profile.h OSD.h Records.h HiddenDriver.h text_hidden.h -- ${GPP} ${FLAGS} -c Menu.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Menu.cpp -o $@ - - ${TEMP_DIR}/Loading.o: Loading.cpp Loading.h global.h MyRenderWindow.h Data.h Drawer.h -- ${GPP} ${FLAGS} -c Loading.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Loading.cpp -o $@ - - ${TEMP_DIR}/Confirm.o: Confirm.cpp Confirm.h global.h MyRenderWindow.h Data.h Drawer.h MyFont.h Config.h Jukebox.h Loading.h -- ${GPP} ${FLAGS} -c Confirm.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Confirm.cpp -o $@ - - ${TEMP_DIR}/Jukebox.o: Jukebox.cpp Jukebox.h global.h MyRenderWindow.h Data.h Config.h -- ${GPP} ${FLAGS} -c Jukebox.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Jukebox.cpp -o $@ - - ${TEMP_DIR}/RaceExtras.o: RaceExtras.cpp RaceExtras.h global.h MyRenderWindow.h Data.h Carrera.h Drawer.h MyFont.h -- ${GPP} ${FLAGS} -c RaceExtras.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c RaceExtras.cpp -o $@ - - ${TEMP_DIR}/SelectionWheel.o: SelectionWheel.cpp SelectionWheel.h global.h MyRenderWindow.h Data.h -- ${GPP} ${FLAGS} -c SelectionWheel.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c SelectionWheel.cpp -o $@ - - ${TEMP_DIR}/TrackSelection.o: TrackSelection.cpp TrackSelection.h global.h MyRenderWindow.h Data.h Drawer.h MyFont.h SelectionWheel.h Loading.h Profile.h Config.h Confirm.h ChampionshipData.h Jukebox.h -- ${GPP} ${FLAGS} -c TrackSelection.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c TrackSelection.cpp -o $@ - - ${TEMP_DIR}/RaceResults.o: RaceResults.cpp RaceResults.h global.h MyRenderWindow.h Data.h Drawer.h Carrera.h MyFont.h Moto.h Circuito.h SelectionWheel.h Jukebox.h ChampionshipData.h Config.h Profile.h -- ${GPP} ${FLAGS} -c RaceResults.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c RaceResults.cpp -o $@ - - ${TEMP_DIR}/Shader.o: Shader.cpp Shader.h global.h MyRenderWindow.h Data.h -- ${GPP} ${FLAGS} -c Shader.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Shader.cpp -o $@ - - ${TEMP_DIR}/TextViewer.o: TextViewer.cpp TextViewer.h global.h MyRenderWindow.h Data.h text.h MyFont.h Config.h Jukebox.h -- ${GPP} ${FLAGS} -c TextViewer.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c TextViewer.cpp -o $@ - - ${TEMP_DIR}/text.o: text.cpp -- ${GPP} ${FLAGS} -c text.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c text.cpp -o $@ - - ${TEMP_DIR}/RaceMenu.o: RaceMenu.cpp RaceMenu.h global.h MyRenderWindow.h Data.h Drawer.h MyFont.h SelectionWheel.h TextViewer.h text.h Loading.h Circuito.h Carrera.h Moto.h Confirm.h RaceResults.h BikeSelection.h Profile.h Config.h ChampionshipData.h Jukebox.h Experience.h HiddenDriver.h text_hidden.h -- ${GPP} ${FLAGS} -c RaceMenu.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c RaceMenu.cpp -o $@ - - ${TEMP_DIR}/ChampionshipMenu.o: ChampionshipMenu.cpp ChampionshipMenu.h global.h MyRenderWindow.h Data.h Drawer.h Config.h MyFont.h SelectionWheel.h TextViewer.h text.h Loading.h Circuito.h Carrera.h Moto.h Confirm.h RaceResults.h BikeSelection.h ChampionshipData.h Profile.h TrackSelection.h RaceMenu.h Jukebox.h SlideShow.h HiddenDriver.h text_hidden.h -- ${GPP} ${FLAGS} -c ChampionshipMenu.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c ChampionshipMenu.cpp -o $@ - - ${TEMP_DIR}/MakeData.o: MakeData.cpp global.h MyRenderWindow.h Data.h Config.h Confirm.h Drawer.h -- ${GPP} ${FLAGS} -c MakeData.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c MakeData.cpp -o $@ - - ${TEMP_DIR}/ChampionshipData.o: ChampionshipData.cpp ChampionshipData.h Data.h global.h MyRenderWindow.h Profile.h Moto.h Circuito.h Experience.h -- ${GPP} ${FLAGS} -c ChampionshipData.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c ChampionshipData.cpp -o $@ - - ${TEMP_DIR}/Profile.o: Profile.cpp Profile.h global.h MyRenderWindow.h Data.h ChampionshipData.h -- ${GPP} ${FLAGS} -c Profile.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Profile.cpp -o $@ - - ${TEMP_DIR}/Config.o: Config.cpp Config.h global.h MyRenderWindow.h Data.h Shader.h Particulas.h Jukebox.h -- ${GPP} ${FLAGS} -c Config.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Config.cpp -o $@ - - ${TEMP_DIR}/MyRenderWindow.o: MyRenderWindow.cpp global.h MyRenderWindow.h Data.h Config.h -- ${GPP} ${FLAGS} -c MyRenderWindow.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c MyRenderWindow.cpp -o $@ - - ${TEMP_DIR}/SlideShow.o: SlideShow.cpp SlideShow.h global.h MyRenderWindow.h Data.h Config.h Jukebox.h Loading.h Drawer.h -- ${GPP} ${FLAGS} -c SlideShow.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c SlideShow.cpp -o $@ - - ${TEMP_DIR}/Experience.o: Experience.cpp Experience.h global.h MyRenderWindow.h Data.h MyFont.h Config.h SelectionWheel.h Jukebox.h -- ${GPP} ${FLAGS} -c Experience.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Experience.cpp -o $@ - - ${TEMP_DIR}/LangSelection.o: LangSelection.cpp LangSelection.h global.h MyRenderWindow.h Data.h Config.h -- ${GPP} ${FLAGS} -c LangSelection.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c LangSelection.cpp -o $@ - - ${TEMP_DIR}/Records.o: Records.cpp Records.h global.h MyRenderWindow.h Data.h Config.h Jukebox.h SelectionWheel.h MyFont.h -- ${GPP} ${FLAGS} -c Records.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Records.cpp -o $@ - - ${TEMP_DIR}/StyleOsd.o: StyleOsd.cpp StyleOsd.h global.h MyRenderWindow.h Data.h -- ${GPP} ${FLAGS} -c StyleOsd.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c StyleOsd.cpp -o $@ - - ${TEMP_DIR}/Intro.o: Intro.cpp Intro.h global.h MyRenderWindow.h Data.h -- ${GPP} ${FLAGS} -c Intro.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c Intro.cpp -o $@ - - ${TEMP_DIR}/HiddenDriver.o: HiddenDriver.cpp HiddenDriver.h global.h MyRenderWindow.h Data.h text_hidden.h Config.h Jukebox.h MyFont.h -- ${GPP} ${FLAGS} -c HiddenDriver.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c HiddenDriver.cpp -o $@ - - ${TEMP_DIR}/text_hidden.o: text_hidden.cpp text_hidden.h -- ${GPP} ${FLAGS} -c text_hidden.cpp -o $@ -+ ${CXX} ${CXXFLAGS} -c text_hidden.cpp -o $@ - diff --git a/games/motogt/files/patch-src-Makefile.lnx b/games/motogt/files/patch-src-Makefile.lnx deleted file mode 100644 index aba2597dfd59..000000000000 --- a/games/motogt/files/patch-src-Makefile.lnx +++ /dev/null @@ -1,25 +0,0 @@ ---- src/Makefile.lnx.orig 2011-01-10 20:54:57.000000000 +0300 -+++ src/Makefile.lnx 2011-09-27 08:41:42.000000000 +0400 -@@ -1,8 +1,8 @@ --GPP=g++ --GCC=gcc --FLAGS= -O2 -ffast-math --LIBS= -s -lpng -lsfml-window -lsfml-graphics -lsfml-system -lsfml-audio --TEMP_DIR=../tmp-lnx -+CXX?= g++ -+CXXFLAGS?= -O2 -ffast-math -+LIBS= -lpng -lsfml-window -lsfml-graphics -lsfml-system -lsfml-audio -lGL -+LDFLAGS?= -s -+TEMP_DIR= ../tmp-lnx - - all: ${TEMP_DIR} ../MotoGT.bin - -@@ -12,7 +12,7 @@ - rm -rf ${OBJS} ../MotoGT.bin - - ../MotoGT.bin: ${OBJS} -- ${GPP} ${OBJS} ${LIBS} -o $@ -+ ${CXX} ${LDFLAGS} ${LIBS} ${OBJS} -o $@ - - ${TEMP_DIR}: - mkdir ${TEMP_DIR} diff --git a/games/motogt/pkg-descr b/games/motogt/pkg-descr deleted file mode 100644 index ed5668d67f8a..000000000000 --- a/games/motogt/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -MotoGT is 2D top-viewed game where you drive a MotoGP bike, and you -want to win races. In career mode you start with a regular bike, -but when you win races you get experience, and experience let's you -improve your bike. If you win championships, you can also unlock -hidden features. diff --git a/games/openclonk/Makefile b/games/openclonk/Makefile index e23354bf7ea1..a461147ee165 100644 --- a/games/openclonk/Makefile +++ b/games/openclonk/Makefile @@ -1,7 +1,7 @@ PORTNAME= openclonk DISTVERSION= 8.1 -PORTREVISION= 7 DISTVERSIONSUFFIX= -src +PORTREVISION= 8 CATEGORIES= games MASTER_SITES= http://www.openclonk.org/builds/release/${DISTVERSION}/ @@ -13,7 +13,6 @@ LICENSE= ISCL CC0-1.0 LICENSE_COMB= multi LICENSE_FILE_ISCL= ${WRKSRC}/COPYING -BROKEN_aarch64= fails to compile: mmintrin.h:50:12: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size BROKEN_powerpc64= fails to compile: C4Texture.cpp:260:13: error: 'stoul' is not a member of 'std' LIB_DEPENDS= libalut.so:audio/freealut \ @@ -24,8 +23,6 @@ LIB_DEPENDS= libalut.so:audio/freealut \ libtinyxml.so:textproc/tinyxml \ libvorbis.so:audio/libvorbis -WRKSRC= ${WRKDIR}/openclonk-release-${PORTVERSION}-src - # make install has parallel issues with ninja USES= cmake:noninja compiler:c++14-lang desktop-file-utils gl gnome jpeg openal \ pkgconfig sdl tar:bzip2 xorg @@ -35,6 +32,7 @@ USE_XORG= x11 xpm CMAKE_ARGS= -DAudio_TK:STRING="OpenAL" CFLAGS_powerpc64le= -DNO_WARN_X86_INTRINSICS LDFLAGS_i386= -Wl,-znotext +WRKSRC= ${WRKDIR}/openclonk-release-${PORTVERSION}-src .include <bsd.port.pre.mk> @@ -42,8 +40,4 @@ LDFLAGS_i386= -Wl,-znotext LDFLAGS_i386+= -Wl,--no-check-dynamic-relocations .endif -post-patch: - @${REINPLACE_CMD} -e 's|DESTINATION games|DESTINATION bin|' \ - -e 's|share/games|share|' ${WRKSRC}/CMakeLists.txt - .include <bsd.port.post.mk> diff --git a/games/openclonk/distinfo b/games/openclonk/distinfo index 5da768b39294..463b137202dc 100644 --- a/games/openclonk/distinfo +++ b/games/openclonk/distinfo @@ -1,3 +1,7 @@ -TIMESTAMP = 1531177508 +TIMESTAMP = 1756900968 SHA256 (openclonk-8.1-src.tar.bz2) = 337677f25457e7137eac7818adb4ad02992d562593386c19b885738aaec4b346 SIZE (openclonk-8.1-src.tar.bz2) = 120149164 +SHA256 (288e9f339b2e0aba9a136e2c91283213d863c7d4.diff) = f5365d3d38d5ffe3708bce4dc79dd3737472f91c5ac75febe0b5895a46e89bca +SIZE (288e9f339b2e0aba9a136e2c91283213d863c7d4.diff) = 5112218 +SHA256 (c1ee1bdac7990605ad0271f2bcb09edea4524c5a.diff) = 2ca0700e27b3de680501837437fee7e6961ef1a43230f743641733e8ded81f24 +SIZE (c1ee1bdac7990605ad0271f2bcb09edea4524c5a.diff) = 139333 diff --git a/games/openclonk/files/patch-CMakeLists.txt b/games/openclonk/files/patch-CMakeLists.txt index 24afcb82ee29..592aebc110e9 100644 --- a/games/openclonk/files/patch-CMakeLists.txt +++ b/games/openclonk/files/patch-CMakeLists.txt @@ -1,6 +1,6 @@ --- CMakeLists.txt.orig 2018-03-16 17:25:33 UTC +++ CMakeLists.txt -@@ -91,7 +91,6 @@ function(add_linker_flags) +@@ -91,7 +91,6 @@ endfunction() endforeach() endfunction() @@ -8,7 +8,16 @@ if(USE_GCC_STYLE_LTCG) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -flto") set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -flto") -@@ -337,8 +336,6 @@ if(READLINE_FOUND) +@@ -167,7 +166,7 @@ if(UNIX) + endif() + + if(UNIX) +- add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/games/openclonk\"") ++ add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/openclonk\"") + endif() + + if(APPLE) +@@ -337,8 +336,6 @@ SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL endif() SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available") @@ -17,7 +26,7 @@ # Select an audio library find_package("Audio") if(Audio_FOUND) -@@ -356,8 +353,6 @@ set(HAVE_SDL ${SDL2_FOUND}) +@@ -356,8 +353,6 @@ include_directories(SYSTEM ${SDL2_INCLUDE_DIRS}) include_directories(SYSTEM ${SDL2_INCLUDE_DIRS}) # Qt5 for editor @@ -26,3 +35,28 @@ if(Qt5Widgets_FOUND) SET(WITH_QT_EDITOR ${Qt5Widgets_FOUND} "Qt editor dialogues available") set(CMAKE_AUTOMOC ON) +@@ -1537,13 +1532,13 @@ foreach(group ${OC_C4GROUPS}) + DEPENDS "${native_c4group}" + VERBATIM + ) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/openclonk) + endif() + endforeach() + + if(NOT APPLE) + if(NOT HEADLESS_ONLY) +- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/planet/Music.ocg DESTINATION share/games/openclonk) ++ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/planet/Music.ocg DESTINATION share/openclonk) + endif() + # group files (game data) + add_custom_target(groups DEPENDS ${OC_C4GROUPS}) +@@ -1563,7 +1558,7 @@ if(NOT HEADLESS_ONLY) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.appdata.xml DESTINATION share/appdata) + + # Install binaries +- install(TARGETS openclonk DESTINATION games) ++ install(TARGETS openclonk DESTINATION bin) + else() + install(TARGETS openclonk + BUNDLE DESTINATION . diff --git a/games/openclonk/files/patch-blake2 b/games/openclonk/files/patch-blake2 new file mode 100644 index 000000000000..f7aa744692dd --- /dev/null +++ b/games/openclonk/files/patch-blake2 @@ -0,0 +1,10621 @@ +This patch set updates blake2 and enables compilation on non-x86. It is +an amalgamation of the following upstream patches, which could not be +taken from upstream directly due to the presence of a merge: + +c1ee1bdac Fix the most horrible merge I've done yet +c29148803 Merge branch 'blake2-no-sse2' into stable-8 +e0850947b BLAKE2: Fall back to plain C implementation on non-amd64 platforms +288e9f339 Merge commit '9493ed1277ef924c3005a9ff51f194d1cda87947' as 'thirdparty/blake2' + +Files not needed for compilation were omitted to save space. + +--- thirdparty/blake2/CMakeLists.txt.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/CMakeLists.txt +@@ -11,33 +11,64 @@ + # To redistribute this file separately, substitute the full license texts + # for the above references. + +-add_library(blake2 STATIC +- blake2.h +-) ++include(CheckCSourceCompiles) + +-target_sources(blake2 +- PRIVATE +- blake2b.c +- blake2bp.c +- blake2s.c +- blake2sp.c +- blake2xb.c +- blake2xs.c +- blake2b-load-sse2.h +- blake2b-load-sse41.h +- blake2b-round.h +- blake2s-load-sse2.h +- blake2s-load-sse41.h +- blake2s-load-xop.h +- blake2s-round.h +- blake2-config.h +- blake2-impl.h +-) ++CHECK_C_SOURCE_COMPILES(" ++#if __x86_64 || __x86_64__ || __amd64 || __AMD64 || _M_X64 ++// x86-64 target system ++#else ++#error Not building for x86-64 ++#endif ++int main() {} ++" HAVE_X86_64) + +-include(CheckCCompilerFlag) +-CHECK_C_COMPILER_FLAG("-msse2" HAVE_CFLAG_MSSE2) +-target_compile_definitions(blake2 PRIVATE -DHAVE_SSE2) +-if(HAVE_CFLAG_MSSE2) +- target_compile_options(blake2 PUBLIC -msse2) ++option(BLAKE2B_USE_SSE2 "Use SSE2 instructions for BLAKE2b" ${HAVE_X86_64}) ++ ++if (BLAKE2B_USE_SSE2) ++ add_library(blake2 STATIC ++ sse/blake2.h ++ ) ++ ++ target_sources(blake2 ++ PRIVATE ++ sse/blake2b.c ++ sse/blake2bp.c ++ sse/blake2s.c ++ sse/blake2sp.c ++ sse/blake2xb.c ++ sse/blake2xs.c ++ sse/blake2b-load-sse2.h ++ sse/blake2b-load-sse41.h ++ sse/blake2b-round.h ++ sse/blake2s-load-sse2.h ++ sse/blake2s-load-sse41.h ++ sse/blake2s-load-xop.h ++ sse/blake2s-round.h ++ sse/blake2-config.h ++ sse/blake2-impl.h ++ ) ++ ++ include(CheckCCompilerFlag) ++ CHECK_C_COMPILER_FLAG("-msse2" HAVE_CFLAG_MSSE2) ++ target_compile_definitions(blake2 PRIVATE -DHAVE_SSE2) ++ if(HAVE_CFLAG_MSSE2) ++ target_compile_options(blake2 PUBLIC -msse2) ++ endif() ++ target_include_directories(blake2 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/sse) ++else() ++ add_library(blake2 STATIC ++ ref/blake2.h ++ ) ++ ++ target_sources(blake2 ++ PRIVATE ++ ref/blake2bp-ref.c ++ ref/blake2b-ref.c ++ ref/blake2sp-ref.c ++ ref/blake2s-ref.c ++ ref/blake2xb-ref.c ++ ref/blake2xs-ref.c ++ ref/blake2-impl.h ++ ) ++ target_include_directories(blake2 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/ref) + endif() +-target_include_directories(blake2 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +--- thirdparty/blake2/blake2-config.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2-config.h +@@ -1,72 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2_CONFIG_H +-#define BLAKE2_CONFIG_H +- +-/* These don't work everywhere */ +-#if defined(__SSE2__) || defined(__x86_64__) || defined(__amd64__) +-#define HAVE_SSE2 +-#endif +- +-#if defined(__SSSE3__) +-#define HAVE_SSSE3 +-#endif +- +-#if defined(__SSE4_1__) +-#define HAVE_SSE41 +-#endif +- +-#if defined(__AVX__) +-#define HAVE_AVX +-#endif +- +-#if defined(__XOP__) +-#define HAVE_XOP +-#endif +- +- +-#ifdef HAVE_AVX2 +-#ifndef HAVE_AVX +-#define HAVE_AVX +-#endif +-#endif +- +-#ifdef HAVE_XOP +-#ifndef HAVE_AVX +-#define HAVE_AVX +-#endif +-#endif +- +-#ifdef HAVE_AVX +-#ifndef HAVE_SSE41 +-#define HAVE_SSE41 +-#endif +-#endif +- +-#ifdef HAVE_SSE41 +-#ifndef HAVE_SSSE3 +-#define HAVE_SSSE3 +-#endif +-#endif +- +-#ifdef HAVE_SSSE3 +-#define HAVE_SSE2 +-#endif +- +-#if !defined(HAVE_SSE2) +-#error "This code requires at least SSE2." +-#endif +- +-#endif +--- thirdparty/blake2/blake2-impl.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2-impl.h +@@ -1,160 +0,0 @@ +-/* +- BLAKE2 reference source code package - reference C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2_IMPL_H +-#define BLAKE2_IMPL_H +- +-#include <stdint.h> +-#include <string.h> +- +-#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) +- #if defined(_MSC_VER) +- #define BLAKE2_INLINE __inline +- #elif defined(__GNUC__) +- #define BLAKE2_INLINE __inline__ +- #else +- #define BLAKE2_INLINE +- #endif +-#else +- #define BLAKE2_INLINE inline +-#endif +- +-static BLAKE2_INLINE uint32_t load32( const void *src ) +-{ +-#if defined(NATIVE_LITTLE_ENDIAN) +- uint32_t w; +- memcpy(&w, src, sizeof w); +- return w; +-#else +- const uint8_t *p = ( const uint8_t * )src; +- return (( uint32_t )( p[0] ) << 0) | +- (( uint32_t )( p[1] ) << 8) | +- (( uint32_t )( p[2] ) << 16) | +- (( uint32_t )( p[3] ) << 24) ; +-#endif +-} +- +-static BLAKE2_INLINE uint64_t load64( const void *src ) +-{ +-#if defined(NATIVE_LITTLE_ENDIAN) +- uint64_t w; +- memcpy(&w, src, sizeof w); +- return w; +-#else +- const uint8_t *p = ( const uint8_t * )src; +- return (( uint64_t )( p[0] ) << 0) | +- (( uint64_t )( p[1] ) << 8) | +- (( uint64_t )( p[2] ) << 16) | +- (( uint64_t )( p[3] ) << 24) | +- (( uint64_t )( p[4] ) << 32) | +- (( uint64_t )( p[5] ) << 40) | +- (( uint64_t )( p[6] ) << 48) | +- (( uint64_t )( p[7] ) << 56) ; +-#endif +-} +- +-static BLAKE2_INLINE uint16_t load16( const void *src ) +-{ +-#if defined(NATIVE_LITTLE_ENDIAN) +- uint16_t w; +- memcpy(&w, src, sizeof w); +- return w; +-#else +- const uint8_t *p = ( const uint8_t * )src; +- return (( uint16_t )( p[0] ) << 0) | +- (( uint16_t )( p[1] ) << 8) ; +-#endif +-} +- +-static BLAKE2_INLINE void store16( void *dst, uint16_t w ) +-{ +-#if defined(NATIVE_LITTLE_ENDIAN) +- memcpy(dst, &w, sizeof w); +-#else +- uint8_t *p = ( uint8_t * )dst; +- *p++ = ( uint8_t )w; w >>= 8; +- *p++ = ( uint8_t )w; +-#endif +-} +- +-static BLAKE2_INLINE void store32( void *dst, uint32_t w ) +-{ +-#if defined(NATIVE_LITTLE_ENDIAN) +- memcpy(dst, &w, sizeof w); +-#else +- uint8_t *p = ( uint8_t * )dst; +- p[0] = (uint8_t)(w >> 0); +- p[1] = (uint8_t)(w >> 8); +- p[2] = (uint8_t)(w >> 16); +- p[3] = (uint8_t)(w >> 24); +-#endif +-} +- +-static BLAKE2_INLINE void store64( void *dst, uint64_t w ) +-{ +-#if defined(NATIVE_LITTLE_ENDIAN) +- memcpy(dst, &w, sizeof w); +-#else +- uint8_t *p = ( uint8_t * )dst; +- p[0] = (uint8_t)(w >> 0); +- p[1] = (uint8_t)(w >> 8); +- p[2] = (uint8_t)(w >> 16); +- p[3] = (uint8_t)(w >> 24); +- p[4] = (uint8_t)(w >> 32); +- p[5] = (uint8_t)(w >> 40); +- p[6] = (uint8_t)(w >> 48); +- p[7] = (uint8_t)(w >> 56); +-#endif +-} +- +-static BLAKE2_INLINE uint64_t load48( const void *src ) +-{ +- const uint8_t *p = ( const uint8_t * )src; +- return (( uint64_t )( p[0] ) << 0) | +- (( uint64_t )( p[1] ) << 8) | +- (( uint64_t )( p[2] ) << 16) | +- (( uint64_t )( p[3] ) << 24) | +- (( uint64_t )( p[4] ) << 32) | +- (( uint64_t )( p[5] ) << 40) ; +-} +- +-static BLAKE2_INLINE void store48( void *dst, uint64_t w ) +-{ +- uint8_t *p = ( uint8_t * )dst; +- p[0] = (uint8_t)(w >> 0); +- p[1] = (uint8_t)(w >> 8); +- p[2] = (uint8_t)(w >> 16); +- p[3] = (uint8_t)(w >> 24); +- p[4] = (uint8_t)(w >> 32); +- p[5] = (uint8_t)(w >> 40); +-} +- +-static BLAKE2_INLINE uint32_t rotr32( const uint32_t w, const unsigned c ) +-{ +- return ( w >> c ) | ( w << ( 32 - c ) ); +-} +- +-static BLAKE2_INLINE uint64_t rotr64( const uint64_t w, const unsigned c ) +-{ +- return ( w >> c ) | ( w << ( 64 - c ) ); +-} +- +-/* prevents compiler optimizing out memset() */ +-static BLAKE2_INLINE void secure_zero_memory(void *v, size_t n) +-{ +- static void *(*const volatile memset_v)(void *, int, size_t) = &memset; +- memset_v(v, 0, n); +-} +- +-#endif +--- thirdparty/blake2/blake2.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2.h +@@ -1,195 +0,0 @@ +-/* +- BLAKE2 reference source code package - reference C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2_H +-#define BLAKE2_H +- +-#include <stddef.h> +-#include <stdint.h> +- +-#if defined(_MSC_VER) +-#define BLAKE2_PACKED(x) __pragma(pack(push, 1)) x __pragma(pack(pop)) +-#else +-#define BLAKE2_PACKED(x) x __attribute__((packed)) +-#endif +- +-#if defined(__cplusplus) +-extern "C" { +-#endif +- +- enum blake2s_constant +- { +- BLAKE2S_BLOCKBYTES = 64, +- BLAKE2S_OUTBYTES = 32, +- BLAKE2S_KEYBYTES = 32, +- BLAKE2S_SALTBYTES = 8, +- BLAKE2S_PERSONALBYTES = 8 +- }; +- +- enum blake2b_constant +- { +- BLAKE2B_BLOCKBYTES = 128, +- BLAKE2B_OUTBYTES = 64, +- BLAKE2B_KEYBYTES = 64, +- BLAKE2B_SALTBYTES = 16, +- BLAKE2B_PERSONALBYTES = 16 +- }; +- +- typedef struct blake2s_state__ +- { +- uint32_t h[8]; +- uint32_t t[2]; +- uint32_t f[2]; +- uint8_t buf[BLAKE2S_BLOCKBYTES]; +- size_t buflen; +- size_t outlen; +- uint8_t last_node; +- } blake2s_state; +- +- typedef struct blake2b_state__ +- { +- uint64_t h[8]; +- uint64_t t[2]; +- uint64_t f[2]; +- uint8_t buf[BLAKE2B_BLOCKBYTES]; +- size_t buflen; +- size_t outlen; +- uint8_t last_node; +- } blake2b_state; +- +- typedef struct blake2sp_state__ +- { +- blake2s_state S[8][1]; +- blake2s_state R[1]; +- uint8_t buf[8 * BLAKE2S_BLOCKBYTES]; +- size_t buflen; +- size_t outlen; +- } blake2sp_state; +- +- typedef struct blake2bp_state__ +- { +- blake2b_state S[4][1]; +- blake2b_state R[1]; +- uint8_t buf[4 * BLAKE2B_BLOCKBYTES]; +- size_t buflen; +- size_t outlen; +- } blake2bp_state; +- +- +- BLAKE2_PACKED(struct blake2s_param__ +- { +- uint8_t digest_length; /* 1 */ +- uint8_t key_length; /* 2 */ +- uint8_t fanout; /* 3 */ +- uint8_t depth; /* 4 */ +- uint32_t leaf_length; /* 8 */ +- uint32_t node_offset; /* 12 */ +- uint16_t xof_length; /* 14 */ +- uint8_t node_depth; /* 15 */ +- uint8_t inner_length; /* 16 */ +- /* uint8_t reserved[0]; */ +- uint8_t salt[BLAKE2S_SALTBYTES]; /* 24 */ +- uint8_t personal[BLAKE2S_PERSONALBYTES]; /* 32 */ +- }); +- +- typedef struct blake2s_param__ blake2s_param; +- +- BLAKE2_PACKED(struct blake2b_param__ +- { +- uint8_t digest_length; /* 1 */ +- uint8_t key_length; /* 2 */ +- uint8_t fanout; /* 3 */ +- uint8_t depth; /* 4 */ +- uint32_t leaf_length; /* 8 */ +- uint32_t node_offset; /* 12 */ +- uint32_t xof_length; /* 16 */ +- uint8_t node_depth; /* 17 */ +- uint8_t inner_length; /* 18 */ +- uint8_t reserved[14]; /* 32 */ +- uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */ +- uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */ +- }); +- +- typedef struct blake2b_param__ blake2b_param; +- +- typedef struct blake2xs_state__ +- { +- blake2s_state S[1]; +- blake2s_param P[1]; +- } blake2xs_state; +- +- typedef struct blake2xb_state__ +- { +- blake2b_state S[1]; +- blake2b_param P[1]; +- } blake2xb_state; +- +- /* Padded structs result in a compile-time error */ +- enum { +- BLAKE2_DUMMY_1 = 1/(sizeof(blake2s_param) == BLAKE2S_OUTBYTES), +- BLAKE2_DUMMY_2 = 1/(sizeof(blake2b_param) == BLAKE2B_OUTBYTES) +- }; +- +- /* Streaming API */ +- int blake2s_init( blake2s_state *S, size_t outlen ); +- int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ); +- int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); +- int blake2s_update( blake2s_state *S, const void *in, size_t inlen ); +- int blake2s_final( blake2s_state *S, void *out, size_t outlen ); +- +- int blake2b_init( blake2b_state *S, size_t outlen ); +- int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ); +- int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); +- int blake2b_update( blake2b_state *S, const void *in, size_t inlen ); +- int blake2b_final( blake2b_state *S, void *out, size_t outlen ); +- +- int blake2sp_init( blake2sp_state *S, size_t outlen ); +- int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ); +- int blake2sp_update( blake2sp_state *S, const void *in, size_t inlen ); +- int blake2sp_final( blake2sp_state *S, void *out, size_t outlen ); +- +- int blake2bp_init( blake2bp_state *S, size_t outlen ); +- int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen ); +- int blake2bp_update( blake2bp_state *S, const void *in, size_t inlen ); +- int blake2bp_final( blake2bp_state *S, void *out, size_t outlen ); +- +- /* Variable output length API */ +- int blake2xs_init( blake2xs_state *S, const size_t outlen ); +- int blake2xs_init_key( blake2xs_state *S, const size_t outlen, const void *key, size_t keylen ); +- int blake2xs_update( blake2xs_state *S, const void *in, size_t inlen ); +- int blake2xs_final(blake2xs_state *S, void *out, size_t outlen); +- +- int blake2xb_init( blake2xb_state *S, const size_t outlen ); +- int blake2xb_init_key( blake2xb_state *S, const size_t outlen, const void *key, size_t keylen ); +- int blake2xb_update( blake2xb_state *S, const void *in, size_t inlen ); +- int blake2xb_final(blake2xb_state *S, void *out, size_t outlen); +- +- /* Simple API */ +- int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- +- int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- +- int blake2xs( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- int blake2xb( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- +- /* This is simply an alias for blake2b */ +- int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- +-#if defined(__cplusplus) +-} +-#endif +- +-#endif +--- thirdparty/blake2/blake2b-load-sse2.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2b-load-sse2.h +@@ -1,68 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2B_LOAD_SSE2_H +-#define BLAKE2B_LOAD_SSE2_H +- +-#define LOAD_MSG_0_1(b0, b1) b0 = _mm_set_epi64x(m2, m0); b1 = _mm_set_epi64x(m6, m4) +-#define LOAD_MSG_0_2(b0, b1) b0 = _mm_set_epi64x(m3, m1); b1 = _mm_set_epi64x(m7, m5) +-#define LOAD_MSG_0_3(b0, b1) b0 = _mm_set_epi64x(m10, m8); b1 = _mm_set_epi64x(m14, m12) +-#define LOAD_MSG_0_4(b0, b1) b0 = _mm_set_epi64x(m11, m9); b1 = _mm_set_epi64x(m15, m13) +-#define LOAD_MSG_1_1(b0, b1) b0 = _mm_set_epi64x(m4, m14); b1 = _mm_set_epi64x(m13, m9) +-#define LOAD_MSG_1_2(b0, b1) b0 = _mm_set_epi64x(m8, m10); b1 = _mm_set_epi64x(m6, m15) +-#define LOAD_MSG_1_3(b0, b1) b0 = _mm_set_epi64x(m0, m1); b1 = _mm_set_epi64x(m5, m11) +-#define LOAD_MSG_1_4(b0, b1) b0 = _mm_set_epi64x(m2, m12); b1 = _mm_set_epi64x(m3, m7) +-#define LOAD_MSG_2_1(b0, b1) b0 = _mm_set_epi64x(m12, m11); b1 = _mm_set_epi64x(m15, m5) +-#define LOAD_MSG_2_2(b0, b1) b0 = _mm_set_epi64x(m0, m8); b1 = _mm_set_epi64x(m13, m2) +-#define LOAD_MSG_2_3(b0, b1) b0 = _mm_set_epi64x(m3, m10); b1 = _mm_set_epi64x(m9, m7) +-#define LOAD_MSG_2_4(b0, b1) b0 = _mm_set_epi64x(m6, m14); b1 = _mm_set_epi64x(m4, m1) +-#define LOAD_MSG_3_1(b0, b1) b0 = _mm_set_epi64x(m3, m7); b1 = _mm_set_epi64x(m11, m13) +-#define LOAD_MSG_3_2(b0, b1) b0 = _mm_set_epi64x(m1, m9); b1 = _mm_set_epi64x(m14, m12) +-#define LOAD_MSG_3_3(b0, b1) b0 = _mm_set_epi64x(m5, m2); b1 = _mm_set_epi64x(m15, m4) +-#define LOAD_MSG_3_4(b0, b1) b0 = _mm_set_epi64x(m10, m6); b1 = _mm_set_epi64x(m8, m0) +-#define LOAD_MSG_4_1(b0, b1) b0 = _mm_set_epi64x(m5, m9); b1 = _mm_set_epi64x(m10, m2) +-#define LOAD_MSG_4_2(b0, b1) b0 = _mm_set_epi64x(m7, m0); b1 = _mm_set_epi64x(m15, m4) +-#define LOAD_MSG_4_3(b0, b1) b0 = _mm_set_epi64x(m11, m14); b1 = _mm_set_epi64x(m3, m6) +-#define LOAD_MSG_4_4(b0, b1) b0 = _mm_set_epi64x(m12, m1); b1 = _mm_set_epi64x(m13, m8) +-#define LOAD_MSG_5_1(b0, b1) b0 = _mm_set_epi64x(m6, m2); b1 = _mm_set_epi64x(m8, m0) +-#define LOAD_MSG_5_2(b0, b1) b0 = _mm_set_epi64x(m10, m12); b1 = _mm_set_epi64x(m3, m11) +-#define LOAD_MSG_5_3(b0, b1) b0 = _mm_set_epi64x(m7, m4); b1 = _mm_set_epi64x(m1, m15) +-#define LOAD_MSG_5_4(b0, b1) b0 = _mm_set_epi64x(m5, m13); b1 = _mm_set_epi64x(m9, m14) +-#define LOAD_MSG_6_1(b0, b1) b0 = _mm_set_epi64x(m1, m12); b1 = _mm_set_epi64x(m4, m14) +-#define LOAD_MSG_6_2(b0, b1) b0 = _mm_set_epi64x(m15, m5); b1 = _mm_set_epi64x(m10, m13) +-#define LOAD_MSG_6_3(b0, b1) b0 = _mm_set_epi64x(m6, m0); b1 = _mm_set_epi64x(m8, m9) +-#define LOAD_MSG_6_4(b0, b1) b0 = _mm_set_epi64x(m3, m7); b1 = _mm_set_epi64x(m11, m2) +-#define LOAD_MSG_7_1(b0, b1) b0 = _mm_set_epi64x(m7, m13); b1 = _mm_set_epi64x(m3, m12) +-#define LOAD_MSG_7_2(b0, b1) b0 = _mm_set_epi64x(m14, m11); b1 = _mm_set_epi64x(m9, m1) +-#define LOAD_MSG_7_3(b0, b1) b0 = _mm_set_epi64x(m15, m5); b1 = _mm_set_epi64x(m2, m8) +-#define LOAD_MSG_7_4(b0, b1) b0 = _mm_set_epi64x(m4, m0); b1 = _mm_set_epi64x(m10, m6) +-#define LOAD_MSG_8_1(b0, b1) b0 = _mm_set_epi64x(m14, m6); b1 = _mm_set_epi64x(m0, m11) +-#define LOAD_MSG_8_2(b0, b1) b0 = _mm_set_epi64x(m9, m15); b1 = _mm_set_epi64x(m8, m3) +-#define LOAD_MSG_8_3(b0, b1) b0 = _mm_set_epi64x(m13, m12); b1 = _mm_set_epi64x(m10, m1) +-#define LOAD_MSG_8_4(b0, b1) b0 = _mm_set_epi64x(m7, m2); b1 = _mm_set_epi64x(m5, m4) +-#define LOAD_MSG_9_1(b0, b1) b0 = _mm_set_epi64x(m8, m10); b1 = _mm_set_epi64x(m1, m7) +-#define LOAD_MSG_9_2(b0, b1) b0 = _mm_set_epi64x(m4, m2); b1 = _mm_set_epi64x(m5, m6) +-#define LOAD_MSG_9_3(b0, b1) b0 = _mm_set_epi64x(m9, m15); b1 = _mm_set_epi64x(m13, m3) +-#define LOAD_MSG_9_4(b0, b1) b0 = _mm_set_epi64x(m14, m11); b1 = _mm_set_epi64x(m0, m12) +-#define LOAD_MSG_10_1(b0, b1) b0 = _mm_set_epi64x(m2, m0); b1 = _mm_set_epi64x(m6, m4) +-#define LOAD_MSG_10_2(b0, b1) b0 = _mm_set_epi64x(m3, m1); b1 = _mm_set_epi64x(m7, m5) +-#define LOAD_MSG_10_3(b0, b1) b0 = _mm_set_epi64x(m10, m8); b1 = _mm_set_epi64x(m14, m12) +-#define LOAD_MSG_10_4(b0, b1) b0 = _mm_set_epi64x(m11, m9); b1 = _mm_set_epi64x(m15, m13) +-#define LOAD_MSG_11_1(b0, b1) b0 = _mm_set_epi64x(m4, m14); b1 = _mm_set_epi64x(m13, m9) +-#define LOAD_MSG_11_2(b0, b1) b0 = _mm_set_epi64x(m8, m10); b1 = _mm_set_epi64x(m6, m15) +-#define LOAD_MSG_11_3(b0, b1) b0 = _mm_set_epi64x(m0, m1); b1 = _mm_set_epi64x(m5, m11) +-#define LOAD_MSG_11_4(b0, b1) b0 = _mm_set_epi64x(m2, m12); b1 = _mm_set_epi64x(m3, m7) +- +- +-#endif +--- thirdparty/blake2/blake2b-load-sse41.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2b-load-sse41.h +@@ -1,402 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2B_LOAD_SSE41_H +-#define BLAKE2B_LOAD_SSE41_H +- +-#define LOAD_MSG_0_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m0, m1); \ +-b1 = _mm_unpacklo_epi64(m2, m3); \ +-} while(0) +- +- +-#define LOAD_MSG_0_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m0, m1); \ +-b1 = _mm_unpackhi_epi64(m2, m3); \ +-} while(0) +- +- +-#define LOAD_MSG_0_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m4, m5); \ +-b1 = _mm_unpacklo_epi64(m6, m7); \ +-} while(0) +- +- +-#define LOAD_MSG_0_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m4, m5); \ +-b1 = _mm_unpackhi_epi64(m6, m7); \ +-} while(0) +- +- +-#define LOAD_MSG_1_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m7, m2); \ +-b1 = _mm_unpackhi_epi64(m4, m6); \ +-} while(0) +- +- +-#define LOAD_MSG_1_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m5, m4); \ +-b1 = _mm_alignr_epi8(m3, m7, 8); \ +-} while(0) +- +- +-#define LOAD_MSG_1_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1,0,3,2)); \ +-b1 = _mm_unpackhi_epi64(m5, m2); \ +-} while(0) +- +- +-#define LOAD_MSG_1_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m6, m1); \ +-b1 = _mm_unpackhi_epi64(m3, m1); \ +-} while(0) +- +- +-#define LOAD_MSG_2_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_alignr_epi8(m6, m5, 8); \ +-b1 = _mm_unpackhi_epi64(m2, m7); \ +-} while(0) +- +- +-#define LOAD_MSG_2_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m4, m0); \ +-b1 = _mm_blend_epi16(m1, m6, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_2_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_blend_epi16(m5, m1, 0xF0); \ +-b1 = _mm_unpackhi_epi64(m3, m4); \ +-} while(0) +- +- +-#define LOAD_MSG_2_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m7, m3); \ +-b1 = _mm_alignr_epi8(m2, m0, 8); \ +-} while(0) +- +- +-#define LOAD_MSG_3_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m3, m1); \ +-b1 = _mm_unpackhi_epi64(m6, m5); \ +-} while(0) +- +- +-#define LOAD_MSG_3_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m4, m0); \ +-b1 = _mm_unpacklo_epi64(m6, m7); \ +-} while(0) +- +- +-#define LOAD_MSG_3_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_blend_epi16(m1, m2, 0xF0); \ +-b1 = _mm_blend_epi16(m2, m7, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_3_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m3, m5); \ +-b1 = _mm_unpacklo_epi64(m0, m4); \ +-} while(0) +- +- +-#define LOAD_MSG_4_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m4, m2); \ +-b1 = _mm_unpacklo_epi64(m1, m5); \ +-} while(0) +- +- +-#define LOAD_MSG_4_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_blend_epi16(m0, m3, 0xF0); \ +-b1 = _mm_blend_epi16(m2, m7, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_4_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_blend_epi16(m7, m5, 0xF0); \ +-b1 = _mm_blend_epi16(m3, m1, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_4_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_alignr_epi8(m6, m0, 8); \ +-b1 = _mm_blend_epi16(m4, m6, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_5_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m1, m3); \ +-b1 = _mm_unpacklo_epi64(m0, m4); \ +-} while(0) +- +- +-#define LOAD_MSG_5_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m6, m5); \ +-b1 = _mm_unpackhi_epi64(m5, m1); \ +-} while(0) +- +- +-#define LOAD_MSG_5_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_blend_epi16(m2, m3, 0xF0); \ +-b1 = _mm_unpackhi_epi64(m7, m0); \ +-} while(0) +- +- +-#define LOAD_MSG_5_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m6, m2); \ +-b1 = _mm_blend_epi16(m7, m4, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_6_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_blend_epi16(m6, m0, 0xF0); \ +-b1 = _mm_unpacklo_epi64(m7, m2); \ +-} while(0) +- +- +-#define LOAD_MSG_6_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m2, m7); \ +-b1 = _mm_alignr_epi8(m5, m6, 8); \ +-} while(0) +- +- +-#define LOAD_MSG_6_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m0, m3); \ +-b1 = _mm_shuffle_epi32(m4, _MM_SHUFFLE(1,0,3,2)); \ +-} while(0) +- +- +-#define LOAD_MSG_6_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m3, m1); \ +-b1 = _mm_blend_epi16(m1, m5, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_7_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m6, m3); \ +-b1 = _mm_blend_epi16(m6, m1, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_7_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_alignr_epi8(m7, m5, 8); \ +-b1 = _mm_unpackhi_epi64(m0, m4); \ +-} while(0) +- +- +-#define LOAD_MSG_7_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m2, m7); \ +-b1 = _mm_unpacklo_epi64(m4, m1); \ +-} while(0) +- +- +-#define LOAD_MSG_7_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m0, m2); \ +-b1 = _mm_unpacklo_epi64(m3, m5); \ +-} while(0) +- +- +-#define LOAD_MSG_8_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m3, m7); \ +-b1 = _mm_alignr_epi8(m0, m5, 8); \ +-} while(0) +- +- +-#define LOAD_MSG_8_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m7, m4); \ +-b1 = _mm_alignr_epi8(m4, m1, 8); \ +-} while(0) +- +- +-#define LOAD_MSG_8_3(b0, b1) \ +-do \ +-{ \ +-b0 = m6; \ +-b1 = _mm_alignr_epi8(m5, m0, 8); \ +-} while(0) +- +- +-#define LOAD_MSG_8_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_blend_epi16(m1, m3, 0xF0); \ +-b1 = m2; \ +-} while(0) +- +- +-#define LOAD_MSG_9_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m5, m4); \ +-b1 = _mm_unpackhi_epi64(m3, m0); \ +-} while(0) +- +- +-#define LOAD_MSG_9_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m1, m2); \ +-b1 = _mm_blend_epi16(m3, m2, 0xF0); \ +-} while(0) +- +- +-#define LOAD_MSG_9_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m7, m4); \ +-b1 = _mm_unpackhi_epi64(m1, m6); \ +-} while(0) +- +- +-#define LOAD_MSG_9_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_alignr_epi8(m7, m5, 8); \ +-b1 = _mm_unpacklo_epi64(m6, m0); \ +-} while(0) +- +- +-#define LOAD_MSG_10_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m0, m1); \ +-b1 = _mm_unpacklo_epi64(m2, m3); \ +-} while(0) +- +- +-#define LOAD_MSG_10_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m0, m1); \ +-b1 = _mm_unpackhi_epi64(m2, m3); \ +-} while(0) +- +- +-#define LOAD_MSG_10_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m4, m5); \ +-b1 = _mm_unpacklo_epi64(m6, m7); \ +-} while(0) +- +- +-#define LOAD_MSG_10_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpackhi_epi64(m4, m5); \ +-b1 = _mm_unpackhi_epi64(m6, m7); \ +-} while(0) +- +- +-#define LOAD_MSG_11_1(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m7, m2); \ +-b1 = _mm_unpackhi_epi64(m4, m6); \ +-} while(0) +- +- +-#define LOAD_MSG_11_2(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m5, m4); \ +-b1 = _mm_alignr_epi8(m3, m7, 8); \ +-} while(0) +- +- +-#define LOAD_MSG_11_3(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1,0,3,2)); \ +-b1 = _mm_unpackhi_epi64(m5, m2); \ +-} while(0) +- +- +-#define LOAD_MSG_11_4(b0, b1) \ +-do \ +-{ \ +-b0 = _mm_unpacklo_epi64(m6, m1); \ +-b1 = _mm_unpackhi_epi64(m3, m1); \ +-} while(0) +- +- +-#endif +--- thirdparty/blake2/blake2b-round.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2b-round.h +@@ -1,157 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2B_ROUND_H +-#define BLAKE2B_ROUND_H +- +-#define LOADU(p) _mm_loadu_si128( (const __m128i *)(p) ) +-#define STOREU(p,r) _mm_storeu_si128((__m128i *)(p), r) +- +-#define TOF(reg) _mm_castsi128_ps((reg)) +-#define TOI(reg) _mm_castps_si128((reg)) +- +-#define LIKELY(x) __builtin_expect((x),1) +- +- +-/* Microarchitecture-specific macros */ +-#ifndef HAVE_XOP +-#ifdef HAVE_SSSE3 +-#define _mm_roti_epi64(x, c) \ +- (-(c) == 32) ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2,3,0,1)) \ +- : (-(c) == 24) ? _mm_shuffle_epi8((x), r24) \ +- : (-(c) == 16) ? _mm_shuffle_epi8((x), r16) \ +- : (-(c) == 63) ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), _mm_add_epi64((x), (x))) \ +- : _mm_xor_si128(_mm_srli_epi64((x), -(c)), _mm_slli_epi64((x), 64-(-(c)))) +-#else +-#define _mm_roti_epi64(r, c) _mm_xor_si128(_mm_srli_epi64( (r), -(c) ),_mm_slli_epi64( (r), 64-(-(c)) )) +-#endif +-#else +-/* ... */ +-#endif +- +- +- +-#define G1(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1) \ +- row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ +- row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ +- \ +- row4l = _mm_xor_si128(row4l, row1l); \ +- row4h = _mm_xor_si128(row4h, row1h); \ +- \ +- row4l = _mm_roti_epi64(row4l, -32); \ +- row4h = _mm_roti_epi64(row4h, -32); \ +- \ +- row3l = _mm_add_epi64(row3l, row4l); \ +- row3h = _mm_add_epi64(row3h, row4h); \ +- \ +- row2l = _mm_xor_si128(row2l, row3l); \ +- row2h = _mm_xor_si128(row2h, row3h); \ +- \ +- row2l = _mm_roti_epi64(row2l, -24); \ +- row2h = _mm_roti_epi64(row2h, -24); \ +- +-#define G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1) \ +- row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ +- row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ +- \ +- row4l = _mm_xor_si128(row4l, row1l); \ +- row4h = _mm_xor_si128(row4h, row1h); \ +- \ +- row4l = _mm_roti_epi64(row4l, -16); \ +- row4h = _mm_roti_epi64(row4h, -16); \ +- \ +- row3l = _mm_add_epi64(row3l, row4l); \ +- row3h = _mm_add_epi64(row3h, row4h); \ +- \ +- row2l = _mm_xor_si128(row2l, row3l); \ +- row2h = _mm_xor_si128(row2h, row3h); \ +- \ +- row2l = _mm_roti_epi64(row2l, -63); \ +- row2h = _mm_roti_epi64(row2h, -63); \ +- +-#if defined(HAVE_SSSE3) +-#define DIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ +- t0 = _mm_alignr_epi8(row2h, row2l, 8); \ +- t1 = _mm_alignr_epi8(row2l, row2h, 8); \ +- row2l = t0; \ +- row2h = t1; \ +- \ +- t0 = row3l; \ +- row3l = row3h; \ +- row3h = t0; \ +- \ +- t0 = _mm_alignr_epi8(row4h, row4l, 8); \ +- t1 = _mm_alignr_epi8(row4l, row4h, 8); \ +- row4l = t1; \ +- row4h = t0; +- +-#define UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ +- t0 = _mm_alignr_epi8(row2l, row2h, 8); \ +- t1 = _mm_alignr_epi8(row2h, row2l, 8); \ +- row2l = t0; \ +- row2h = t1; \ +- \ +- t0 = row3l; \ +- row3l = row3h; \ +- row3h = t0; \ +- \ +- t0 = _mm_alignr_epi8(row4l, row4h, 8); \ +- t1 = _mm_alignr_epi8(row4h, row4l, 8); \ +- row4l = t1; \ +- row4h = t0; +-#else +- +-#define DIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ +- t0 = row4l;\ +- t1 = row2l;\ +- row4l = row3l;\ +- row3l = row3h;\ +- row3h = row4l;\ +- row4l = _mm_unpackhi_epi64(row4h, _mm_unpacklo_epi64(t0, t0)); \ +- row4h = _mm_unpackhi_epi64(t0, _mm_unpacklo_epi64(row4h, row4h)); \ +- row2l = _mm_unpackhi_epi64(row2l, _mm_unpacklo_epi64(row2h, row2h)); \ +- row2h = _mm_unpackhi_epi64(row2h, _mm_unpacklo_epi64(t1, t1)) +- +-#define UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ +- t0 = row3l;\ +- row3l = row3h;\ +- row3h = t0;\ +- t0 = row2l;\ +- t1 = row4l;\ +- row2l = _mm_unpackhi_epi64(row2h, _mm_unpacklo_epi64(row2l, row2l)); \ +- row2h = _mm_unpackhi_epi64(t0, _mm_unpacklo_epi64(row2h, row2h)); \ +- row4l = _mm_unpackhi_epi64(row4l, _mm_unpacklo_epi64(row4h, row4h)); \ +- row4h = _mm_unpackhi_epi64(row4h, _mm_unpacklo_epi64(t1, t1)) +- +-#endif +- +-#if defined(HAVE_SSE41) +-#include "blake2b-load-sse41.h" +-#else +-#include "blake2b-load-sse2.h" +-#endif +- +-#define ROUND(r) \ +- LOAD_MSG_ ##r ##_1(b0, b1); \ +- G1(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ +- LOAD_MSG_ ##r ##_2(b0, b1); \ +- G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ +- DIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h); \ +- LOAD_MSG_ ##r ##_3(b0, b1); \ +- G1(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ +- LOAD_MSG_ ##r ##_4(b0, b1); \ +- G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ +- UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h); +- +-#endif +--- thirdparty/blake2/blake2b.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2b.c +@@ -1,373 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdint.h> +-#include <string.h> +-#include <stdio.h> +- +-#include "blake2.h" +-#include "blake2-impl.h" +- +-#include "blake2-config.h" +- +-#ifdef _MSC_VER +-#include <intrin.h> /* for _mm_set_epi64x */ +-#endif +-#include <emmintrin.h> +-#if defined(HAVE_SSSE3) +-#include <tmmintrin.h> +-#endif +-#if defined(HAVE_SSE41) +-#include <smmintrin.h> +-#endif +-#if defined(HAVE_AVX) +-#include <immintrin.h> +-#endif +-#if defined(HAVE_XOP) +-#include <x86intrin.h> +-#endif +- +-#include "blake2b-round.h" +- +-static const uint64_t blake2b_IV[8] = +-{ +- 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, +- 0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL, +- 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, +- 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL +-}; +- +-/* Some helper functions */ +-static void blake2b_set_lastnode( blake2b_state *S ) +-{ +- S->f[1] = (uint64_t)-1; +-} +- +-static int blake2b_is_lastblock( const blake2b_state *S ) +-{ +- return S->f[0] != 0; +-} +- +-static void blake2b_set_lastblock( blake2b_state *S ) +-{ +- if( S->last_node ) blake2b_set_lastnode( S ); +- +- S->f[0] = (uint64_t)-1; +-} +- +-static void blake2b_increment_counter( blake2b_state *S, const uint64_t inc ) +-{ +- S->t[0] += inc; +- S->t[1] += ( S->t[0] < inc ); +-} +- +-/* init xors IV with input parameter block */ +-int blake2b_init_param( blake2b_state *S, const blake2b_param *P ) +-{ +- size_t i; +- /*blake2b_init0( S ); */ +- const unsigned char * v = ( const unsigned char * )( blake2b_IV ); +- const unsigned char * p = ( const unsigned char * )( P ); +- unsigned char * h = ( unsigned char * )( S->h ); +- /* IV XOR ParamBlock */ +- memset( S, 0, sizeof( blake2b_state ) ); +- +- for( i = 0; i < BLAKE2B_OUTBYTES; ++i ) h[i] = v[i] ^ p[i]; +- +- S->outlen = P->digest_length; +- return 0; +-} +- +- +-/* Some sort of default parameter block initialization, for sequential blake2b */ +-int blake2b_init( blake2b_state *S, size_t outlen ) +-{ +- blake2b_param P[1]; +- +- if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1; +- +- P->digest_length = (uint8_t)outlen; +- P->key_length = 0; +- P->fanout = 1; +- P->depth = 1; +- store32( &P->leaf_length, 0 ); +- store32( &P->node_offset, 0 ); +- store32( &P->xof_length, 0 ); +- P->node_depth = 0; +- P->inner_length = 0; +- memset( P->reserved, 0, sizeof( P->reserved ) ); +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- +- return blake2b_init_param( S, P ); +-} +- +-int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ) +-{ +- blake2b_param P[1]; +- +- if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1; +- +- if ( ( !keylen ) || keylen > BLAKE2B_KEYBYTES ) return -1; +- +- P->digest_length = (uint8_t)outlen; +- P->key_length = (uint8_t)keylen; +- P->fanout = 1; +- P->depth = 1; +- store32( &P->leaf_length, 0 ); +- store32( &P->node_offset, 0 ); +- store32( &P->xof_length, 0 ); +- P->node_depth = 0; +- P->inner_length = 0; +- memset( P->reserved, 0, sizeof( P->reserved ) ); +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- +- if( blake2b_init_param( S, P ) < 0 ) +- return 0; +- +- { +- uint8_t block[BLAKE2B_BLOCKBYTES]; +- memset( block, 0, BLAKE2B_BLOCKBYTES ); +- memcpy( block, key, keylen ); +- blake2b_update( S, block, BLAKE2B_BLOCKBYTES ); +- secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ +- } +- return 0; +-} +- +-static void blake2b_compress( blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES] ) +-{ +- __m128i row1l, row1h; +- __m128i row2l, row2h; +- __m128i row3l, row3h; +- __m128i row4l, row4h; +- __m128i b0, b1; +- __m128i t0, t1; +-#if defined(HAVE_SSSE3) && !defined(HAVE_XOP) +- const __m128i r16 = _mm_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9 ); +- const __m128i r24 = _mm_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10 ); +-#endif +-#if defined(HAVE_SSE41) +- const __m128i m0 = LOADU( block + 00 ); +- const __m128i m1 = LOADU( block + 16 ); +- const __m128i m2 = LOADU( block + 32 ); +- const __m128i m3 = LOADU( block + 48 ); +- const __m128i m4 = LOADU( block + 64 ); +- const __m128i m5 = LOADU( block + 80 ); +- const __m128i m6 = LOADU( block + 96 ); +- const __m128i m7 = LOADU( block + 112 ); +-#else +- const uint64_t m0 = load64(block + 0 * sizeof(uint64_t)); +- const uint64_t m1 = load64(block + 1 * sizeof(uint64_t)); +- const uint64_t m2 = load64(block + 2 * sizeof(uint64_t)); +- const uint64_t m3 = load64(block + 3 * sizeof(uint64_t)); +- const uint64_t m4 = load64(block + 4 * sizeof(uint64_t)); +- const uint64_t m5 = load64(block + 5 * sizeof(uint64_t)); +- const uint64_t m6 = load64(block + 6 * sizeof(uint64_t)); +- const uint64_t m7 = load64(block + 7 * sizeof(uint64_t)); +- const uint64_t m8 = load64(block + 8 * sizeof(uint64_t)); +- const uint64_t m9 = load64(block + 9 * sizeof(uint64_t)); +- const uint64_t m10 = load64(block + 10 * sizeof(uint64_t)); +- const uint64_t m11 = load64(block + 11 * sizeof(uint64_t)); +- const uint64_t m12 = load64(block + 12 * sizeof(uint64_t)); +- const uint64_t m13 = load64(block + 13 * sizeof(uint64_t)); +- const uint64_t m14 = load64(block + 14 * sizeof(uint64_t)); +- const uint64_t m15 = load64(block + 15 * sizeof(uint64_t)); +-#endif +- row1l = LOADU( &S->h[0] ); +- row1h = LOADU( &S->h[2] ); +- row2l = LOADU( &S->h[4] ); +- row2h = LOADU( &S->h[6] ); +- row3l = LOADU( &blake2b_IV[0] ); +- row3h = LOADU( &blake2b_IV[2] ); +- row4l = _mm_xor_si128( LOADU( &blake2b_IV[4] ), LOADU( &S->t[0] ) ); +- row4h = _mm_xor_si128( LOADU( &blake2b_IV[6] ), LOADU( &S->f[0] ) ); +- ROUND( 0 ); +- ROUND( 1 ); +- ROUND( 2 ); +- ROUND( 3 ); +- ROUND( 4 ); +- ROUND( 5 ); +- ROUND( 6 ); +- ROUND( 7 ); +- ROUND( 8 ); +- ROUND( 9 ); +- ROUND( 10 ); +- ROUND( 11 ); +- row1l = _mm_xor_si128( row3l, row1l ); +- row1h = _mm_xor_si128( row3h, row1h ); +- STOREU( &S->h[0], _mm_xor_si128( LOADU( &S->h[0] ), row1l ) ); +- STOREU( &S->h[2], _mm_xor_si128( LOADU( &S->h[2] ), row1h ) ); +- row2l = _mm_xor_si128( row4l, row2l ); +- row2h = _mm_xor_si128( row4h, row2h ); +- STOREU( &S->h[4], _mm_xor_si128( LOADU( &S->h[4] ), row2l ) ); +- STOREU( &S->h[6], _mm_xor_si128( LOADU( &S->h[6] ), row2h ) ); +-} +- +- +-int blake2b_update( blake2b_state *S, const void *pin, size_t inlen ) +-{ +- const unsigned char * in = (const unsigned char *)pin; +- if( inlen > 0 ) +- { +- size_t left = S->buflen; +- size_t fill = BLAKE2B_BLOCKBYTES - left; +- if( inlen > fill ) +- { +- S->buflen = 0; +- memcpy( S->buf + left, in, fill ); /* Fill buffer */ +- blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES ); +- blake2b_compress( S, S->buf ); /* Compress */ +- in += fill; inlen -= fill; +- while(inlen > BLAKE2B_BLOCKBYTES) { +- blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); +- blake2b_compress( S, in ); +- in += BLAKE2B_BLOCKBYTES; +- inlen -= BLAKE2B_BLOCKBYTES; +- } +- } +- memcpy( S->buf + S->buflen, in, inlen ); +- S->buflen += inlen; +- } +- return 0; +-} +- +- +-int blake2b_final( blake2b_state *S, void *out, size_t outlen ) +-{ +- if( out == NULL || outlen < S->outlen ) +- return -1; +- +- if( blake2b_is_lastblock( S ) ) +- return -1; +- +- blake2b_increment_counter( S, S->buflen ); +- blake2b_set_lastblock( S ); +- memset( S->buf + S->buflen, 0, BLAKE2B_BLOCKBYTES - S->buflen ); /* Padding */ +- blake2b_compress( S, S->buf ); +- +- memcpy( out, &S->h[0], S->outlen ); +- return 0; +-} +- +- +-int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) +-{ +- blake2b_state S[1]; +- +- /* Verify parameters */ +- if ( NULL == in && inlen > 0 ) return -1; +- +- if ( NULL == out ) return -1; +- +- if( NULL == key && keylen > 0 ) return -1; +- +- if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; +- +- if( keylen > BLAKE2B_KEYBYTES ) return -1; +- +- if( keylen ) +- { +- if( blake2b_init_key( S, outlen, key, keylen ) < 0 ) return -1; +- } +- else +- { +- if( blake2b_init( S, outlen ) < 0 ) return -1; +- } +- +- blake2b_update( S, ( const uint8_t * )in, inlen ); +- blake2b_final( S, out, outlen ); +- return 0; +-} +- +-int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) { +- return blake2b(out, outlen, in, inlen, key, keylen); +-} +- +-#if defined(SUPERCOP) +-int crypto_hash( unsigned char *out, unsigned char *in, unsigned long long inlen ) +-{ +- return blake2b( out, BLAKE2B_OUTBYTES, in, inlen, NULL, 0 ); +-} +-#endif +- +-#if defined(BLAKE2B_SELFTEST) +-#include <string.h> +-#include "blake2-kat.h" +-int main( void ) +-{ +- uint8_t key[BLAKE2B_KEYBYTES]; +- uint8_t buf[BLAKE2_KAT_LENGTH]; +- size_t i, step; +- +- for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) +- key[i] = ( uint8_t )i; +- +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- buf[i] = ( uint8_t )i; +- +- /* Test simple API */ +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- { +- uint8_t hash[BLAKE2B_OUTBYTES]; +- blake2b( hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES ); +- +- if( 0 != memcmp( hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES ) ) +- { +- goto fail; +- } +- } +- +- /* Test streaming API */ +- for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { +- for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { +- uint8_t hash[BLAKE2B_OUTBYTES]; +- blake2b_state S; +- uint8_t * p = buf; +- size_t mlen = i; +- int err = 0; +- +- if( (err = blake2b_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0 ) { +- goto fail; +- } +- +- while (mlen >= step) { +- if ( (err = blake2b_update(&S, p, step)) < 0 ) { +- goto fail; +- } +- mlen -= step; +- p += step; +- } +- if ( (err = blake2b_update(&S, p, mlen)) < 0) { +- goto fail; +- } +- if ( (err = blake2b_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { +- goto fail; +- } +- +- if (0 != memcmp(hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES)) { +- goto fail; +- } +- } +- } +- +- puts( "ok" ); +- return 0; +-fail: +- puts("error"); +- return -1; +-} +-#endif +--- thirdparty/blake2/blake2bp.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2bp.c +@@ -1,361 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.h> +-#include <stdint.h> +- +-#if defined(_OPENMP) +-#include <omp.h> +-#endif +- +-#include "blake2.h" +-#include "blake2-impl.h" +- +-#define PARALLELISM_DEGREE 4 +- +-/* +- blake2b_init_param defaults to setting the expecting output length +- from the digest_length parameter block field. +- +- In some cases, however, we do not want this, as the output length +- of these instances is given by inner_length instead. +-*/ +-static int blake2bp_init_leaf_param( blake2b_state *S, const blake2b_param *P ) +-{ +- int err = blake2b_init_param(S, P); +- S->outlen = P->inner_length; +- return err; +-} +- +-static int blake2bp_init_leaf( blake2b_state *S, size_t outlen, size_t keylen, uint64_t offset ) +-{ +- blake2b_param P[1]; +- P->digest_length = (uint8_t)outlen; +- P->key_length = (uint8_t)keylen; +- P->fanout = PARALLELISM_DEGREE; +- P->depth = 2; +- P->leaf_length = 0; +- P->node_offset = offset; +- P->xof_length = 0; +- P->node_depth = 0; +- P->inner_length = BLAKE2B_OUTBYTES; +- memset( P->reserved, 0, sizeof( P->reserved ) ); +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- return blake2bp_init_leaf_param( S, P ); +-} +- +-static int blake2bp_init_root( blake2b_state *S, size_t outlen, size_t keylen ) +-{ +- blake2b_param P[1]; +- P->digest_length = (uint8_t)outlen; +- P->key_length = (uint8_t)keylen; +- P->fanout = PARALLELISM_DEGREE; +- P->depth = 2; +- P->leaf_length = 0; +- P->node_offset = 0; +- P->xof_length = 0; +- P->node_depth = 1; +- P->inner_length = BLAKE2B_OUTBYTES; +- memset( P->reserved, 0, sizeof( P->reserved ) ); +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- return blake2b_init_param( S, P ); +-} +- +- +-int blake2bp_init( blake2bp_state *S, size_t outlen ) +-{ +- size_t i; +- if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; +- +- memset( S->buf, 0, sizeof( S->buf ) ); +- S->buflen = 0; +- S->outlen = outlen; +- +- if( blake2bp_init_root( S->R, outlen, 0 ) < 0 ) +- return -1; +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- if( blake2bp_init_leaf( S->S[i], outlen, 0, i ) < 0 ) return -1; +- +- S->R->last_node = 1; +- S->S[PARALLELISM_DEGREE - 1]->last_node = 1; +- return 0; +-} +- +-int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen ) +-{ +- size_t i; +- +- if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; +- +- if( !key || !keylen || keylen > BLAKE2B_KEYBYTES ) return -1; +- +- memset( S->buf, 0, sizeof( S->buf ) ); +- S->buflen = 0; +- S->outlen = outlen; +- +- if( blake2bp_init_root( S->R, outlen, keylen ) < 0 ) +- return -1; +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- if( blake2bp_init_leaf( S->S[i], outlen, keylen, i ) < 0 ) return -1; +- +- S->R->last_node = 1; +- S->S[PARALLELISM_DEGREE - 1]->last_node = 1; +- { +- uint8_t block[BLAKE2B_BLOCKBYTES]; +- memset( block, 0, BLAKE2B_BLOCKBYTES ); +- memcpy( block, key, keylen ); +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2b_update( S->S[i], block, BLAKE2B_BLOCKBYTES ); +- +- secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ +- } +- return 0; +-} +- +- +-int blake2bp_update( blake2bp_state *S, const void *pin, size_t inlen ) +-{ +- const unsigned char * in = (const unsigned char *)pin; +- size_t left = S->buflen; +- size_t fill = sizeof( S->buf ) - left; +- size_t i; +- +- if( left && inlen >= fill ) +- { +- memcpy( S->buf + left, in, fill ); +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, BLAKE2B_BLOCKBYTES ); +- +- in += fill; +- inlen -= fill; +- left = 0; +- } +- +-#if defined(_OPENMP) +- #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) +-#else +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +-#endif +- { +-#if defined(_OPENMP) +- size_t i = omp_get_thread_num(); +-#endif +- size_t inlen__ = inlen; +- const unsigned char *in__ = ( const unsigned char * )in; +- in__ += i * BLAKE2B_BLOCKBYTES; +- +- while( inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ) +- { +- blake2b_update( S->S[i], in__, BLAKE2B_BLOCKBYTES ); +- in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; +- inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; +- } +- } +- +- in += inlen - inlen % ( PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ); +- inlen %= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; +- +- if( inlen > 0 ) +- memcpy( S->buf + left, in, inlen ); +- +- S->buflen = left + inlen; +- return 0; +-} +- +- +- +-int blake2bp_final( blake2bp_state *S, void *out, size_t outlen ) +-{ +- uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; +- size_t i; +- +- if(out == NULL || outlen < S->outlen) { +- return -1; +- } +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- { +- if( S->buflen > i * BLAKE2B_BLOCKBYTES ) +- { +- size_t left = S->buflen - i * BLAKE2B_BLOCKBYTES; +- +- if( left > BLAKE2B_BLOCKBYTES ) left = BLAKE2B_BLOCKBYTES; +- +- blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, left ); +- } +- +- blake2b_final( S->S[i], hash[i], BLAKE2B_OUTBYTES ); +- } +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2b_update( S->R, hash[i], BLAKE2B_OUTBYTES ); +- +- return blake2b_final( S->R, out, S->outlen ); +-} +- +-int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) +-{ +- uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; +- blake2b_state S[PARALLELISM_DEGREE][1]; +- blake2b_state FS[1]; +- size_t i; +- +- /* Verify parameters */ +- if ( NULL == in && inlen > 0 ) return -1; +- +- if ( NULL == out ) return -1; +- +- if( NULL == key && keylen > 0 ) return -1; +- +- if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; +- +- if( keylen > BLAKE2B_KEYBYTES ) return -1; +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- if( blake2bp_init_leaf( S[i], outlen, keylen, i ) < 0 ) return -1; +- +- S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ +- +- if( keylen > 0 ) +- { +- uint8_t block[BLAKE2B_BLOCKBYTES]; +- memset( block, 0, BLAKE2B_BLOCKBYTES ); +- memcpy( block, key, keylen ); +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2b_update( S[i], block, BLAKE2B_BLOCKBYTES ); +- +- secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ +- } +- +-#if defined(_OPENMP) +- #pragma omp parallel shared(S,hash), num_threads(PARALLELISM_DEGREE) +-#else +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +-#endif +- { +-#if defined(_OPENMP) +- size_t i = omp_get_thread_num(); +-#endif +- size_t inlen__ = inlen; +- const unsigned char *in__ = ( const unsigned char * )in; +- in__ += i * BLAKE2B_BLOCKBYTES; +- +- while( inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ) +- { +- blake2b_update( S[i], in__, BLAKE2B_BLOCKBYTES ); +- in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; +- inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; +- } +- +- if( inlen__ > i * BLAKE2B_BLOCKBYTES ) +- { +- const size_t left = inlen__ - i * BLAKE2B_BLOCKBYTES; +- const size_t len = left <= BLAKE2B_BLOCKBYTES ? left : BLAKE2B_BLOCKBYTES; +- blake2b_update( S[i], in__, len ); +- } +- +- blake2b_final( S[i], hash[i], BLAKE2B_OUTBYTES ); +- } +- +- if( blake2bp_init_root( FS, outlen, keylen ) < 0 ) +- return -1; +- +- FS->last_node = 1; /* Mark as last node */ +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2b_update( FS, hash[i], BLAKE2B_OUTBYTES ); +- +- return blake2b_final( FS, out, outlen ); +-} +- +- +-#if defined(BLAKE2BP_SELFTEST) +-#include <string.h> +-#include "blake2-kat.h" +-int main( void ) +-{ +- uint8_t key[BLAKE2B_KEYBYTES]; +- uint8_t buf[BLAKE2_KAT_LENGTH]; +- size_t i, step; +- +- for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) +- key[i] = ( uint8_t )i; +- +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- buf[i] = ( uint8_t )i; +- +- /* Test simple API */ +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- { +- uint8_t hash[BLAKE2B_OUTBYTES]; +- blake2bp( hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES ); +- +- if( 0 != memcmp( hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES ) ) +- { +- goto fail; +- } +- } +- +- /* Test streaming API */ +- for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { +- for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { +- uint8_t hash[BLAKE2B_OUTBYTES]; +- blake2bp_state S; +- uint8_t * p = buf; +- size_t mlen = i; +- int err = 0; +- +- if( (err = blake2bp_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0 ) { +- goto fail; +- } +- +- while (mlen >= step) { +- if ( (err = blake2bp_update(&S, p, step)) < 0 ) { +- goto fail; +- } +- mlen -= step; +- p += step; +- } +- if ( (err = blake2bp_update(&S, p, mlen)) < 0) { +- goto fail; +- } +- if ( (err = blake2bp_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { +- goto fail; +- } +- +- if (0 != memcmp(hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES)) { +- goto fail; +- } +- } +- } +- +- puts( "ok" ); +- return 0; +-fail: +- puts("error"); +- return -1; +-} +-#endif +--- thirdparty/blake2/blake2s-load-sse2.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2s-load-sse2.h +@@ -1,60 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2S_LOAD_SSE2_H +-#define BLAKE2S_LOAD_SSE2_H +- +-#define LOAD_MSG_0_1(buf) buf = _mm_set_epi32(m6,m4,m2,m0) +-#define LOAD_MSG_0_2(buf) buf = _mm_set_epi32(m7,m5,m3,m1) +-#define LOAD_MSG_0_3(buf) buf = _mm_set_epi32(m14,m12,m10,m8) +-#define LOAD_MSG_0_4(buf) buf = _mm_set_epi32(m15,m13,m11,m9) +-#define LOAD_MSG_1_1(buf) buf = _mm_set_epi32(m13,m9,m4,m14) +-#define LOAD_MSG_1_2(buf) buf = _mm_set_epi32(m6,m15,m8,m10) +-#define LOAD_MSG_1_3(buf) buf = _mm_set_epi32(m5,m11,m0,m1) +-#define LOAD_MSG_1_4(buf) buf = _mm_set_epi32(m3,m7,m2,m12) +-#define LOAD_MSG_2_1(buf) buf = _mm_set_epi32(m15,m5,m12,m11) +-#define LOAD_MSG_2_2(buf) buf = _mm_set_epi32(m13,m2,m0,m8) +-#define LOAD_MSG_2_3(buf) buf = _mm_set_epi32(m9,m7,m3,m10) +-#define LOAD_MSG_2_4(buf) buf = _mm_set_epi32(m4,m1,m6,m14) +-#define LOAD_MSG_3_1(buf) buf = _mm_set_epi32(m11,m13,m3,m7) +-#define LOAD_MSG_3_2(buf) buf = _mm_set_epi32(m14,m12,m1,m9) +-#define LOAD_MSG_3_3(buf) buf = _mm_set_epi32(m15,m4,m5,m2) +-#define LOAD_MSG_3_4(buf) buf = _mm_set_epi32(m8,m0,m10,m6) +-#define LOAD_MSG_4_1(buf) buf = _mm_set_epi32(m10,m2,m5,m9) +-#define LOAD_MSG_4_2(buf) buf = _mm_set_epi32(m15,m4,m7,m0) +-#define LOAD_MSG_4_3(buf) buf = _mm_set_epi32(m3,m6,m11,m14) +-#define LOAD_MSG_4_4(buf) buf = _mm_set_epi32(m13,m8,m12,m1) +-#define LOAD_MSG_5_1(buf) buf = _mm_set_epi32(m8,m0,m6,m2) +-#define LOAD_MSG_5_2(buf) buf = _mm_set_epi32(m3,m11,m10,m12) +-#define LOAD_MSG_5_3(buf) buf = _mm_set_epi32(m1,m15,m7,m4) +-#define LOAD_MSG_5_4(buf) buf = _mm_set_epi32(m9,m14,m5,m13) +-#define LOAD_MSG_6_1(buf) buf = _mm_set_epi32(m4,m14,m1,m12) +-#define LOAD_MSG_6_2(buf) buf = _mm_set_epi32(m10,m13,m15,m5) +-#define LOAD_MSG_6_3(buf) buf = _mm_set_epi32(m8,m9,m6,m0) +-#define LOAD_MSG_6_4(buf) buf = _mm_set_epi32(m11,m2,m3,m7) +-#define LOAD_MSG_7_1(buf) buf = _mm_set_epi32(m3,m12,m7,m13) +-#define LOAD_MSG_7_2(buf) buf = _mm_set_epi32(m9,m1,m14,m11) +-#define LOAD_MSG_7_3(buf) buf = _mm_set_epi32(m2,m8,m15,m5) +-#define LOAD_MSG_7_4(buf) buf = _mm_set_epi32(m10,m6,m4,m0) +-#define LOAD_MSG_8_1(buf) buf = _mm_set_epi32(m0,m11,m14,m6) +-#define LOAD_MSG_8_2(buf) buf = _mm_set_epi32(m8,m3,m9,m15) +-#define LOAD_MSG_8_3(buf) buf = _mm_set_epi32(m10,m1,m13,m12) +-#define LOAD_MSG_8_4(buf) buf = _mm_set_epi32(m5,m4,m7,m2) +-#define LOAD_MSG_9_1(buf) buf = _mm_set_epi32(m1,m7,m8,m10) +-#define LOAD_MSG_9_2(buf) buf = _mm_set_epi32(m5,m6,m4,m2) +-#define LOAD_MSG_9_3(buf) buf = _mm_set_epi32(m13,m3,m9,m15) +-#define LOAD_MSG_9_4(buf) buf = _mm_set_epi32(m0,m12,m14,m11) +- +- +-#endif +--- thirdparty/blake2/blake2s-load-sse41.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2s-load-sse41.h +@@ -1,229 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2S_LOAD_SSE41_H +-#define BLAKE2S_LOAD_SSE41_H +- +-#define LOAD_MSG_0_1(buf) \ +-buf = TOI(_mm_shuffle_ps(TOF(m0), TOF(m1), _MM_SHUFFLE(2,0,2,0))); +- +-#define LOAD_MSG_0_2(buf) \ +-buf = TOI(_mm_shuffle_ps(TOF(m0), TOF(m1), _MM_SHUFFLE(3,1,3,1))); +- +-#define LOAD_MSG_0_3(buf) \ +-buf = TOI(_mm_shuffle_ps(TOF(m2), TOF(m3), _MM_SHUFFLE(2,0,2,0))); +- +-#define LOAD_MSG_0_4(buf) \ +-buf = TOI(_mm_shuffle_ps(TOF(m2), TOF(m3), _MM_SHUFFLE(3,1,3,1))); +- +-#define LOAD_MSG_1_1(buf) \ +-t0 = _mm_blend_epi16(m1, m2, 0x0C); \ +-t1 = _mm_slli_si128(m3, 4); \ +-t2 = _mm_blend_epi16(t0, t1, 0xF0); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,1,0,3)); +- +-#define LOAD_MSG_1_2(buf) \ +-t0 = _mm_shuffle_epi32(m2,_MM_SHUFFLE(0,0,2,0)); \ +-t1 = _mm_blend_epi16(m1,m3,0xC0); \ +-t2 = _mm_blend_epi16(t0, t1, 0xF0); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,3,0,1)); +- +-#define LOAD_MSG_1_3(buf) \ +-t0 = _mm_slli_si128(m1, 4); \ +-t1 = _mm_blend_epi16(m2, t0, 0x30); \ +-t2 = _mm_blend_epi16(m0, t1, 0xF0); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,3,0,1)); +- +-#define LOAD_MSG_1_4(buf) \ +-t0 = _mm_unpackhi_epi32(m0,m1); \ +-t1 = _mm_slli_si128(m3, 4); \ +-t2 = _mm_blend_epi16(t0, t1, 0x0C); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,3,0,1)); +- +-#define LOAD_MSG_2_1(buf) \ +-t0 = _mm_unpackhi_epi32(m2,m3); \ +-t1 = _mm_blend_epi16(m3,m1,0x0C); \ +-t2 = _mm_blend_epi16(t0, t1, 0x0F); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(3,1,0,2)); +- +-#define LOAD_MSG_2_2(buf) \ +-t0 = _mm_unpacklo_epi32(m2,m0); \ +-t1 = _mm_blend_epi16(t0, m0, 0xF0); \ +-t2 = _mm_slli_si128(m3, 8); \ +-buf = _mm_blend_epi16(t1, t2, 0xC0); +- +-#define LOAD_MSG_2_3(buf) \ +-t0 = _mm_blend_epi16(m0, m2, 0x3C); \ +-t1 = _mm_srli_si128(m1, 12); \ +-t2 = _mm_blend_epi16(t0,t1,0x03); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,0,3,2)); +- +-#define LOAD_MSG_2_4(buf) \ +-t0 = _mm_slli_si128(m3, 4); \ +-t1 = _mm_blend_epi16(m0, m1, 0x33); \ +-t2 = _mm_blend_epi16(t1, t0, 0xC0); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(0,1,2,3)); +- +-#define LOAD_MSG_3_1(buf) \ +-t0 = _mm_unpackhi_epi32(m0,m1); \ +-t1 = _mm_unpackhi_epi32(t0, m2); \ +-t2 = _mm_blend_epi16(t1, m3, 0x0C); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(3,1,0,2)); +- +-#define LOAD_MSG_3_2(buf) \ +-t0 = _mm_slli_si128(m2, 8); \ +-t1 = _mm_blend_epi16(m3,m0,0x0C); \ +-t2 = _mm_blend_epi16(t1, t0, 0xC0); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,0,1,3)); +- +-#define LOAD_MSG_3_3(buf) \ +-t0 = _mm_blend_epi16(m0,m1,0x0F); \ +-t1 = _mm_blend_epi16(t0, m3, 0xC0); \ +-buf = _mm_shuffle_epi32(t1, _MM_SHUFFLE(3,0,1,2)); +- +-#define LOAD_MSG_3_4(buf) \ +-t0 = _mm_unpacklo_epi32(m0,m2); \ +-t1 = _mm_unpackhi_epi32(m1,m2); \ +-buf = _mm_unpacklo_epi64(t1,t0); +- +-#define LOAD_MSG_4_1(buf) \ +-t0 = _mm_unpacklo_epi64(m1,m2); \ +-t1 = _mm_unpackhi_epi64(m0,m2); \ +-t2 = _mm_blend_epi16(t0,t1,0x33); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,0,1,3)); +- +-#define LOAD_MSG_4_2(buf) \ +-t0 = _mm_unpackhi_epi64(m1,m3); \ +-t1 = _mm_unpacklo_epi64(m0,m1); \ +-buf = _mm_blend_epi16(t0,t1,0x33); +- +-#define LOAD_MSG_4_3(buf) \ +-t0 = _mm_unpackhi_epi64(m3,m1); \ +-t1 = _mm_unpackhi_epi64(m2,m0); \ +-buf = _mm_blend_epi16(t1,t0,0x33); +- +-#define LOAD_MSG_4_4(buf) \ +-t0 = _mm_blend_epi16(m0,m2,0x03); \ +-t1 = _mm_slli_si128(t0, 8); \ +-t2 = _mm_blend_epi16(t1,m3,0x0F); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,2,0,3)); +- +-#define LOAD_MSG_5_1(buf) \ +-t0 = _mm_unpackhi_epi32(m0,m1); \ +-t1 = _mm_unpacklo_epi32(m0,m2); \ +-buf = _mm_unpacklo_epi64(t0,t1); +- +-#define LOAD_MSG_5_2(buf) \ +-t0 = _mm_srli_si128(m2, 4); \ +-t1 = _mm_blend_epi16(m0,m3,0x03); \ +-buf = _mm_blend_epi16(t1,t0,0x3C); +- +-#define LOAD_MSG_5_3(buf) \ +-t0 = _mm_blend_epi16(m1,m0,0x0C); \ +-t1 = _mm_srli_si128(m3, 4); \ +-t2 = _mm_blend_epi16(t0,t1,0x30); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,2,3,0)); +- +-#define LOAD_MSG_5_4(buf) \ +-t0 = _mm_unpacklo_epi64(m1,m2); \ +-t1= _mm_shuffle_epi32(m3, _MM_SHUFFLE(0,2,0,1)); \ +-buf = _mm_blend_epi16(t0,t1,0x33); +- +-#define LOAD_MSG_6_1(buf) \ +-t0 = _mm_slli_si128(m1, 12); \ +-t1 = _mm_blend_epi16(m0,m3,0x33); \ +-buf = _mm_blend_epi16(t1,t0,0xC0); +- +-#define LOAD_MSG_6_2(buf) \ +-t0 = _mm_blend_epi16(m3,m2,0x30); \ +-t1 = _mm_srli_si128(m1, 4); \ +-t2 = _mm_blend_epi16(t0,t1,0x03); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,1,3,0)); +- +-#define LOAD_MSG_6_3(buf) \ +-t0 = _mm_unpacklo_epi64(m0,m2); \ +-t1 = _mm_srli_si128(m1, 4); \ +-buf = _mm_shuffle_epi32(_mm_blend_epi16(t0,t1,0x0C), _MM_SHUFFLE(2,3,1,0)); +- +-#define LOAD_MSG_6_4(buf) \ +-t0 = _mm_unpackhi_epi32(m1,m2); \ +-t1 = _mm_unpackhi_epi64(m0,t0); \ +-buf = _mm_shuffle_epi32(t1, _MM_SHUFFLE(3,0,1,2)); +- +-#define LOAD_MSG_7_1(buf) \ +-t0 = _mm_unpackhi_epi32(m0,m1); \ +-t1 = _mm_blend_epi16(t0,m3,0x0F); \ +-buf = _mm_shuffle_epi32(t1,_MM_SHUFFLE(2,0,3,1)); +- +-#define LOAD_MSG_7_2(buf) \ +-t0 = _mm_blend_epi16(m2,m3,0x30); \ +-t1 = _mm_srli_si128(m0,4); \ +-t2 = _mm_blend_epi16(t0,t1,0x03); \ +-buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,0,2,3)); +- +-#define LOAD_MSG_7_3(buf) \ +-t0 = _mm_unpackhi_epi64(m0,m3); \ +-t1 = _mm_unpacklo_epi64(m1,m2); \ +-t2 = _mm_blend_epi16(t0,t1,0x3C); \ +-buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(0,2,3,1)); +- +-#define LOAD_MSG_7_4(buf) \ +-t0 = _mm_unpacklo_epi32(m0,m1); \ +-t1 = _mm_unpackhi_epi32(m1,m2); \ +-buf = _mm_unpacklo_epi64(t0,t1); +- +-#define LOAD_MSG_8_1(buf) \ +-t0 = _mm_unpackhi_epi32(m1,m3); \ +-t1 = _mm_unpacklo_epi64(t0,m0); \ +-t2 = _mm_blend_epi16(t1,m2,0xC0); \ +-buf = _mm_shufflehi_epi16(t2,_MM_SHUFFLE(1,0,3,2)); +- +-#define LOAD_MSG_8_2(buf) \ +-t0 = _mm_unpackhi_epi32(m0,m3); \ +-t1 = _mm_blend_epi16(m2,t0,0xF0); \ +-buf = _mm_shuffle_epi32(t1,_MM_SHUFFLE(0,2,1,3)); +- +-#define LOAD_MSG_8_3(buf) \ +-t0 = _mm_blend_epi16(m2,m0,0x0C); \ +-t1 = _mm_slli_si128(t0,4); \ +-buf = _mm_blend_epi16(t1,m3,0x0F); +- +-#define LOAD_MSG_8_4(buf) \ +-t0 = _mm_blend_epi16(m1,m0,0x30); \ +-buf = _mm_shuffle_epi32(t0,_MM_SHUFFLE(1,0,3,2)); +- +-#define LOAD_MSG_9_1(buf) \ +-t0 = _mm_blend_epi16(m0,m2,0x03); \ +-t1 = _mm_blend_epi16(m1,m2,0x30); \ +-t2 = _mm_blend_epi16(t1,t0,0x0F); \ +-buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(1,3,0,2)); +- +-#define LOAD_MSG_9_2(buf) \ +-t0 = _mm_slli_si128(m0,4); \ +-t1 = _mm_blend_epi16(m1,t0,0xC0); \ +-buf = _mm_shuffle_epi32(t1,_MM_SHUFFLE(1,2,0,3)); +- +-#define LOAD_MSG_9_3(buf) \ +-t0 = _mm_unpackhi_epi32(m0,m3); \ +-t1 = _mm_unpacklo_epi32(m2,m3); \ +-t2 = _mm_unpackhi_epi64(t0,t1); \ +-buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(3,0,2,1)); +- +-#define LOAD_MSG_9_4(buf) \ +-t0 = _mm_blend_epi16(m3,m2,0xC0); \ +-t1 = _mm_unpacklo_epi32(m0,m3); \ +-t2 = _mm_blend_epi16(t0,t1,0x0F); \ +-buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(0,1,2,3)); +- +-#endif +--- thirdparty/blake2/blake2s-load-xop.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2s-load-xop.h +@@ -1,191 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2S_LOAD_XOP_H +-#define BLAKE2S_LOAD_XOP_H +- +-#define TOB(x) ((x)*4*0x01010101 + 0x03020100) /* ..or not TOB */ +- +-#if 0 +-/* Basic VPPERM emulation, for testing purposes */ +-static __m128i _mm_perm_epi8(const __m128i src1, const __m128i src2, const __m128i sel) +-{ +- const __m128i sixteen = _mm_set1_epi8(16); +- const __m128i t0 = _mm_shuffle_epi8(src1, sel); +- const __m128i s1 = _mm_shuffle_epi8(src2, _mm_sub_epi8(sel, sixteen)); +- const __m128i mask = _mm_or_si128(_mm_cmpeq_epi8(sel, sixteen), +- _mm_cmpgt_epi8(sel, sixteen)); /* (>=16) = 0xff : 00 */ +- return _mm_blendv_epi8(t0, s1, mask); +-} +-#endif +- +-#define LOAD_MSG_0_1(buf) \ +-buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); +- +-#define LOAD_MSG_0_2(buf) \ +-buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(7),TOB(5),TOB(3),TOB(1)) ); +- +-#define LOAD_MSG_0_3(buf) \ +-buf = _mm_perm_epi8(m2, m3, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); +- +-#define LOAD_MSG_0_4(buf) \ +-buf = _mm_perm_epi8(m2, m3, _mm_set_epi32(TOB(7),TOB(5),TOB(3),TOB(1)) ); +- +-#define LOAD_MSG_1_1(buf) \ +-t0 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(0),TOB(5),TOB(0),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(6)) ); +- +-#define LOAD_MSG_1_2(buf) \ +-t1 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(2),TOB(0),TOB(4),TOB(6)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_1_3(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(5),TOB(0),TOB(0),TOB(1)) ); \ +-buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_1_4(buf) \ +-t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(3),TOB(7),TOB(2),TOB(0)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(4)) ); +- +-#define LOAD_MSG_2_1(buf) \ +-t0 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(0),TOB(1),TOB(0),TOB(7)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(7),TOB(2),TOB(4),TOB(0)) ); +- +-#define LOAD_MSG_2_2(buf) \ +-t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(2),TOB(0),TOB(4)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_2_3(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(7),TOB(3),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(6)) ); +- +-#define LOAD_MSG_2_4(buf) \ +-t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(4),TOB(1),TOB(6),TOB(0)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(6)) ); +- +-#define LOAD_MSG_3_1(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(3),TOB(7)) ); \ +-t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(5),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_3_2(buf) \ +-t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(0),TOB(1),TOB(5)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(6),TOB(4),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_3_3(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(4),TOB(5),TOB(2)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_3_4(buf) \ +-t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(0),TOB(6)) ); \ +-buf = _mm_perm_epi8(t1, m2, _mm_set_epi32(TOB(4),TOB(2),TOB(6),TOB(0)) ); +- +-#define LOAD_MSG_4_1(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(2),TOB(5),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(6),TOB(2),TOB(1),TOB(5)) ); +- +-#define LOAD_MSG_4_2(buf) \ +-t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(4),TOB(7),TOB(0)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_4_3(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(3),TOB(6),TOB(0),TOB(0)) ); \ +-t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(2),TOB(7),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(6)) ); +- +-#define LOAD_MSG_4_4(buf) \ +-t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(4),TOB(0),TOB(1)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(4),TOB(0)) ); +- +-#define LOAD_MSG_5_1(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(6),TOB(2)) ); \ +-buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(4),TOB(2),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_5_2(buf) \ +-t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(3),TOB(7),TOB(6),TOB(0)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(4)) ); +- +-#define LOAD_MSG_5_3(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(1),TOB(0),TOB(7),TOB(4)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_5_4(buf) \ +-t1 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(5),TOB(0),TOB(1),TOB(0)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(6),TOB(1),TOB(5)) ); +- +-#define LOAD_MSG_6_1(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(4),TOB(0),TOB(1),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(6),TOB(1),TOB(4)) ); +- +-#define LOAD_MSG_6_2(buf) \ +-t1 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(6),TOB(0),TOB(0),TOB(1)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(5),TOB(7),TOB(0)) ); +- +-#define LOAD_MSG_6_3(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(6),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(4),TOB(5),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_6_4(buf) \ +-t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(2),TOB(3),TOB(7)) ); \ +-buf = _mm_perm_epi8(t1, m2, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_7_1(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(3),TOB(0),TOB(7),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(4),TOB(1),TOB(5)) ); +- +-#define LOAD_MSG_7_2(buf) \ +-t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(5),TOB(1),TOB(0),TOB(7)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(6),TOB(0)) ); +- +-#define LOAD_MSG_7_3(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(2),TOB(0),TOB(0),TOB(5)) ); \ +-t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(4),TOB(1),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(7),TOB(0)) ); +- +-#define LOAD_MSG_7_4(buf) \ +-t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(6),TOB(4),TOB(0)) ); \ +-buf = _mm_perm_epi8(t1, m2, _mm_set_epi32(TOB(6),TOB(2),TOB(1),TOB(0)) ); +- +-#define LOAD_MSG_8_1(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(0),TOB(6)) ); \ +-t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(6),TOB(0)) ); +- +-#define LOAD_MSG_8_2(buf) \ +-t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(4),TOB(3),TOB(5),TOB(0)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(7)) ); +- +-#define LOAD_MSG_8_3(buf) \ +-t0 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(6),TOB(1),TOB(0),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(5),TOB(4)) ); \ +- +-#define LOAD_MSG_8_4(buf) \ +-buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(5),TOB(4),TOB(7),TOB(2)) ); +- +-#define LOAD_MSG_9_1(buf) \ +-t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(1),TOB(7),TOB(0),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(2),TOB(4),TOB(6)) ); +- +-#define LOAD_MSG_9_2(buf) \ +-buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(5),TOB(6),TOB(4),TOB(2)) ); +- +-#define LOAD_MSG_9_3(buf) \ +-t0 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(3),TOB(5),TOB(0)) ); \ +-buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(7)) ); +- +-#define LOAD_MSG_9_4(buf) \ +-t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(0),TOB(0),TOB(7)) ); \ +-buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(4),TOB(6),TOB(0)) ); +- +-#endif +--- thirdparty/blake2/blake2s-round.h.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2s-round.h +@@ -1,88 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +-#ifndef BLAKE2S_ROUND_H +-#define BLAKE2S_ROUND_H +- +-#define LOADU(p) _mm_loadu_si128( (const __m128i *)(p) ) +-#define STOREU(p,r) _mm_storeu_si128((__m128i *)(p), r) +- +-#define TOF(reg) _mm_castsi128_ps((reg)) +-#define TOI(reg) _mm_castps_si128((reg)) +- +-#define LIKELY(x) __builtin_expect((x),1) +- +- +-/* Microarchitecture-specific macros */ +-#ifndef HAVE_XOP +-#ifdef HAVE_SSSE3 +-#define _mm_roti_epi32(r, c) ( \ +- (8==-(c)) ? _mm_shuffle_epi8(r,r8) \ +- : (16==-(c)) ? _mm_shuffle_epi8(r,r16) \ +- : _mm_xor_si128(_mm_srli_epi32( (r), -(c) ),_mm_slli_epi32( (r), 32-(-(c)) )) ) +-#else +-#define _mm_roti_epi32(r, c) _mm_xor_si128(_mm_srli_epi32( (r), -(c) ),_mm_slli_epi32( (r), 32-(-(c)) )) +-#endif +-#else +-/* ... */ +-#endif +- +- +-#define G1(row1,row2,row3,row4,buf) \ +- row1 = _mm_add_epi32( _mm_add_epi32( row1, buf), row2 ); \ +- row4 = _mm_xor_si128( row4, row1 ); \ +- row4 = _mm_roti_epi32(row4, -16); \ +- row3 = _mm_add_epi32( row3, row4 ); \ +- row2 = _mm_xor_si128( row2, row3 ); \ +- row2 = _mm_roti_epi32(row2, -12); +- +-#define G2(row1,row2,row3,row4,buf) \ +- row1 = _mm_add_epi32( _mm_add_epi32( row1, buf), row2 ); \ +- row4 = _mm_xor_si128( row4, row1 ); \ +- row4 = _mm_roti_epi32(row4, -8); \ +- row3 = _mm_add_epi32( row3, row4 ); \ +- row2 = _mm_xor_si128( row2, row3 ); \ +- row2 = _mm_roti_epi32(row2, -7); +- +-#define DIAGONALIZE(row1,row2,row3,row4) \ +- row4 = _mm_shuffle_epi32( row4, _MM_SHUFFLE(2,1,0,3) ); \ +- row3 = _mm_shuffle_epi32( row3, _MM_SHUFFLE(1,0,3,2) ); \ +- row2 = _mm_shuffle_epi32( row2, _MM_SHUFFLE(0,3,2,1) ); +- +-#define UNDIAGONALIZE(row1,row2,row3,row4) \ +- row4 = _mm_shuffle_epi32( row4, _MM_SHUFFLE(0,3,2,1) ); \ +- row3 = _mm_shuffle_epi32( row3, _MM_SHUFFLE(1,0,3,2) ); \ +- row2 = _mm_shuffle_epi32( row2, _MM_SHUFFLE(2,1,0,3) ); +- +-#if defined(HAVE_XOP) +-#include "blake2s-load-xop.h" +-#elif defined(HAVE_SSE41) +-#include "blake2s-load-sse41.h" +-#else +-#include "blake2s-load-sse2.h" +-#endif +- +-#define ROUND(r) \ +- LOAD_MSG_ ##r ##_1(buf1); \ +- G1(row1,row2,row3,row4,buf1); \ +- LOAD_MSG_ ##r ##_2(buf2); \ +- G2(row1,row2,row3,row4,buf2); \ +- DIAGONALIZE(row1,row2,row3,row4); \ +- LOAD_MSG_ ##r ##_3(buf3); \ +- G1(row1,row2,row3,row4,buf3); \ +- LOAD_MSG_ ##r ##_4(buf4); \ +- G2(row1,row2,row3,row4,buf4); \ +- UNDIAGONALIZE(row1,row2,row3,row4); \ +- +-#endif +--- thirdparty/blake2/blake2s.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2s.c +@@ -1,363 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdint.h> +-#include <string.h> +-#include <stdio.h> +- +-#include "blake2.h" +-#include "blake2-impl.h" +- +-#include "blake2-config.h" +- +- +-#include <emmintrin.h> +-#if defined(HAVE_SSSE3) +-#include <tmmintrin.h> +-#endif +-#if defined(HAVE_SSE41) +-#include <smmintrin.h> +-#endif +-#if defined(HAVE_AVX) +-#include <immintrin.h> +-#endif +-#if defined(HAVE_XOP) +-#include <x86intrin.h> +-#endif +- +-#include "blake2s-round.h" +- +-static const uint32_t blake2s_IV[8] = +-{ +- 0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL, +- 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL +-}; +- +-/* Some helper functions */ +-static void blake2s_set_lastnode( blake2s_state *S ) +-{ +- S->f[1] = (uint32_t)-1; +-} +- +-static int blake2s_is_lastblock( const blake2s_state *S ) +-{ +- return S->f[0] != 0; +-} +- +-static void blake2s_set_lastblock( blake2s_state *S ) +-{ +- if( S->last_node ) blake2s_set_lastnode( S ); +- +- S->f[0] = (uint32_t)-1; +-} +- +-static void blake2s_increment_counter( blake2s_state *S, const uint32_t inc ) +-{ +- uint64_t t = ( ( uint64_t )S->t[1] << 32 ) | S->t[0]; +- t += inc; +- S->t[0] = ( uint32_t )( t >> 0 ); +- S->t[1] = ( uint32_t )( t >> 32 ); +-} +- +-/* init2 xors IV with input parameter block */ +-int blake2s_init_param( blake2s_state *S, const blake2s_param *P ) +-{ +- size_t i; +- /*blake2s_init0( S ); */ +- const uint8_t * v = ( const uint8_t * )( blake2s_IV ); +- const uint8_t * p = ( const uint8_t * )( P ); +- uint8_t * h = ( uint8_t * )( S->h ); +- /* IV XOR ParamBlock */ +- memset( S, 0, sizeof( blake2s_state ) ); +- +- for( i = 0; i < BLAKE2S_OUTBYTES; ++i ) h[i] = v[i] ^ p[i]; +- +- S->outlen = P->digest_length; +- return 0; +-} +- +- +-/* Some sort of default parameter block initialization, for sequential blake2s */ +-int blake2s_init( blake2s_state *S, size_t outlen ) +-{ +- blake2s_param P[1]; +- +- /* Move interval verification here? */ +- if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1; +- +- P->digest_length = (uint8_t)outlen; +- P->key_length = 0; +- P->fanout = 1; +- P->depth = 1; +- store32( &P->leaf_length, 0 ); +- store32( &P->node_offset, 0 ); +- store16( &P->xof_length, 0 ); +- P->node_depth = 0; +- P->inner_length = 0; +- /* memset(P->reserved, 0, sizeof(P->reserved) ); */ +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- +- return blake2s_init_param( S, P ); +-} +- +- +-int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ) +-{ +- blake2s_param P[1]; +- +- /* Move interval verification here? */ +- if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1; +- +- if ( ( !key ) || ( !keylen ) || keylen > BLAKE2S_KEYBYTES ) return -1; +- +- P->digest_length = (uint8_t)outlen; +- P->key_length = (uint8_t)keylen; +- P->fanout = 1; +- P->depth = 1; +- store32( &P->leaf_length, 0 ); +- store32( &P->node_offset, 0 ); +- store16( &P->xof_length, 0 ); +- P->node_depth = 0; +- P->inner_length = 0; +- /* memset(P->reserved, 0, sizeof(P->reserved) ); */ +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- +- if( blake2s_init_param( S, P ) < 0 ) +- return -1; +- +- { +- uint8_t block[BLAKE2S_BLOCKBYTES]; +- memset( block, 0, BLAKE2S_BLOCKBYTES ); +- memcpy( block, key, keylen ); +- blake2s_update( S, block, BLAKE2S_BLOCKBYTES ); +- secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ +- } +- return 0; +-} +- +- +-static void blake2s_compress( blake2s_state *S, const uint8_t block[BLAKE2S_BLOCKBYTES] ) +-{ +- __m128i row1, row2, row3, row4; +- __m128i buf1, buf2, buf3, buf4; +-#if defined(HAVE_SSE41) +- __m128i t0, t1; +-#if !defined(HAVE_XOP) +- __m128i t2; +-#endif +-#endif +- __m128i ff0, ff1; +-#if defined(HAVE_SSSE3) && !defined(HAVE_XOP) +- const __m128i r8 = _mm_set_epi8( 12, 15, 14, 13, 8, 11, 10, 9, 4, 7, 6, 5, 0, 3, 2, 1 ); +- const __m128i r16 = _mm_set_epi8( 13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2 ); +-#endif +-#if defined(HAVE_SSE41) +- const __m128i m0 = LOADU( block + 00 ); +- const __m128i m1 = LOADU( block + 16 ); +- const __m128i m2 = LOADU( block + 32 ); +- const __m128i m3 = LOADU( block + 48 ); +-#else +- const uint32_t m0 = load32(block + 0 * sizeof(uint32_t)); +- const uint32_t m1 = load32(block + 1 * sizeof(uint32_t)); +- const uint32_t m2 = load32(block + 2 * sizeof(uint32_t)); +- const uint32_t m3 = load32(block + 3 * sizeof(uint32_t)); +- const uint32_t m4 = load32(block + 4 * sizeof(uint32_t)); +- const uint32_t m5 = load32(block + 5 * sizeof(uint32_t)); +- const uint32_t m6 = load32(block + 6 * sizeof(uint32_t)); +- const uint32_t m7 = load32(block + 7 * sizeof(uint32_t)); +- const uint32_t m8 = load32(block + 8 * sizeof(uint32_t)); +- const uint32_t m9 = load32(block + 9 * sizeof(uint32_t)); +- const uint32_t m10 = load32(block + 10 * sizeof(uint32_t)); +- const uint32_t m11 = load32(block + 11 * sizeof(uint32_t)); +- const uint32_t m12 = load32(block + 12 * sizeof(uint32_t)); +- const uint32_t m13 = load32(block + 13 * sizeof(uint32_t)); +- const uint32_t m14 = load32(block + 14 * sizeof(uint32_t)); +- const uint32_t m15 = load32(block + 15 * sizeof(uint32_t)); +-#endif +- row1 = ff0 = LOADU( &S->h[0] ); +- row2 = ff1 = LOADU( &S->h[4] ); +- row3 = _mm_loadu_si128( (__m128i const *)&blake2s_IV[0] ); +- row4 = _mm_xor_si128( _mm_loadu_si128( (__m128i const *)&blake2s_IV[4] ), LOADU( &S->t[0] ) ); +- ROUND( 0 ); +- ROUND( 1 ); +- ROUND( 2 ); +- ROUND( 3 ); +- ROUND( 4 ); +- ROUND( 5 ); +- ROUND( 6 ); +- ROUND( 7 ); +- ROUND( 8 ); +- ROUND( 9 ); +- STOREU( &S->h[0], _mm_xor_si128( ff0, _mm_xor_si128( row1, row3 ) ) ); +- STOREU( &S->h[4], _mm_xor_si128( ff1, _mm_xor_si128( row2, row4 ) ) ); +-} +- +-int blake2s_update( blake2s_state *S, const void *pin, size_t inlen ) +-{ +- const unsigned char * in = (const unsigned char *)pin; +- if( inlen > 0 ) +- { +- size_t left = S->buflen; +- size_t fill = BLAKE2S_BLOCKBYTES - left; +- if( inlen > fill ) +- { +- S->buflen = 0; +- memcpy( S->buf + left, in, fill ); /* Fill buffer */ +- blake2s_increment_counter( S, BLAKE2S_BLOCKBYTES ); +- blake2s_compress( S, S->buf ); /* Compress */ +- in += fill; inlen -= fill; +- while(inlen > BLAKE2S_BLOCKBYTES) { +- blake2s_increment_counter(S, BLAKE2S_BLOCKBYTES); +- blake2s_compress( S, in ); +- in += BLAKE2S_BLOCKBYTES; +- inlen -= BLAKE2S_BLOCKBYTES; +- } +- } +- memcpy( S->buf + S->buflen, in, inlen ); +- S->buflen += inlen; +- } +- return 0; +-} +- +-int blake2s_final( blake2s_state *S, void *out, size_t outlen ) +-{ +- uint8_t buffer[BLAKE2S_OUTBYTES] = {0}; +- size_t i; +- +- if( out == NULL || outlen < S->outlen ) +- return -1; +- +- if( blake2s_is_lastblock( S ) ) +- return -1; +- +- blake2s_increment_counter( S, (uint32_t)S->buflen ); +- blake2s_set_lastblock( S ); +- memset( S->buf + S->buflen, 0, BLAKE2S_BLOCKBYTES - S->buflen ); /* Padding */ +- blake2s_compress( S, S->buf ); +- +- for( i = 0; i < 8; ++i ) /* Output full hash to temp buffer */ +- store32( buffer + sizeof( S->h[i] ) * i, S->h[i] ); +- +- memcpy( out, buffer, S->outlen ); +- secure_zero_memory( buffer, sizeof(buffer) ); +- return 0; +-} +- +-/* inlen, at least, should be uint64_t. Others can be size_t. */ +-int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) +-{ +- blake2s_state S[1]; +- +- /* Verify parameters */ +- if ( NULL == in && inlen > 0 ) return -1; +- +- if ( NULL == out ) return -1; +- +- if ( NULL == key && keylen > 0) return -1; +- +- if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; +- +- if( keylen > BLAKE2S_KEYBYTES ) return -1; +- +- if( keylen > 0 ) +- { +- if( blake2s_init_key( S, outlen, key, keylen ) < 0 ) return -1; +- } +- else +- { +- if( blake2s_init( S, outlen ) < 0 ) return -1; +- } +- +- blake2s_update( S, ( const uint8_t * )in, inlen ); +- blake2s_final( S, out, outlen ); +- return 0; +-} +- +-#if defined(SUPERCOP) +-int crypto_hash( unsigned char *out, unsigned char *in, unsigned long long inlen ) +-{ +- return blake2s( out, BLAKE2S_OUTBYTES, in, inlen, NULL, 0 ); +-} +-#endif +- +-#if defined(BLAKE2S_SELFTEST) +-#include <string.h> +-#include "blake2-kat.h" +-int main( void ) +-{ +- uint8_t key[BLAKE2S_KEYBYTES]; +- uint8_t buf[BLAKE2_KAT_LENGTH]; +- size_t i, step; +- +- for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) +- key[i] = ( uint8_t )i; +- +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- buf[i] = ( uint8_t )i; +- +- /* Test simple API */ +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- { +- uint8_t hash[BLAKE2S_OUTBYTES]; +- blake2s( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES ); +- +- if( 0 != memcmp( hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES ) ) +- { +- goto fail; +- } +- } +- +- /* Test streaming API */ +- for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { +- for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { +- uint8_t hash[BLAKE2S_OUTBYTES]; +- blake2s_state S; +- uint8_t * p = buf; +- size_t mlen = i; +- int err = 0; +- +- if( (err = blake2s_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) { +- goto fail; +- } +- +- while (mlen >= step) { +- if ( (err = blake2s_update(&S, p, step)) < 0 ) { +- goto fail; +- } +- mlen -= step; +- p += step; +- } +- if ( (err = blake2s_update(&S, p, mlen)) < 0) { +- goto fail; +- } +- if ( (err = blake2s_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { +- goto fail; +- } +- +- if (0 != memcmp(hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES)) { +- goto fail; +- } +- } +- } +- +- puts( "ok" ); +- return 0; +-fail: +- puts("error"); +- return -1; +-} +-#endif +--- thirdparty/blake2/blake2sp.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2sp.c +@@ -1,358 +0,0 @@ +-/* +- BLAKE2 reference source code package - optimized C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdlib.h> +-#include <string.h> +-#include <stdio.h> +- +-#if defined(_OPENMP) +-#include <omp.h> +-#endif +- +-#include "blake2.h" +-#include "blake2-impl.h" +- +-#define PARALLELISM_DEGREE 8 +- +-/* +- blake2sp_init_param defaults to setting the expecting output length +- from the digest_length parameter block field. +- +- In some cases, however, we do not want this, as the output length +- of these instances is given by inner_length instead. +-*/ +-static int blake2sp_init_leaf_param( blake2s_state *S, const blake2s_param *P ) +-{ +- int err = blake2s_init_param(S, P); +- S->outlen = P->inner_length; +- return err; +-} +- +-static int blake2sp_init_leaf( blake2s_state *S, size_t outlen, size_t keylen, uint64_t offset ) +-{ +- blake2s_param P[1]; +- P->digest_length = (uint8_t)outlen; +- P->key_length = (uint8_t)keylen; +- P->fanout = PARALLELISM_DEGREE; +- P->depth = 2; +- P->leaf_length = 0; +- P->node_offset = offset; +- P->xof_length = 0; +- P->node_depth = 0; +- P->inner_length = BLAKE2S_OUTBYTES; +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- return blake2sp_init_leaf_param( S, P ); +-} +- +-static int blake2sp_init_root( blake2s_state *S, size_t outlen, size_t keylen ) +-{ +- blake2s_param P[1]; +- P->digest_length = (uint8_t)outlen; +- P->key_length = (uint8_t)keylen; +- P->fanout = PARALLELISM_DEGREE; +- P->depth = 2; +- P->leaf_length = 0; +- P->node_offset = 0; +- P->xof_length = 0; +- P->node_depth = 1; +- P->inner_length = BLAKE2S_OUTBYTES; +- memset( P->salt, 0, sizeof( P->salt ) ); +- memset( P->personal, 0, sizeof( P->personal ) ); +- return blake2s_init_param( S, P ); +-} +- +- +-int blake2sp_init( blake2sp_state *S, size_t outlen ) +-{ +- size_t i; +- +- if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; +- +- memset( S->buf, 0, sizeof( S->buf ) ); +- S->buflen = 0; +- S->outlen = outlen; +- +- if( blake2sp_init_root( S->R, outlen, 0 ) < 0 ) +- return -1; +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- if( blake2sp_init_leaf( S->S[i], outlen, 0, i ) < 0 ) return -1; +- +- S->R->last_node = 1; +- S->S[PARALLELISM_DEGREE - 1]->last_node = 1; +- return 0; +-} +- +-int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ) +-{ +- size_t i; +- +- if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; +- +- if( !key || !keylen || keylen > BLAKE2S_KEYBYTES ) return -1; +- +- memset( S->buf, 0, sizeof( S->buf ) ); +- S->buflen = 0; +- S->outlen = outlen; +- +- if( blake2sp_init_root( S->R, outlen, keylen ) < 0 ) +- return -1; +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- if( blake2sp_init_leaf( S->S[i], outlen, keylen, i ) < 0 ) return -1; +- +- S->R->last_node = 1; +- S->S[PARALLELISM_DEGREE - 1]->last_node = 1; +- { +- uint8_t block[BLAKE2S_BLOCKBYTES]; +- memset( block, 0, BLAKE2S_BLOCKBYTES ); +- memcpy( block, key, keylen ); +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2s_update( S->S[i], block, BLAKE2S_BLOCKBYTES ); +- +- secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ +- } +- return 0; +-} +- +- +-int blake2sp_update( blake2sp_state *S, const void *pin, size_t inlen ) +-{ +- const unsigned char * in = (const unsigned char *)pin; +- size_t left = S->buflen; +- size_t fill = sizeof( S->buf ) - left; +- size_t i; +- +- if( left && inlen >= fill ) +- { +- memcpy( S->buf + left, in, fill ); +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, BLAKE2S_BLOCKBYTES ); +- +- in += fill; +- inlen -= fill; +- left = 0; +- } +- +-#if defined(_OPENMP) +- #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) +-#else +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +-#endif +- { +-#if defined(_OPENMP) +- size_t i = omp_get_thread_num(); +-#endif +- size_t inlen__ = inlen; +- const unsigned char *in__ = ( const unsigned char * )in; +- in__ += i * BLAKE2S_BLOCKBYTES; +- +- while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ) +- { +- blake2s_update( S->S[i], in__, BLAKE2S_BLOCKBYTES ); +- in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; +- inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; +- } +- } +- +- in += inlen - inlen % ( PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ); +- inlen %= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; +- +- if( inlen > 0 ) +- memcpy( S->buf + left, in, inlen ); +- +- S->buflen = left + inlen; +- return 0; +-} +- +- +-int blake2sp_final( blake2sp_state *S, void *out, size_t outlen ) +-{ +- uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; +- size_t i; +- +- if(out == NULL || outlen < S->outlen) { +- return -1; +- } +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- { +- if( S->buflen > i * BLAKE2S_BLOCKBYTES ) +- { +- size_t left = S->buflen - i * BLAKE2S_BLOCKBYTES; +- +- if( left > BLAKE2S_BLOCKBYTES ) left = BLAKE2S_BLOCKBYTES; +- +- blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, left ); +- } +- +- blake2s_final( S->S[i], hash[i], BLAKE2S_OUTBYTES ); +- } +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2s_update( S->R, hash[i], BLAKE2S_OUTBYTES ); +- +- return blake2s_final( S->R, out, S->outlen ); +-} +- +- +-int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) +-{ +- uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; +- blake2s_state S[PARALLELISM_DEGREE][1]; +- blake2s_state FS[1]; +- size_t i; +- +- /* Verify parameters */ +- if ( NULL == in && inlen > 0 ) return -1; +- +- if ( NULL == out ) return -1; +- +- if ( NULL == key && keylen > 0) return -1; +- +- if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; +- +- if( keylen > BLAKE2S_KEYBYTES ) return -1; +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- if( blake2sp_init_leaf( S[i], outlen, keylen, i ) < 0 ) return -1; +- +- S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ +- +- if( keylen > 0 ) +- { +- uint8_t block[BLAKE2S_BLOCKBYTES]; +- memset( block, 0, BLAKE2S_BLOCKBYTES ); +- memcpy( block, key, keylen ); +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2s_update( S[i], block, BLAKE2S_BLOCKBYTES ); +- +- secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ +- } +- +-#if defined(_OPENMP) +- #pragma omp parallel shared(S,hash), num_threads(PARALLELISM_DEGREE) +-#else +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +-#endif +- { +-#if defined(_OPENMP) +- size_t i = omp_get_thread_num(); +-#endif +- size_t inlen__ = inlen; +- const unsigned char *in__ = ( const unsigned char * )in; +- in__ += i * BLAKE2S_BLOCKBYTES; +- +- while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ) +- { +- blake2s_update( S[i], in__, BLAKE2S_BLOCKBYTES ); +- in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; +- inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; +- } +- +- if( inlen__ > i * BLAKE2S_BLOCKBYTES ) +- { +- const size_t left = inlen__ - i * BLAKE2S_BLOCKBYTES; +- const size_t len = left <= BLAKE2S_BLOCKBYTES ? left : BLAKE2S_BLOCKBYTES; +- blake2s_update( S[i], in__, len ); +- } +- +- blake2s_final( S[i], hash[i], BLAKE2S_OUTBYTES ); +- } +- +- if( blake2sp_init_root( FS, outlen, keylen ) < 0 ) +- return -1; +- +- FS->last_node = 1; +- +- for( i = 0; i < PARALLELISM_DEGREE; ++i ) +- blake2s_update( FS, hash[i], BLAKE2S_OUTBYTES ); +- +- return blake2s_final( FS, out, outlen ); +-} +- +-#if defined(BLAKE2SP_SELFTEST) +-#include <string.h> +-#include "blake2-kat.h" +-int main( void ) +-{ +- uint8_t key[BLAKE2S_KEYBYTES]; +- uint8_t buf[BLAKE2_KAT_LENGTH]; +- size_t i, step; +- +- for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) +- key[i] = ( uint8_t )i; +- +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- buf[i] = ( uint8_t )i; +- +- /* Test simple API */ +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) +- { +- uint8_t hash[BLAKE2S_OUTBYTES]; +- blake2sp( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES ); +- +- if( 0 != memcmp( hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES ) ) +- { +- goto fail; +- } +- } +- +- /* Test streaming API */ +- for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { +- for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { +- uint8_t hash[BLAKE2S_OUTBYTES]; +- blake2sp_state S; +- uint8_t * p = buf; +- size_t mlen = i; +- int err = 0; +- +- if( (err = blake2sp_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) { +- goto fail; +- } +- +- while (mlen >= step) { +- if ( (err = blake2sp_update(&S, p, step)) < 0 ) { +- goto fail; +- } +- mlen -= step; +- p += step; +- } +- if ( (err = blake2sp_update(&S, p, mlen)) < 0) { +- goto fail; +- } +- if ( (err = blake2sp_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { +- goto fail; +- } +- +- if (0 != memcmp(hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES)) { +- goto fail; +- } +- } +- } +- +- puts( "ok" ); +- return 0; +-fail: +- puts("error"); +- return -1; +-} +-#endif +--- thirdparty/blake2/blake2xb.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2xb.c +@@ -1,241 +0,0 @@ +-/* +- BLAKE2 reference source code package - reference C implementations +- +- Copyright 2016, JP Aumasson <jeanphilippe.aumasson@gmail.com>. +- Copyright 2016, Samuel Neves <sneves@dei.uc.pt>. +- +- You may use this under the terms of the CC0, the OpenSSL Licence, or +- the Apache Public License 2.0, at your option. The terms of these +- licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdint.h> +-#include <string.h> +-#include <stdio.h> +- +-#include "blake2.h" +-#include "blake2-impl.h" +- +-int blake2xb_init( blake2xb_state *S, const size_t outlen ) { +- return blake2xb_init_key(S, outlen, NULL, 0); +-} +- +-int blake2xb_init_key( blake2xb_state *S, const size_t outlen, const void *key, size_t keylen) +-{ +- if ( outlen == 0 || outlen > 0xFFFFFFFFUL ) { +- return -1; +- } +- +- if (NULL != key && keylen > BLAKE2B_KEYBYTES) { +- return -1; +- } +- +- if (NULL == key && keylen > 0) { +- return -1; +- } +- +- /* Initialize parameter block */ +- S->P->digest_length = BLAKE2B_OUTBYTES; +- S->P->key_length = keylen; +- S->P->fanout = 1; +- S->P->depth = 1; +- store32( &S->P->leaf_length, 0 ); +- store32( &S->P->node_offset, 0 ); +- store32( &S->P->xof_length, outlen ); +- S->P->node_depth = 0; +- S->P->inner_length = 0; +- memset( S->P->reserved, 0, sizeof( S->P->reserved ) ); +- memset( S->P->salt, 0, sizeof( S->P->salt ) ); +- memset( S->P->personal, 0, sizeof( S->P->personal ) ); +- +- if( blake2b_init_param( S->S, S->P ) < 0 ) { +- return -1; +- } +- +- if (keylen > 0) { +- uint8_t block[BLAKE2B_BLOCKBYTES]; +- memset(block, 0, BLAKE2B_BLOCKBYTES); +- memcpy(block, key, keylen); +- blake2b_update(S->S, block, BLAKE2B_BLOCKBYTES); +- secure_zero_memory(block, BLAKE2B_BLOCKBYTES); +- } +- return 0; +-} +- +-int blake2xb_update( blake2xb_state *S, const void *in, size_t inlen ) { +- return blake2b_update( S->S, in, inlen ); +-} +- +-int blake2xb_final( blake2xb_state *S, void *out, size_t outlen) { +- +- blake2b_state C[1]; +- blake2b_param P[1]; +- uint32_t xof_length = load32(&S->P->xof_length); +- uint8_t root[BLAKE2B_BLOCKBYTES]; +- size_t i; +- +- if (NULL == out) { +- return -1; +- } +- +- /* outlen must match the output size defined in xof_length, */ +- /* unless it was -1, in which case anything goes except 0. */ +- if(xof_length == 0xFFFFFFFFUL) { +- if(outlen == 0) { +- return -1; +- } +- } else { +- if(outlen != xof_length) { +- return -1; +- } +- } +- +- /* Finalize the root hash */ +- if (blake2b_final(S->S, root, BLAKE2B_OUTBYTES) < 0) { +- return -1; +- } +- +- /* Set common block structure values */ +- /* Copy values from parent instance, and only change the ones below */ +- memcpy(P, S->P, sizeof(blake2b_param)); +- P->key_length = 0; +- P->fanout = 0; +- P->depth = 0; +- store32(&P->leaf_length, BLAKE2B_OUTBYTES); +- P->inner_length = BLAKE2B_OUTBYTES; +- P->node_depth = 0; +- +- for (i = 0; outlen > 0; ++i) { +- const size_t block_size = (outlen < BLAKE2B_OUTBYTES) ? outlen : BLAKE2B_OUTBYTES; +- /* Initialize state */ +- P->digest_length = block_size; +- store32(&P->node_offset, i); +- blake2b_init_param(C, P); +- /* Process key if needed */ +- blake2b_update(C, root, BLAKE2B_OUTBYTES); +- if (blake2b_final(C, (uint8_t *)out + i * BLAKE2B_OUTBYTES, block_size) < 0 ) { +- return -1; +- } +- outlen -= block_size; +- } +- secure_zero_memory(root, sizeof(root)); +- secure_zero_memory(P, sizeof(P)); +- secure_zero_memory(C, sizeof(C)); +- /* Put blake2xb in an invalid state? cf. blake2s_is_lastblock */ +- return 0; +- +-} +- +-int blake2xb(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) +-{ +- blake2xb_state S[1]; +- +- /* Verify parameters */ +- if (NULL == in && inlen > 0) +- return -1; +- +- if (NULL == out) +- return -1; +- +- if (NULL == key && keylen > 0) +- return -1; +- +- if (keylen > BLAKE2B_KEYBYTES) +- return -1; +- +- if (outlen == 0) +- return -1; +- +- /* Initialize the root block structure */ +- if (blake2xb_init_key(S, outlen, key, keylen) < 0) { +- return -1; +- } +- +- /* Absorb the input message */ +- blake2xb_update(S, in, inlen); +- +- /* Compute the root node of the tree and the final hash using the counter construction */ +- return blake2xb_final(S, out, outlen); +-} +- +-#if defined(BLAKE2XB_SELFTEST) +-#include <string.h> +-#include "blake2-kat.h" +-int main( void ) +-{ +- uint8_t key[BLAKE2B_KEYBYTES]; +- uint8_t buf[BLAKE2_KAT_LENGTH]; +- size_t i, step, outlen; +- +- for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) { +- key[i] = ( uint8_t )i; +- } +- +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) { +- buf[i] = ( uint8_t )i; +- } +- +- /* Testing length of ouputs rather than inputs */ +- /* (Test of input lengths mostly covered by blake2s tests) */ +- +- /* Test simple API */ +- for( outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen ) +- { +- uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; +- if( blake2xb( hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2B_KEYBYTES ) < 0 ) { +- goto fail; +- } +- +- if( 0 != memcmp( hash, blake2xb_keyed_kat[outlen-1], outlen ) ) +- { +- goto fail; +- } +- } +- +- /* Test streaming API */ +- for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { +- for (outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { +- uint8_t hash[BLAKE2_KAT_LENGTH]; +- blake2xb_state S; +- uint8_t * p = buf; +- size_t mlen = BLAKE2_KAT_LENGTH; +- int err = 0; +- +- if( (err = blake2xb_init_key(&S, outlen, key, BLAKE2B_KEYBYTES)) < 0 ) { +- goto fail; +- } +- +- while (mlen >= step) { +- if ( (err = blake2xb_update(&S, p, step)) < 0 ) { +- goto fail; +- } +- mlen -= step; +- p += step; +- } +- if ( (err = blake2xb_update(&S, p, mlen)) < 0) { +- goto fail; +- } +- if ( (err = blake2xb_final(&S, hash, outlen)) < 0) { +- goto fail; +- } +- +- if (0 != memcmp(hash, blake2xb_keyed_kat[outlen-1], outlen)) { +- goto fail; +- } +- } +- } +- +- puts( "ok" ); +- return 0; +-fail: +- puts("error"); +- return -1; +-} +-#endif +--- thirdparty/blake2/blake2xs.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/blake2xs.c +@@ -1,239 +0,0 @@ +-/* +- BLAKE2 reference source code package - reference C implementations +- +- Copyright 2016, JP Aumasson <jeanphilippe.aumasson@gmail.com>. +- Copyright 2016, Samuel Neves <sneves@dei.uc.pt>. +- +- You may use this under the terms of the CC0, the OpenSSL Licence, or +- the Apache Public License 2.0, at your option. The terms of these +- licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdint.h> +-#include <string.h> +-#include <stdio.h> +- +-#include "blake2.h" +-#include "blake2-impl.h" +- +-int blake2xs_init( blake2xs_state *S, const size_t outlen ) { +- return blake2xs_init_key(S, outlen, NULL, 0); +-} +- +-int blake2xs_init_key( blake2xs_state *S, const size_t outlen, const void *key, size_t keylen ) +-{ +- if ( outlen == 0 || outlen > 0xFFFFUL ) { +- return -1; +- } +- +- if (NULL != key && keylen > BLAKE2B_KEYBYTES) { +- return -1; +- } +- +- if (NULL == key && keylen > 0) { +- return -1; +- } +- +- /* Initialize parameter block */ +- S->P->digest_length = BLAKE2S_OUTBYTES; +- S->P->key_length = keylen; +- S->P->fanout = 1; +- S->P->depth = 1; +- store32( &S->P->leaf_length, 0 ); +- store32( &S->P->node_offset, 0 ); +- store16( &S->P->xof_length, outlen ); +- S->P->node_depth = 0; +- S->P->inner_length = 0; +- memset( S->P->salt, 0, sizeof( S->P->salt ) ); +- memset( S->P->personal, 0, sizeof( S->P->personal ) ); +- +- if( blake2s_init_param( S->S, S->P ) < 0 ) { +- return -1; +- } +- +- if (keylen > 0) { +- uint8_t block[BLAKE2S_BLOCKBYTES]; +- memset(block, 0, BLAKE2S_BLOCKBYTES); +- memcpy(block, key, keylen); +- blake2s_update(S->S, block, BLAKE2S_BLOCKBYTES); +- secure_zero_memory(block, BLAKE2S_BLOCKBYTES); +- } +- return 0; +-} +- +-int blake2xs_update( blake2xs_state *S, const void *in, size_t inlen ) { +- return blake2s_update( S->S, in, inlen ); +-} +- +-int blake2xs_final(blake2xs_state *S, void *out, size_t outlen) { +- +- blake2s_state C[1]; +- blake2s_param P[1]; +- uint16_t xof_length = load16(&S->P->xof_length); +- uint8_t root[BLAKE2S_BLOCKBYTES]; +- size_t i; +- +- if (NULL == out) { +- return -1; +- } +- +- /* outlen must match the output size defined in xof_length, */ +- /* unless it was -1, in which case anything goes except 0. */ +- if(xof_length == 0xFFFFUL) { +- if(outlen == 0) { +- return -1; +- } +- } else { +- if(outlen != xof_length) { +- return -1; +- } +- } +- +- /* Finalize the root hash */ +- if (blake2s_final(S->S, root, BLAKE2S_OUTBYTES) < 0) { +- return -1; +- } +- +- /* Set common block structure values */ +- /* Copy values from parent instance, and only change the ones below */ +- memcpy(P, S->P, sizeof(blake2s_param)); +- P->key_length = 0; +- P->fanout = 0; +- P->depth = 0; +- store32(&P->leaf_length, BLAKE2S_OUTBYTES); +- P->inner_length = BLAKE2S_OUTBYTES; +- P->node_depth = 0; +- +- for (i = 0; outlen > 0; ++i) { +- const size_t block_size = (outlen < BLAKE2S_OUTBYTES) ? outlen : BLAKE2S_OUTBYTES; +- /* Initialize state */ +- P->digest_length = block_size; +- store32(&P->node_offset, i); +- blake2s_init_param(C, P); +- /* Process key if needed */ +- blake2s_update(C, root, BLAKE2S_OUTBYTES); +- if (blake2s_final(C, (uint8_t *)out + i * BLAKE2S_OUTBYTES, block_size) < 0) { +- return -1; +- } +- outlen -= block_size; +- } +- secure_zero_memory(root, sizeof(root)); +- secure_zero_memory(P, sizeof(P)); +- secure_zero_memory(C, sizeof(C)); +- /* Put blake2xs in an invalid state? cf. blake2s_is_lastblock */ +- return 0; +-} +- +-int blake2xs(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) +-{ +- blake2xs_state S[1]; +- +- /* Verify parameters */ +- if (NULL == in && inlen > 0) +- return -1; +- +- if (NULL == out) +- return -1; +- +- if (NULL == key && keylen > 0) +- return -1; +- +- if (keylen > BLAKE2S_KEYBYTES) +- return -1; +- +- if (outlen == 0) +- return -1; +- +- /* Initialize the root block structure */ +- if (blake2xs_init_key(S, outlen, key, keylen) < 0) { +- return -1; +- } +- +- /* Absorb the input message */ +- blake2xs_update(S, in, inlen); +- +- /* Compute the root node of the tree and the final hash using the counter construction */ +- return blake2xs_final(S, out, outlen); +-} +- +-#if defined(BLAKE2XS_SELFTEST) +-#include <string.h> +-#include "blake2-kat.h" +-int main( void ) +-{ +- uint8_t key[BLAKE2S_KEYBYTES]; +- uint8_t buf[BLAKE2_KAT_LENGTH]; +- size_t i, step, outlen; +- +- for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) { +- key[i] = ( uint8_t )i; +- } +- +- for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) { +- buf[i] = ( uint8_t )i; +- } +- +- /* Testing length of ouputs rather than inputs */ +- /* (Test of input lengths mostly covered by blake2s tests) */ +- +- /* Test simple API */ +- for( outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen ) +- { +- uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; +- if( blake2xs( hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2S_KEYBYTES ) < 0 ) { +- goto fail; +- } +- +- if( 0 != memcmp( hash, blake2xs_keyed_kat[outlen-1], outlen ) ) +- { +- goto fail; +- } +- } +- +- /* Test streaming API */ +- for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { +- for (outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { +- uint8_t hash[BLAKE2_KAT_LENGTH]; +- blake2xs_state S; +- uint8_t * p = buf; +- size_t mlen = BLAKE2_KAT_LENGTH; +- int err = 0; +- +- if( (err = blake2xs_init_key(&S, outlen, key, BLAKE2S_KEYBYTES)) < 0 ) { +- goto fail; +- } +- +- while (mlen >= step) { +- if ( (err = blake2xs_update(&S, p, step)) < 0 ) { +- goto fail; +- } +- mlen -= step; +- p += step; +- } +- if ( (err = blake2xs_update(&S, p, mlen)) < 0) { +- goto fail; +- } +- if ( (err = blake2xs_final(&S, hash, outlen)) < 0) { +- goto fail; +- } +- +- if (0 != memcmp(hash, blake2xs_keyed_kat[outlen-1], outlen)) { +- goto fail; +- } +- } +- } +- +- puts( "ok" ); +- return 0; +-fail: +- puts("error"); +- return -1; +-} +-#endif +--- thirdparty/blake2/genkat-c.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/genkat-c.c +@@ -1,139 +0,0 @@ +-/* +- BLAKE2 reference source code package - reference C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdint.h> +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.h> +- +-#include "blake2.h" +- +-#define STR_(x) #x +-#define STR(x) STR_(x) +- +-#define LENGTH 256 +- +-#define MAKE_KAT(name, size_prefix) \ +- do { \ +- printf("static const uint8_t " #name "_kat[BLAKE2_KAT_LENGTH][" #size_prefix \ +- "_OUTBYTES] = \n{\n"); \ +- \ +- for (i = 0; i < LENGTH; ++i) { \ +- name(hash, size_prefix##_OUTBYTES, in, i, NULL, 0); \ +- printf("\t{\n\t\t"); \ +- \ +- for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ +- printf("0x%02X%s", hash[j], \ +- (j + 1) == size_prefix##_OUTBYTES ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ +- \ +- printf("\t},\n"); \ +- } \ +- \ +- printf("};\n\n\n\n\n"); \ +- } while (0) +- +-#define MAKE_KEYED_KAT(name, size_prefix) \ +- do { \ +- printf("static const uint8_t " #name "_keyed_kat[BLAKE2_KAT_LENGTH][" #size_prefix \ +- "_OUTBYTES] = \n{\n"); \ +- \ +- for (i = 0; i < LENGTH; ++i) { \ +- name(hash, size_prefix##_OUTBYTES, in, i, key, size_prefix##_KEYBYTES); \ +- printf("\t{\n\t\t"); \ +- \ +- for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ +- printf("0x%02X%s", hash[j], \ +- (j + 1) == size_prefix##_OUTBYTES ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ +- \ +- printf("\t},\n"); \ +- } \ +- \ +- printf("};\n\n\n\n\n"); \ +- } while (0) +- +-#define MAKE_XOF_KAT(name) \ +- do { \ +- printf("static const uint8_t " #name "_kat[BLAKE2_KAT_LENGTH][BLAKE2_KAT_LENGTH] = \n{\n"); \ +- \ +- for (i = 1; i <= LENGTH; ++i) { \ +- name(hash, i, in, LENGTH, NULL, 0); \ +- printf("\t{\n\t\t"); \ +- \ +- for (j = 0; j < i; ++j) \ +- printf("0x%02X%s", hash[j], \ +- (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ +- \ +- for (j = i; j < LENGTH; ++j) \ +- printf("0x00%s", (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ +- \ +- printf("\t},\n"); \ +- } \ +- \ +- printf("};\n\n\n\n\n"); \ +- } while (0) +- +-#define MAKE_XOF_KEYED_KAT(name, size_prefix) \ +- do { \ +- printf("static const uint8_t " #name \ +- "_keyed_kat[BLAKE2_KAT_LENGTH][BLAKE2_KAT_LENGTH] = \n{\n"); \ +- \ +- for (i = 1; i <= LENGTH; ++i) { \ +- name(hash, i, in, LENGTH, key, size_prefix##_KEYBYTES); \ +- printf("\t{\n\t\t"); \ +- \ +- for (j = 0; j < i; ++j) \ +- printf("0x%02X%s", hash[j], \ +- (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ +- \ +- for (j = i; j < LENGTH; ++j) \ +- printf("0x00%s", (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ +- \ +- printf("\t},\n"); \ +- } \ +- \ +- printf("};\n\n\n\n\n"); \ +- } while (0) +- +-int main() { +- uint8_t key[64] = {0}; +- uint8_t in[LENGTH] = {0}; +- uint8_t hash[LENGTH] = {0}; +- size_t i, j; +- +- for (i = 0; i < sizeof(in); ++i) +- in[i] = i; +- +- for (i = 0; i < sizeof(key); ++i) +- key[i] = i; +- +- puts("#ifndef BLAKE2_KAT_H\n" +- "#define BLAKE2_KAT_H\n\n\n" +- "#include <stdint.h>\n\n" +- "#define BLAKE2_KAT_LENGTH " STR(LENGTH) "\n\n\n"); +- MAKE_KAT(blake2s, BLAKE2S); +- MAKE_KEYED_KAT(blake2s, BLAKE2S); +- MAKE_KAT(blake2b, BLAKE2B); +- MAKE_KEYED_KAT(blake2b, BLAKE2B); +- MAKE_KAT(blake2sp, BLAKE2S); +- MAKE_KEYED_KAT(blake2sp, BLAKE2S); +- MAKE_KAT(blake2bp, BLAKE2B); +- MAKE_KEYED_KAT(blake2bp, BLAKE2B); +- MAKE_XOF_KAT(blake2xs); +- MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S); +- MAKE_XOF_KAT(blake2xb); +- MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B); +- puts("#endif"); +- return 0; +-} +--- thirdparty/blake2/genkat-json.c.orig 2018-03-16 17:25:33 UTC ++++ thirdparty/blake2/genkat-json.c +@@ -1,154 +0,0 @@ +-/* +- BLAKE2 reference source code package - reference C implementations +- +- Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the +- terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at +- your option. The terms of these licenses can be found at: +- +- - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 +- - OpenSSL license : https://www.openssl.org/source/license.html +- - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 +- +- More information about the BLAKE2 hash function can be found at +- https://blake2.net. +-*/ +- +-#include <stdint.h> +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.h> +- +-#include "blake2.h" +- +-#define STR_(x) #x +-#define STR(x) STR_(x) +- +-#define LENGTH 256 +- +-#define MAKE_KAT(name, size_prefix, first) \ +- do { \ +- for (i = 0; i < LENGTH; ++i) { \ +- printf("%s\n{\n", i == 0 && first ? "" : ","); \ +- \ +- printf(" \"hash\": \"" #name "\",\n"); \ +- printf(" \"in\": \""); \ +- for (j = 0; j < i; ++j) \ +- printf("%02x", in[j]); \ +- \ +- printf("\",\n"); \ +- printf(" \"key\": \"\",\n"); \ +- printf(" \"out\": \""); \ +- \ +- name(hash, size_prefix##_OUTBYTES, in, i, NULL, 0); \ +- \ +- for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ +- printf("%02x", hash[j]); \ +- printf("\"\n"); \ +- printf("}"); \ +- } \ +- } while (0) +- +-#define MAKE_KEYED_KAT(name, size_prefix, first) \ +- do { \ +- for (i = 0; i < LENGTH; ++i) { \ +- printf("%s\n{\n", i == 0 && first ? "" : ","); \ +- \ +- printf(" \"hash\": \"" #name "\",\n"); \ +- printf(" \"in\": \""); \ +- for (j = 0; j < i; ++j) \ +- printf("%02x", in[j]); \ +- \ +- printf("\",\n"); \ +- printf(" \"key\": \""); \ +- for (j = 0; j < size_prefix##_KEYBYTES; ++j) \ +- printf("%02x", key[j]); \ +- printf("\",\n"); \ +- printf(" \"out\": \""); \ +- \ +- name(hash, size_prefix##_OUTBYTES, in, i, key, size_prefix##_KEYBYTES); \ +- \ +- for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ +- printf("%02x", hash[j]); \ +- printf("\"\n"); \ +- printf("}"); \ +- } \ +- } while (0) +- +-#define MAKE_XOF_KAT(name, first) \ +- do { \ +- for (i = 1; i <= LENGTH; ++i) { \ +- printf("%s\n{\n", i == 1 && first ? "" : ","); \ +- \ +- printf(" \"hash\": \"" #name "\",\n"); \ +- printf(" \"in\": \""); \ +- for (j = 0; j < LENGTH; ++j) \ +- printf("%02x", in[j]); \ +- \ +- printf("\",\n"); \ +- printf(" \"key\": \"\",\n"); \ +- printf(" \"out\": \""); \ +- \ +- name(hash, i, in, LENGTH, NULL, 0); \ +- \ +- for (j = 0; j < i; ++j) \ +- printf("%02x", hash[j]); \ +- printf("\"\n"); \ +- printf("}"); \ +- } \ +- } while (0) +- +-#define MAKE_XOF_KEYED_KAT(name, size_prefix, first) \ +- do { \ +- for (i = 1; i <= LENGTH; ++i) { \ +- printf("%s\n{\n", i == 1 && first ? "" : ","); \ +- \ +- printf(" \"hash\": \"" #name "\",\n"); \ +- printf(" \"in\": \""); \ +- for (j = 0; j < LENGTH; ++j) \ +- printf("%02x", in[j]); \ +- \ +- printf("\",\n"); \ +- printf(" \"key\": \""); \ +- for (j = 0; j < size_prefix##_KEYBYTES; ++j) \ +- printf("%02x", key[j]); \ +- printf("\",\n"); \ +- printf(" \"out\": \""); \ +- \ +- name(hash, i, in, LENGTH, key, size_prefix##_KEYBYTES); \ +- \ +- for (j = 0; j < i; ++j) \ +- printf("%02x", hash[j]); \ +- printf("\"\n"); \ +- printf("}"); \ +- } \ +- } while (0) +- +-int main() { +- uint8_t key[64] = {0}; +- uint8_t in[LENGTH] = {0}; +- uint8_t hash[LENGTH] = {0}; +- size_t i, j; +- +- for (i = 0; i < sizeof(in); ++i) +- in[i] = i; +- +- for (i = 0; i < sizeof(key); ++i) +- key[i] = i; +- +- printf("["); +- MAKE_KAT(blake2s, BLAKE2S, 1); +- MAKE_KEYED_KAT(blake2s, BLAKE2S, 0); +- MAKE_KAT(blake2b, BLAKE2B, 0); +- MAKE_KEYED_KAT(blake2b, BLAKE2B, 0); +- MAKE_KAT(blake2sp, BLAKE2S, 0); +- MAKE_KEYED_KAT(blake2sp, BLAKE2S, 0); +- MAKE_KAT(blake2bp, BLAKE2B, 0); +- MAKE_KEYED_KAT(blake2bp, BLAKE2B, 0); +- MAKE_XOF_KAT(blake2xs, 0); +- MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S, 0); +- MAKE_XOF_KAT(blake2xb, 0); +- MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B, 0); +- printf("\n]\n"); +- fflush(stdout); +- return 0; +-} +--- thirdparty/blake2/ref/blake2-impl.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2-impl.h +@@ -0,0 +1,160 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2_IMPL_H ++#define BLAKE2_IMPL_H ++ ++#include <stdint.h> ++#include <string.h> ++ ++#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) ++ #if defined(_MSC_VER) ++ #define BLAKE2_INLINE __inline ++ #elif defined(__GNUC__) ++ #define BLAKE2_INLINE __inline__ ++ #else ++ #define BLAKE2_INLINE ++ #endif ++#else ++ #define BLAKE2_INLINE inline ++#endif ++ ++static BLAKE2_INLINE uint32_t load32( const void *src ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ uint32_t w; ++ memcpy(&w, src, sizeof w); ++ return w; ++#else ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint32_t )( p[0] ) << 0) | ++ (( uint32_t )( p[1] ) << 8) | ++ (( uint32_t )( p[2] ) << 16) | ++ (( uint32_t )( p[3] ) << 24) ; ++#endif ++} ++ ++static BLAKE2_INLINE uint64_t load64( const void *src ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ uint64_t w; ++ memcpy(&w, src, sizeof w); ++ return w; ++#else ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint64_t )( p[0] ) << 0) | ++ (( uint64_t )( p[1] ) << 8) | ++ (( uint64_t )( p[2] ) << 16) | ++ (( uint64_t )( p[3] ) << 24) | ++ (( uint64_t )( p[4] ) << 32) | ++ (( uint64_t )( p[5] ) << 40) | ++ (( uint64_t )( p[6] ) << 48) | ++ (( uint64_t )( p[7] ) << 56) ; ++#endif ++} ++ ++static BLAKE2_INLINE uint16_t load16( const void *src ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ uint16_t w; ++ memcpy(&w, src, sizeof w); ++ return w; ++#else ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint16_t )( p[0] ) << 0) | ++ (( uint16_t )( p[1] ) << 8) ; ++#endif ++} ++ ++static BLAKE2_INLINE void store16( void *dst, uint16_t w ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ memcpy(dst, &w, sizeof w); ++#else ++ uint8_t *p = ( uint8_t * )dst; ++ *p++ = ( uint8_t )w; w >>= 8; ++ *p++ = ( uint8_t )w; ++#endif ++} ++ ++static BLAKE2_INLINE void store32( void *dst, uint32_t w ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ memcpy(dst, &w, sizeof w); ++#else ++ uint8_t *p = ( uint8_t * )dst; ++ p[0] = (uint8_t)(w >> 0); ++ p[1] = (uint8_t)(w >> 8); ++ p[2] = (uint8_t)(w >> 16); ++ p[3] = (uint8_t)(w >> 24); ++#endif ++} ++ ++static BLAKE2_INLINE void store64( void *dst, uint64_t w ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ memcpy(dst, &w, sizeof w); ++#else ++ uint8_t *p = ( uint8_t * )dst; ++ p[0] = (uint8_t)(w >> 0); ++ p[1] = (uint8_t)(w >> 8); ++ p[2] = (uint8_t)(w >> 16); ++ p[3] = (uint8_t)(w >> 24); ++ p[4] = (uint8_t)(w >> 32); ++ p[5] = (uint8_t)(w >> 40); ++ p[6] = (uint8_t)(w >> 48); ++ p[7] = (uint8_t)(w >> 56); ++#endif ++} ++ ++static BLAKE2_INLINE uint64_t load48( const void *src ) ++{ ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint64_t )( p[0] ) << 0) | ++ (( uint64_t )( p[1] ) << 8) | ++ (( uint64_t )( p[2] ) << 16) | ++ (( uint64_t )( p[3] ) << 24) | ++ (( uint64_t )( p[4] ) << 32) | ++ (( uint64_t )( p[5] ) << 40) ; ++} ++ ++static BLAKE2_INLINE void store48( void *dst, uint64_t w ) ++{ ++ uint8_t *p = ( uint8_t * )dst; ++ p[0] = (uint8_t)(w >> 0); ++ p[1] = (uint8_t)(w >> 8); ++ p[2] = (uint8_t)(w >> 16); ++ p[3] = (uint8_t)(w >> 24); ++ p[4] = (uint8_t)(w >> 32); ++ p[5] = (uint8_t)(w >> 40); ++} ++ ++static BLAKE2_INLINE uint32_t rotr32( const uint32_t w, const unsigned c ) ++{ ++ return ( w >> c ) | ( w << ( 32 - c ) ); ++} ++ ++static BLAKE2_INLINE uint64_t rotr64( const uint64_t w, const unsigned c ) ++{ ++ return ( w >> c ) | ( w << ( 64 - c ) ); ++} ++ ++/* prevents compiler optimizing out memset() */ ++static BLAKE2_INLINE void secure_zero_memory(void *v, size_t n) ++{ ++ static void *(*const volatile memset_v)(void *, int, size_t) = &memset; ++ memset_v(v, 0, n); ++} ++ ++#endif +--- thirdparty/blake2/ref/blake2.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2.h +@@ -0,0 +1,195 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2_H ++#define BLAKE2_H ++ ++#include <stddef.h> ++#include <stdint.h> ++ ++#if defined(_MSC_VER) ++#define BLAKE2_PACKED(x) __pragma(pack(push, 1)) x __pragma(pack(pop)) ++#else ++#define BLAKE2_PACKED(x) x __attribute__((packed)) ++#endif ++ ++#if defined(__cplusplus) ++extern "C" { ++#endif ++ ++ enum blake2s_constant ++ { ++ BLAKE2S_BLOCKBYTES = 64, ++ BLAKE2S_OUTBYTES = 32, ++ BLAKE2S_KEYBYTES = 32, ++ BLAKE2S_SALTBYTES = 8, ++ BLAKE2S_PERSONALBYTES = 8 ++ }; ++ ++ enum blake2b_constant ++ { ++ BLAKE2B_BLOCKBYTES = 128, ++ BLAKE2B_OUTBYTES = 64, ++ BLAKE2B_KEYBYTES = 64, ++ BLAKE2B_SALTBYTES = 16, ++ BLAKE2B_PERSONALBYTES = 16 ++ }; ++ ++ typedef struct blake2s_state__ ++ { ++ uint32_t h[8]; ++ uint32_t t[2]; ++ uint32_t f[2]; ++ uint8_t buf[BLAKE2S_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ uint8_t last_node; ++ } blake2s_state; ++ ++ typedef struct blake2b_state__ ++ { ++ uint64_t h[8]; ++ uint64_t t[2]; ++ uint64_t f[2]; ++ uint8_t buf[BLAKE2B_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ uint8_t last_node; ++ } blake2b_state; ++ ++ typedef struct blake2sp_state__ ++ { ++ blake2s_state S[8][1]; ++ blake2s_state R[1]; ++ uint8_t buf[8 * BLAKE2S_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ } blake2sp_state; ++ ++ typedef struct blake2bp_state__ ++ { ++ blake2b_state S[4][1]; ++ blake2b_state R[1]; ++ uint8_t buf[4 * BLAKE2B_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ } blake2bp_state; ++ ++ ++ BLAKE2_PACKED(struct blake2s_param__ ++ { ++ uint8_t digest_length; /* 1 */ ++ uint8_t key_length; /* 2 */ ++ uint8_t fanout; /* 3 */ ++ uint8_t depth; /* 4 */ ++ uint32_t leaf_length; /* 8 */ ++ uint32_t node_offset; /* 12 */ ++ uint16_t xof_length; /* 14 */ ++ uint8_t node_depth; /* 15 */ ++ uint8_t inner_length; /* 16 */ ++ /* uint8_t reserved[0]; */ ++ uint8_t salt[BLAKE2S_SALTBYTES]; /* 24 */ ++ uint8_t personal[BLAKE2S_PERSONALBYTES]; /* 32 */ ++ }); ++ ++ typedef struct blake2s_param__ blake2s_param; ++ ++ BLAKE2_PACKED(struct blake2b_param__ ++ { ++ uint8_t digest_length; /* 1 */ ++ uint8_t key_length; /* 2 */ ++ uint8_t fanout; /* 3 */ ++ uint8_t depth; /* 4 */ ++ uint32_t leaf_length; /* 8 */ ++ uint32_t node_offset; /* 12 */ ++ uint32_t xof_length; /* 16 */ ++ uint8_t node_depth; /* 17 */ ++ uint8_t inner_length; /* 18 */ ++ uint8_t reserved[14]; /* 32 */ ++ uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */ ++ uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */ ++ }); ++ ++ typedef struct blake2b_param__ blake2b_param; ++ ++ typedef struct blake2xs_state__ ++ { ++ blake2s_state S[1]; ++ blake2s_param P[1]; ++ } blake2xs_state; ++ ++ typedef struct blake2xb_state__ ++ { ++ blake2b_state S[1]; ++ blake2b_param P[1]; ++ } blake2xb_state; ++ ++ /* Padded structs result in a compile-time error */ ++ enum { ++ BLAKE2_DUMMY_1 = 1/(sizeof(blake2s_param) == BLAKE2S_OUTBYTES), ++ BLAKE2_DUMMY_2 = 1/(sizeof(blake2b_param) == BLAKE2B_OUTBYTES) ++ }; ++ ++ /* Streaming API */ ++ int blake2s_init( blake2s_state *S, size_t outlen ); ++ int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); ++ int blake2s_update( blake2s_state *S, const void *in, size_t inlen ); ++ int blake2s_final( blake2s_state *S, void *out, size_t outlen ); ++ ++ int blake2b_init( blake2b_state *S, size_t outlen ); ++ int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); ++ int blake2b_update( blake2b_state *S, const void *in, size_t inlen ); ++ int blake2b_final( blake2b_state *S, void *out, size_t outlen ); ++ ++ int blake2sp_init( blake2sp_state *S, size_t outlen ); ++ int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2sp_update( blake2sp_state *S, const void *in, size_t inlen ); ++ int blake2sp_final( blake2sp_state *S, void *out, size_t outlen ); ++ ++ int blake2bp_init( blake2bp_state *S, size_t outlen ); ++ int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2bp_update( blake2bp_state *S, const void *in, size_t inlen ); ++ int blake2bp_final( blake2bp_state *S, void *out, size_t outlen ); ++ ++ /* Variable output length API */ ++ int blake2xs_init( blake2xs_state *S, const size_t outlen ); ++ int blake2xs_init_key( blake2xs_state *S, const size_t outlen, const void *key, size_t keylen ); ++ int blake2xs_update( blake2xs_state *S, const void *in, size_t inlen ); ++ int blake2xs_final(blake2xs_state *S, void *out, size_t outlen); ++ ++ int blake2xb_init( blake2xb_state *S, const size_t outlen ); ++ int blake2xb_init_key( blake2xb_state *S, const size_t outlen, const void *key, size_t keylen ); ++ int blake2xb_update( blake2xb_state *S, const void *in, size_t inlen ); ++ int blake2xb_final(blake2xb_state *S, void *out, size_t outlen); ++ ++ /* Simple API */ ++ int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++ int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++ int blake2xs( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ int blake2xb( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++ /* This is simply an alias for blake2b */ ++ int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++#if defined(__cplusplus) ++} ++#endif ++ ++#endif +--- thirdparty/blake2/ref/blake2b-ref.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2b-ref.c +@@ -0,0 +1,379 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++static const uint64_t blake2b_IV[8] = ++{ ++ 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, ++ 0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL, ++ 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, ++ 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL ++}; ++ ++static const uint8_t blake2b_sigma[12][16] = ++{ ++ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 } , ++ { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 } , ++ { 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 } , ++ { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 } , ++ { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 } , ++ { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 } , ++ { 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 } , ++ { 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 } , ++ { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 } , ++ { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13 , 0 } , ++ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 } , ++ { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 } ++}; ++ ++ ++static void blake2b_set_lastnode( blake2b_state *S ) ++{ ++ S->f[1] = (uint64_t)-1; ++} ++ ++/* Some helper functions, not necessarily useful */ ++static int blake2b_is_lastblock( const blake2b_state *S ) ++{ ++ return S->f[0] != 0; ++} ++ ++static void blake2b_set_lastblock( blake2b_state *S ) ++{ ++ if( S->last_node ) blake2b_set_lastnode( S ); ++ ++ S->f[0] = (uint64_t)-1; ++} ++ ++static void blake2b_increment_counter( blake2b_state *S, const uint64_t inc ) ++{ ++ S->t[0] += inc; ++ S->t[1] += ( S->t[0] < inc ); ++} ++ ++static void blake2b_init0( blake2b_state *S ) ++{ ++ size_t i; ++ memset( S, 0, sizeof( blake2b_state ) ); ++ ++ for( i = 0; i < 8; ++i ) S->h[i] = blake2b_IV[i]; ++} ++ ++/* init xors IV with input parameter block */ ++int blake2b_init_param( blake2b_state *S, const blake2b_param *P ) ++{ ++ const uint8_t *p = ( const uint8_t * )( P ); ++ size_t i; ++ ++ blake2b_init0( S ); ++ ++ /* IV XOR ParamBlock */ ++ for( i = 0; i < 8; ++i ) ++ S->h[i] ^= load64( p + sizeof( S->h[i] ) * i ); ++ ++ S->outlen = P->digest_length; ++ return 0; ++} ++ ++ ++ ++int blake2b_init( blake2b_state *S, size_t outlen ) ++{ ++ blake2b_param P[1]; ++ ++ if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = 0; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store32( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2b_init_param( S, P ); ++} ++ ++ ++int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ blake2b_param P[1]; ++ ++ if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1; ++ ++ if ( !key || !keylen || keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store32( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ ++ if( blake2b_init_param( S, P ) < 0 ) return -1; ++ ++ { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset( block, 0, BLAKE2B_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ blake2b_update( S, block, BLAKE2B_BLOCKBYTES ); ++ secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++#define G(r,i,a,b,c,d) \ ++ do { \ ++ a = a + b + m[blake2b_sigma[r][2*i+0]]; \ ++ d = rotr64(d ^ a, 32); \ ++ c = c + d; \ ++ b = rotr64(b ^ c, 24); \ ++ a = a + b + m[blake2b_sigma[r][2*i+1]]; \ ++ d = rotr64(d ^ a, 16); \ ++ c = c + d; \ ++ b = rotr64(b ^ c, 63); \ ++ } while(0) ++ ++#define ROUND(r) \ ++ do { \ ++ G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \ ++ G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \ ++ G(r,2,v[ 2],v[ 6],v[10],v[14]); \ ++ G(r,3,v[ 3],v[ 7],v[11],v[15]); \ ++ G(r,4,v[ 0],v[ 5],v[10],v[15]); \ ++ G(r,5,v[ 1],v[ 6],v[11],v[12]); \ ++ G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \ ++ G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \ ++ } while(0) ++ ++static void blake2b_compress( blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES] ) ++{ ++ uint64_t m[16]; ++ uint64_t v[16]; ++ size_t i; ++ ++ for( i = 0; i < 16; ++i ) { ++ m[i] = load64( block + i * sizeof( m[i] ) ); ++ } ++ ++ for( i = 0; i < 8; ++i ) { ++ v[i] = S->h[i]; ++ } ++ ++ v[ 8] = blake2b_IV[0]; ++ v[ 9] = blake2b_IV[1]; ++ v[10] = blake2b_IV[2]; ++ v[11] = blake2b_IV[3]; ++ v[12] = blake2b_IV[4] ^ S->t[0]; ++ v[13] = blake2b_IV[5] ^ S->t[1]; ++ v[14] = blake2b_IV[6] ^ S->f[0]; ++ v[15] = blake2b_IV[7] ^ S->f[1]; ++ ++ ROUND( 0 ); ++ ROUND( 1 ); ++ ROUND( 2 ); ++ ROUND( 3 ); ++ ROUND( 4 ); ++ ROUND( 5 ); ++ ROUND( 6 ); ++ ROUND( 7 ); ++ ROUND( 8 ); ++ ROUND( 9 ); ++ ROUND( 10 ); ++ ROUND( 11 ); ++ ++ for( i = 0; i < 8; ++i ) { ++ S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; ++ } ++} ++ ++#undef G ++#undef ROUND ++ ++int blake2b_update( blake2b_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ if( inlen > 0 ) ++ { ++ size_t left = S->buflen; ++ size_t fill = BLAKE2B_BLOCKBYTES - left; ++ if( inlen > fill ) ++ { ++ S->buflen = 0; ++ memcpy( S->buf + left, in, fill ); /* Fill buffer */ ++ blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES ); ++ blake2b_compress( S, S->buf ); /* Compress */ ++ in += fill; inlen -= fill; ++ while(inlen > BLAKE2B_BLOCKBYTES) { ++ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); ++ blake2b_compress( S, in ); ++ in += BLAKE2B_BLOCKBYTES; ++ inlen -= BLAKE2B_BLOCKBYTES; ++ } ++ } ++ memcpy( S->buf + S->buflen, in, inlen ); ++ S->buflen += inlen; ++ } ++ return 0; ++} ++ ++int blake2b_final( blake2b_state *S, void *out, size_t outlen ) ++{ ++ uint8_t buffer[BLAKE2B_OUTBYTES] = {0}; ++ size_t i; ++ ++ if( out == NULL || outlen < S->outlen ) ++ return -1; ++ ++ if( blake2b_is_lastblock( S ) ) ++ return -1; ++ ++ blake2b_increment_counter( S, S->buflen ); ++ blake2b_set_lastblock( S ); ++ memset( S->buf + S->buflen, 0, BLAKE2B_BLOCKBYTES - S->buflen ); /* Padding */ ++ blake2b_compress( S, S->buf ); ++ ++ for( i = 0; i < 8; ++i ) /* Output full hash to temp buffer */ ++ store64( buffer + sizeof( S->h[i] ) * i, S->h[i] ); ++ ++ memcpy( out, buffer, S->outlen ); ++ secure_zero_memory(buffer, sizeof(buffer)); ++ return 0; ++} ++ ++/* inlen, at least, should be uint64_t. Others can be size_t. */ ++int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ blake2b_state S[1]; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if( NULL == key && keylen > 0 ) return -1; ++ ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ if( keylen > 0 ) ++ { ++ if( blake2b_init_key( S, outlen, key, keylen ) < 0 ) return -1; ++ } ++ else ++ { ++ if( blake2b_init( S, outlen ) < 0 ) return -1; ++ } ++ ++ blake2b_update( S, ( const uint8_t * )in, inlen ); ++ blake2b_final( S, out, outlen ); ++ return 0; ++} ++ ++int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) { ++ return blake2b(out, outlen, in, inlen, key, keylen); ++} ++ ++#if defined(SUPERCOP) ++int crypto_hash( unsigned char *out, unsigned char *in, unsigned long long inlen ) ++{ ++ return blake2b( out, BLAKE2B_OUTBYTES, in, inlen, NULL, 0 ); ++} ++#endif ++ ++#if defined(BLAKE2B_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2B_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2b( hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2b_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2b_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2b_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2b_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2b_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/ref/blake2bp-ref.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2bp-ref.c +@@ -0,0 +1,359 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <stdint.h> ++ ++#if defined(_OPENMP) ++#include <omp.h> ++#endif ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++#define PARALLELISM_DEGREE 4 ++ ++/* ++ blake2b_init_param defaults to setting the expecting output length ++ from the digest_length parameter block field. ++ ++ In some cases, however, we do not want this, as the output length ++ of these instances is given by inner_length instead. ++*/ ++static int blake2bp_init_leaf_param( blake2b_state *S, const blake2b_param *P ) ++{ ++ int err = blake2b_init_param(S, P); ++ S->outlen = P->inner_length; ++ return err; ++} ++ ++static int blake2bp_init_leaf( blake2b_state *S, size_t outlen, size_t keylen, uint64_t offset ) ++{ ++ blake2b_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, offset ); ++ store32( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = BLAKE2B_OUTBYTES; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2bp_init_leaf_param( S, P ); ++} ++ ++static int blake2bp_init_root( blake2b_state *S, size_t outlen, size_t keylen ) ++{ ++ blake2b_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store32( &P->xof_length, 0 ); ++ P->node_depth = 1; ++ P->inner_length = BLAKE2B_OUTBYTES; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2b_init_param( S, P ); ++} ++ ++ ++int blake2bp_init( blake2bp_state *S, size_t outlen ) ++{ ++ size_t i; ++ ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2bp_init_root( S->R, outlen, 0 ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2bp_init_leaf( S->S[i], outlen, 0, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ return 0; ++} ++ ++int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ size_t i; ++ ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ if( !key || !keylen || keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2bp_init_root( S->R, outlen, keylen ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2bp_init_leaf( S->S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset( block, 0, BLAKE2B_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S->S[i], block, BLAKE2B_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++ ++int blake2bp_update( blake2bp_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ size_t left = S->buflen; ++ size_t fill = sizeof( S->buf ) - left; ++ size_t i; ++ ++ if( left && inlen >= fill ) ++ { ++ memcpy( S->buf + left, in, fill ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, BLAKE2B_BLOCKBYTES ); ++ ++ in += fill; ++ inlen -= fill; ++ left = 0; ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) ++#else ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2B_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ) ++ { ++ blake2b_update( S->S[i], in__, BLAKE2B_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ } ++ } ++ ++ in += inlen - inlen % ( PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ); ++ inlen %= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ ++ if( inlen > 0 ) ++ memcpy( S->buf + left, in, inlen ); ++ ++ S->buflen = left + inlen; ++ return 0; ++} ++ ++int blake2bp_final( blake2bp_state *S, void *out, size_t outlen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; ++ size_t i; ++ ++ if(out == NULL || outlen < S->outlen) { ++ return -1; ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ { ++ if( S->buflen > i * BLAKE2B_BLOCKBYTES ) ++ { ++ size_t left = S->buflen - i * BLAKE2B_BLOCKBYTES; ++ ++ if( left > BLAKE2B_BLOCKBYTES ) left = BLAKE2B_BLOCKBYTES; ++ ++ blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, left ); ++ } ++ ++ blake2b_final( S->S[i], hash[i], BLAKE2B_OUTBYTES ); ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S->R, hash[i], BLAKE2B_OUTBYTES ); ++ ++ return blake2b_final( S->R, out, S->outlen ); ++} ++ ++int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; ++ blake2b_state S[PARALLELISM_DEGREE][1]; ++ blake2b_state FS[1]; ++ size_t i; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if( NULL == key && keylen > 0 ) return -1; ++ ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2bp_init_leaf( S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ ++ ++ if( keylen > 0 ) ++ { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset( block, 0, BLAKE2B_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S[i], block, BLAKE2B_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S,hash), num_threads(PARALLELISM_DEGREE) ++#else ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2B_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ) ++ { ++ blake2b_update( S[i], in__, BLAKE2B_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ } ++ ++ if( inlen__ > i * BLAKE2B_BLOCKBYTES ) ++ { ++ const size_t left = inlen__ - i * BLAKE2B_BLOCKBYTES; ++ const size_t len = left <= BLAKE2B_BLOCKBYTES ? left : BLAKE2B_BLOCKBYTES; ++ blake2b_update( S[i], in__, len ); ++ } ++ ++ blake2b_final( S[i], hash[i], BLAKE2B_OUTBYTES ); ++ } ++ ++ if( blake2bp_init_root( FS, outlen, keylen ) < 0 ) ++ return -1; ++ ++ FS->last_node = 1; /* Mark as last node */ ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( FS, hash[i], BLAKE2B_OUTBYTES ); ++ ++ return blake2b_final( FS, out, outlen );; ++} ++ ++#if defined(BLAKE2BP_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2B_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2bp( hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2bp_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2bp_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2bp_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2bp_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2bp_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/ref/blake2s-ref.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2s-ref.c +@@ -0,0 +1,367 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++static const uint32_t blake2s_IV[8] = ++{ ++ 0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL, ++ 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL ++}; ++ ++static const uint8_t blake2s_sigma[10][16] = ++{ ++ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 } , ++ { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 } , ++ { 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 } , ++ { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 } , ++ { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 } , ++ { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 } , ++ { 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 } , ++ { 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 } , ++ { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 } , ++ { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13 , 0 } , ++}; ++ ++static void blake2s_set_lastnode( blake2s_state *S ) ++{ ++ S->f[1] = (uint32_t)-1; ++} ++ ++/* Some helper functions, not necessarily useful */ ++static int blake2s_is_lastblock( const blake2s_state *S ) ++{ ++ return S->f[0] != 0; ++} ++ ++static void blake2s_set_lastblock( blake2s_state *S ) ++{ ++ if( S->last_node ) blake2s_set_lastnode( S ); ++ ++ S->f[0] = (uint32_t)-1; ++} ++ ++static void blake2s_increment_counter( blake2s_state *S, const uint32_t inc ) ++{ ++ S->t[0] += inc; ++ S->t[1] += ( S->t[0] < inc ); ++} ++ ++static void blake2s_init0( blake2s_state *S ) ++{ ++ size_t i; ++ memset( S, 0, sizeof( blake2s_state ) ); ++ ++ for( i = 0; i < 8; ++i ) S->h[i] = blake2s_IV[i]; ++} ++ ++/* init2 xors IV with input parameter block */ ++int blake2s_init_param( blake2s_state *S, const blake2s_param *P ) ++{ ++ const unsigned char *p = ( const unsigned char * )( P ); ++ size_t i; ++ ++ blake2s_init0( S ); ++ ++ /* IV XOR ParamBlock */ ++ for( i = 0; i < 8; ++i ) ++ S->h[i] ^= load32( &p[i * 4] ); ++ ++ S->outlen = P->digest_length; ++ return 0; ++} ++ ++ ++/* Sequential blake2s initialization */ ++int blake2s_init( blake2s_state *S, size_t outlen ) ++{ ++ blake2s_param P[1]; ++ ++ /* Move interval verification here? */ ++ if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = 0; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store16( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ /* memset(P->reserved, 0, sizeof(P->reserved) ); */ ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2s_init_param( S, P ); ++} ++ ++int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ blake2s_param P[1]; ++ ++ if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1; ++ ++ if ( !key || !keylen || keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store16( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ /* memset(P->reserved, 0, sizeof(P->reserved) ); */ ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ ++ if( blake2s_init_param( S, P ) < 0 ) return -1; ++ ++ { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset( block, 0, BLAKE2S_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ blake2s_update( S, block, BLAKE2S_BLOCKBYTES ); ++ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++#define G(r,i,a,b,c,d) \ ++ do { \ ++ a = a + b + m[blake2s_sigma[r][2*i+0]]; \ ++ d = rotr32(d ^ a, 16); \ ++ c = c + d; \ ++ b = rotr32(b ^ c, 12); \ ++ a = a + b + m[blake2s_sigma[r][2*i+1]]; \ ++ d = rotr32(d ^ a, 8); \ ++ c = c + d; \ ++ b = rotr32(b ^ c, 7); \ ++ } while(0) ++ ++#define ROUND(r) \ ++ do { \ ++ G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \ ++ G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \ ++ G(r,2,v[ 2],v[ 6],v[10],v[14]); \ ++ G(r,3,v[ 3],v[ 7],v[11],v[15]); \ ++ G(r,4,v[ 0],v[ 5],v[10],v[15]); \ ++ G(r,5,v[ 1],v[ 6],v[11],v[12]); \ ++ G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \ ++ G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \ ++ } while(0) ++ ++static void blake2s_compress( blake2s_state *S, const uint8_t in[BLAKE2S_BLOCKBYTES] ) ++{ ++ uint32_t m[16]; ++ uint32_t v[16]; ++ size_t i; ++ ++ for( i = 0; i < 16; ++i ) { ++ m[i] = load32( in + i * sizeof( m[i] ) ); ++ } ++ ++ for( i = 0; i < 8; ++i ) { ++ v[i] = S->h[i]; ++ } ++ ++ v[ 8] = blake2s_IV[0]; ++ v[ 9] = blake2s_IV[1]; ++ v[10] = blake2s_IV[2]; ++ v[11] = blake2s_IV[3]; ++ v[12] = S->t[0] ^ blake2s_IV[4]; ++ v[13] = S->t[1] ^ blake2s_IV[5]; ++ v[14] = S->f[0] ^ blake2s_IV[6]; ++ v[15] = S->f[1] ^ blake2s_IV[7]; ++ ++ ROUND( 0 ); ++ ROUND( 1 ); ++ ROUND( 2 ); ++ ROUND( 3 ); ++ ROUND( 4 ); ++ ROUND( 5 ); ++ ROUND( 6 ); ++ ROUND( 7 ); ++ ROUND( 8 ); ++ ROUND( 9 ); ++ ++ for( i = 0; i < 8; ++i ) { ++ S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; ++ } ++} ++ ++#undef G ++#undef ROUND ++ ++int blake2s_update( blake2s_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ if( inlen > 0 ) ++ { ++ size_t left = S->buflen; ++ size_t fill = BLAKE2S_BLOCKBYTES - left; ++ if( inlen > fill ) ++ { ++ S->buflen = 0; ++ memcpy( S->buf + left, in, fill ); /* Fill buffer */ ++ blake2s_increment_counter( S, BLAKE2S_BLOCKBYTES ); ++ blake2s_compress( S, S->buf ); /* Compress */ ++ in += fill; inlen -= fill; ++ while(inlen > BLAKE2S_BLOCKBYTES) { ++ blake2s_increment_counter(S, BLAKE2S_BLOCKBYTES); ++ blake2s_compress( S, in ); ++ in += BLAKE2S_BLOCKBYTES; ++ inlen -= BLAKE2S_BLOCKBYTES; ++ } ++ } ++ memcpy( S->buf + S->buflen, in, inlen ); ++ S->buflen += inlen; ++ } ++ return 0; ++} ++ ++int blake2s_final( blake2s_state *S, void *out, size_t outlen ) ++{ ++ uint8_t buffer[BLAKE2S_OUTBYTES] = {0}; ++ size_t i; ++ ++ if( out == NULL || outlen < S->outlen ) ++ return -1; ++ ++ if( blake2s_is_lastblock( S ) ) ++ return -1; ++ ++ blake2s_increment_counter( S, ( uint32_t )S->buflen ); ++ blake2s_set_lastblock( S ); ++ memset( S->buf + S->buflen, 0, BLAKE2S_BLOCKBYTES - S->buflen ); /* Padding */ ++ blake2s_compress( S, S->buf ); ++ ++ for( i = 0; i < 8; ++i ) /* Output full hash to temp buffer */ ++ store32( buffer + sizeof( S->h[i] ) * i, S->h[i] ); ++ ++ memcpy( out, buffer, outlen ); ++ secure_zero_memory(buffer, sizeof(buffer)); ++ return 0; ++} ++ ++int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ blake2s_state S[1]; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if ( NULL == key && keylen > 0) return -1; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ if( keylen > 0 ) ++ { ++ if( blake2s_init_key( S, outlen, key, keylen ) < 0 ) return -1; ++ } ++ else ++ { ++ if( blake2s_init( S, outlen ) < 0 ) return -1; ++ } ++ ++ blake2s_update( S, ( const uint8_t * )in, inlen ); ++ blake2s_final( S, out, outlen ); ++ return 0; ++} ++ ++#if defined(SUPERCOP) ++int crypto_hash( unsigned char *out, unsigned char *in, unsigned long long inlen ) ++{ ++ return blake2s( out, BLAKE2S_OUTBYTES, in, inlen, NULL, 0 ); ++} ++#endif ++ ++#if defined(BLAKE2S_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2S_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2s( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2s_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2s_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2s_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2s_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2s_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/ref/blake2sp-ref.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2sp-ref.c +@@ -0,0 +1,359 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdlib.h> ++#include <string.h> ++#include <stdio.h> ++ ++#if defined(_OPENMP) ++#include <omp.h> ++#endif ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++#define PARALLELISM_DEGREE 8 ++ ++/* ++ blake2sp_init_param defaults to setting the expecting output length ++ from the digest_length parameter block field. ++ ++ In some cases, however, we do not want this, as the output length ++ of these instances is given by inner_length instead. ++*/ ++static int blake2sp_init_leaf_param( blake2s_state *S, const blake2s_param *P ) ++{ ++ int err = blake2s_init_param(S, P); ++ S->outlen = P->inner_length; ++ return err; ++} ++ ++static int blake2sp_init_leaf( blake2s_state *S, size_t outlen, size_t keylen, uint64_t offset ) ++{ ++ blake2s_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, offset ); ++ store16( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = BLAKE2S_OUTBYTES; ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2sp_init_leaf_param( S, P ); ++} ++ ++static int blake2sp_init_root( blake2s_state *S, size_t outlen, size_t keylen ) ++{ ++ blake2s_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store16( &P->xof_length, 0 ); ++ P->node_depth = 1; ++ P->inner_length = BLAKE2S_OUTBYTES; ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2s_init_param( S, P ); ++} ++ ++ ++int blake2sp_init( blake2sp_state *S, size_t outlen ) ++{ ++ size_t i; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2sp_init_root( S->R, outlen, 0 ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2sp_init_leaf( S->S[i], outlen, 0, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ return 0; ++} ++ ++int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ size_t i; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ if( !key || !keylen || keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2sp_init_root( S->R, outlen, keylen ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2sp_init_leaf( S->S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset( block, 0, BLAKE2S_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S->S[i], block, BLAKE2S_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++ ++int blake2sp_update( blake2sp_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ size_t left = S->buflen; ++ size_t fill = sizeof( S->buf ) - left; ++ size_t i; ++ ++ if( left && inlen >= fill ) ++ { ++ memcpy( S->buf + left, in, fill ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, BLAKE2S_BLOCKBYTES ); ++ ++ in += fill; ++ inlen -= fill; ++ left = 0; ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) ++#else ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2S_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ) ++ { ++ blake2s_update( S->S[i], in__, BLAKE2S_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ } ++ } ++ ++ in += inlen - inlen % ( PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ); ++ inlen %= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ ++ if( inlen > 0 ) ++ memcpy( S->buf + left, in, inlen ); ++ ++ S->buflen = left + inlen; ++ return 0; ++} ++ ++ ++int blake2sp_final( blake2sp_state *S, void *out, size_t outlen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; ++ size_t i; ++ ++ if(out == NULL || outlen < S->outlen) { ++ return -1; ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ { ++ if( S->buflen > i * BLAKE2S_BLOCKBYTES ) ++ { ++ size_t left = S->buflen - i * BLAKE2S_BLOCKBYTES; ++ ++ if( left > BLAKE2S_BLOCKBYTES ) left = BLAKE2S_BLOCKBYTES; ++ ++ blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, left ); ++ } ++ ++ blake2s_final( S->S[i], hash[i], BLAKE2S_OUTBYTES ); ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S->R, hash[i], BLAKE2S_OUTBYTES ); ++ ++ return blake2s_final( S->R, out, S->outlen ); ++} ++ ++ ++int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; ++ blake2s_state S[PARALLELISM_DEGREE][1]; ++ blake2s_state FS[1]; ++ size_t i; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if ( NULL == key && keylen > 0) return -1; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2sp_init_leaf( S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ ++ ++ if( keylen > 0 ) ++ { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset( block, 0, BLAKE2S_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S[i], block, BLAKE2S_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S,hash), num_threads(PARALLELISM_DEGREE) ++#else ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2S_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ) ++ { ++ blake2s_update( S[i], in__, BLAKE2S_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ } ++ ++ if( inlen__ > i * BLAKE2S_BLOCKBYTES ) ++ { ++ const size_t left = inlen__ - i * BLAKE2S_BLOCKBYTES; ++ const size_t len = left <= BLAKE2S_BLOCKBYTES ? left : BLAKE2S_BLOCKBYTES; ++ blake2s_update( S[i], in__, len ); ++ } ++ ++ blake2s_final( S[i], hash[i], BLAKE2S_OUTBYTES ); ++ } ++ ++ if( blake2sp_init_root( FS, outlen, keylen ) < 0 ) ++ return -1; ++ ++ FS->last_node = 1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( FS, hash[i], BLAKE2S_OUTBYTES ); ++ ++ return blake2s_final( FS, out, outlen ); ++} ++ ++ ++ ++#if defined(BLAKE2SP_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2S_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2sp( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2sp_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2sp_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2sp_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2sp_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2sp_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/ref/blake2xb-ref.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2xb-ref.c +@@ -0,0 +1,241 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2016, JP Aumasson <jeanphilippe.aumasson@gmail.com>. ++ Copyright 2016, Samuel Neves <sneves@dei.uc.pt>. ++ ++ You may use this under the terms of the CC0, the OpenSSL Licence, or ++ the Apache Public License 2.0, at your option. The terms of these ++ licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++int blake2xb_init( blake2xb_state *S, const size_t outlen ) { ++ return blake2xb_init_key(S, outlen, NULL, 0); ++} ++ ++int blake2xb_init_key( blake2xb_state *S, const size_t outlen, const void *key, size_t keylen) ++{ ++ if ( outlen == 0 || outlen > 0xFFFFFFFFUL ) { ++ return -1; ++ } ++ ++ if (NULL != key && keylen > BLAKE2B_KEYBYTES) { ++ return -1; ++ } ++ ++ if (NULL == key && keylen > 0) { ++ return -1; ++ } ++ ++ /* Initialize parameter block */ ++ S->P->digest_length = BLAKE2B_OUTBYTES; ++ S->P->key_length = keylen; ++ S->P->fanout = 1; ++ S->P->depth = 1; ++ store32( &S->P->leaf_length, 0 ); ++ store32( &S->P->node_offset, 0 ); ++ store32( &S->P->xof_length, outlen ); ++ S->P->node_depth = 0; ++ S->P->inner_length = 0; ++ memset( S->P->reserved, 0, sizeof( S->P->reserved ) ); ++ memset( S->P->salt, 0, sizeof( S->P->salt ) ); ++ memset( S->P->personal, 0, sizeof( S->P->personal ) ); ++ ++ if( blake2b_init_param( S->S, S->P ) < 0 ) { ++ return -1; ++ } ++ ++ if (keylen > 0) { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset(block, 0, BLAKE2B_BLOCKBYTES); ++ memcpy(block, key, keylen); ++ blake2b_update(S->S, block, BLAKE2B_BLOCKBYTES); ++ secure_zero_memory(block, BLAKE2B_BLOCKBYTES); ++ } ++ return 0; ++} ++ ++int blake2xb_update( blake2xb_state *S, const void *in, size_t inlen ) { ++ return blake2b_update( S->S, in, inlen ); ++} ++ ++int blake2xb_final( blake2xb_state *S, void *out, size_t outlen) { ++ ++ blake2b_state C[1]; ++ blake2b_param P[1]; ++ uint32_t xof_length = load32(&S->P->xof_length); ++ uint8_t root[BLAKE2B_BLOCKBYTES]; ++ size_t i; ++ ++ if (NULL == out) { ++ return -1; ++ } ++ ++ /* outlen must match the output size defined in xof_length, */ ++ /* unless it was -1, in which case anything goes except 0. */ ++ if(xof_length == 0xFFFFFFFFUL) { ++ if(outlen == 0) { ++ return -1; ++ } ++ } else { ++ if(outlen != xof_length) { ++ return -1; ++ } ++ } ++ ++ /* Finalize the root hash */ ++ if (blake2b_final(S->S, root, BLAKE2B_OUTBYTES) < 0) { ++ return -1; ++ } ++ ++ /* Set common block structure values */ ++ /* Copy values from parent instance, and only change the ones below */ ++ memcpy(P, S->P, sizeof(blake2b_param)); ++ P->key_length = 0; ++ P->fanout = 0; ++ P->depth = 0; ++ store32(&P->leaf_length, BLAKE2B_OUTBYTES); ++ P->inner_length = BLAKE2B_OUTBYTES; ++ P->node_depth = 0; ++ ++ for (i = 0; outlen > 0; ++i) { ++ const size_t block_size = (outlen < BLAKE2B_OUTBYTES) ? outlen : BLAKE2B_OUTBYTES; ++ /* Initialize state */ ++ P->digest_length = block_size; ++ store32(&P->node_offset, i); ++ blake2b_init_param(C, P); ++ /* Process key if needed */ ++ blake2b_update(C, root, BLAKE2B_OUTBYTES); ++ if (blake2b_final(C, (uint8_t *)out + i * BLAKE2B_OUTBYTES, block_size) < 0 ) { ++ return -1; ++ } ++ outlen -= block_size; ++ } ++ secure_zero_memory(root, sizeof(root)); ++ secure_zero_memory(P, sizeof(P)); ++ secure_zero_memory(C, sizeof(C)); ++ /* Put blake2xb in an invalid state? cf. blake2s_is_lastblock */ ++ return 0; ++ ++} ++ ++int blake2xb(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) ++{ ++ blake2xb_state S[1]; ++ ++ /* Verify parameters */ ++ if (NULL == in && inlen > 0) ++ return -1; ++ ++ if (NULL == out) ++ return -1; ++ ++ if (NULL == key && keylen > 0) ++ return -1; ++ ++ if (keylen > BLAKE2B_KEYBYTES) ++ return -1; ++ ++ if (outlen == 0) ++ return -1; ++ ++ /* Initialize the root block structure */ ++ if (blake2xb_init_key(S, outlen, key, keylen) < 0) { ++ return -1; ++ } ++ ++ /* Absorb the input message */ ++ blake2xb_update(S, in, inlen); ++ ++ /* Compute the root node of the tree and the final hash using the counter construction */ ++ return blake2xb_final(S, out, outlen); ++} ++ ++#if defined(BLAKE2XB_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2B_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step, outlen; ++ ++ for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) { ++ key[i] = ( uint8_t )i; ++ } ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) { ++ buf[i] = ( uint8_t )i; ++ } ++ ++ /* Testing length of outputs rather than inputs */ ++ /* (Test of input lengths mostly covered by blake2b tests) */ ++ ++ /* Test simple API */ ++ for( outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen ) ++ { ++ uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; ++ if( blake2xb( hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2B_KEYBYTES ) < 0 ) { ++ goto fail; ++ } ++ ++ if( 0 != memcmp( hash, blake2xb_keyed_kat[outlen-1], outlen ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { ++ for (outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { ++ uint8_t hash[BLAKE2_KAT_LENGTH]; ++ blake2xb_state S; ++ uint8_t * p = buf; ++ size_t mlen = BLAKE2_KAT_LENGTH; ++ int err = 0; ++ ++ if( (err = blake2xb_init_key(&S, outlen, key, BLAKE2B_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2xb_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2xb_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2xb_final(&S, hash, outlen)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2xb_keyed_kat[outlen-1], outlen)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/ref/blake2xs-ref.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/blake2xs-ref.c +@@ -0,0 +1,239 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2016, JP Aumasson <jeanphilippe.aumasson@gmail.com>. ++ Copyright 2016, Samuel Neves <sneves@dei.uc.pt>. ++ ++ You may use this under the terms of the CC0, the OpenSSL Licence, or ++ the Apache Public License 2.0, at your option. The terms of these ++ licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++int blake2xs_init( blake2xs_state *S, const size_t outlen ) { ++ return blake2xs_init_key(S, outlen, NULL, 0); ++} ++ ++int blake2xs_init_key( blake2xs_state *S, const size_t outlen, const void *key, size_t keylen ) ++{ ++ if ( outlen == 0 || outlen > 0xFFFFUL ) { ++ return -1; ++ } ++ ++ if (NULL != key && keylen > BLAKE2B_KEYBYTES) { ++ return -1; ++ } ++ ++ if (NULL == key && keylen > 0) { ++ return -1; ++ } ++ ++ /* Initialize parameter block */ ++ S->P->digest_length = BLAKE2S_OUTBYTES; ++ S->P->key_length = keylen; ++ S->P->fanout = 1; ++ S->P->depth = 1; ++ store32( &S->P->leaf_length, 0 ); ++ store32( &S->P->node_offset, 0 ); ++ store16( &S->P->xof_length, outlen ); ++ S->P->node_depth = 0; ++ S->P->inner_length = 0; ++ memset( S->P->salt, 0, sizeof( S->P->salt ) ); ++ memset( S->P->personal, 0, sizeof( S->P->personal ) ); ++ ++ if( blake2s_init_param( S->S, S->P ) < 0 ) { ++ return -1; ++ } ++ ++ if (keylen > 0) { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset(block, 0, BLAKE2S_BLOCKBYTES); ++ memcpy(block, key, keylen); ++ blake2s_update(S->S, block, BLAKE2S_BLOCKBYTES); ++ secure_zero_memory(block, BLAKE2S_BLOCKBYTES); ++ } ++ return 0; ++} ++ ++int blake2xs_update( blake2xs_state *S, const void *in, size_t inlen ) { ++ return blake2s_update( S->S, in, inlen ); ++} ++ ++int blake2xs_final(blake2xs_state *S, void *out, size_t outlen) { ++ ++ blake2s_state C[1]; ++ blake2s_param P[1]; ++ uint16_t xof_length = load16(&S->P->xof_length); ++ uint8_t root[BLAKE2S_BLOCKBYTES]; ++ size_t i; ++ ++ if (NULL == out) { ++ return -1; ++ } ++ ++ /* outlen must match the output size defined in xof_length, */ ++ /* unless it was -1, in which case anything goes except 0. */ ++ if(xof_length == 0xFFFFUL) { ++ if(outlen == 0) { ++ return -1; ++ } ++ } else { ++ if(outlen != xof_length) { ++ return -1; ++ } ++ } ++ ++ /* Finalize the root hash */ ++ if (blake2s_final(S->S, root, BLAKE2S_OUTBYTES) < 0) { ++ return -1; ++ } ++ ++ /* Set common block structure values */ ++ /* Copy values from parent instance, and only change the ones below */ ++ memcpy(P, S->P, sizeof(blake2s_param)); ++ P->key_length = 0; ++ P->fanout = 0; ++ P->depth = 0; ++ store32(&P->leaf_length, BLAKE2S_OUTBYTES); ++ P->inner_length = BLAKE2S_OUTBYTES; ++ P->node_depth = 0; ++ ++ for (i = 0; outlen > 0; ++i) { ++ const size_t block_size = (outlen < BLAKE2S_OUTBYTES) ? outlen : BLAKE2S_OUTBYTES; ++ /* Initialize state */ ++ P->digest_length = block_size; ++ store32(&P->node_offset, i); ++ blake2s_init_param(C, P); ++ /* Process key if needed */ ++ blake2s_update(C, root, BLAKE2S_OUTBYTES); ++ if (blake2s_final(C, (uint8_t *)out + i * BLAKE2S_OUTBYTES, block_size) < 0) { ++ return -1; ++ } ++ outlen -= block_size; ++ } ++ secure_zero_memory(root, sizeof(root)); ++ secure_zero_memory(P, sizeof(P)); ++ secure_zero_memory(C, sizeof(C)); ++ /* Put blake2xs in an invalid state? cf. blake2s_is_lastblock */ ++ return 0; ++} ++ ++int blake2xs(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) ++{ ++ blake2xs_state S[1]; ++ ++ /* Verify parameters */ ++ if (NULL == in && inlen > 0) ++ return -1; ++ ++ if (NULL == out) ++ return -1; ++ ++ if (NULL == key && keylen > 0) ++ return -1; ++ ++ if (keylen > BLAKE2S_KEYBYTES) ++ return -1; ++ ++ if (outlen == 0) ++ return -1; ++ ++ /* Initialize the root block structure */ ++ if (blake2xs_init_key(S, outlen, key, keylen) < 0) { ++ return -1; ++ } ++ ++ /* Absorb the input message */ ++ blake2xs_update(S, in, inlen); ++ ++ /* Compute the root node of the tree and the final hash using the counter construction */ ++ return blake2xs_final(S, out, outlen); ++} ++ ++#if defined(BLAKE2XS_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2S_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step, outlen; ++ ++ for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) { ++ key[i] = ( uint8_t )i; ++ } ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) { ++ buf[i] = ( uint8_t )i; ++ } ++ ++ /* Testing length of outputs rather than inputs */ ++ /* (Test of input lengths mostly covered by blake2s tests) */ ++ ++ /* Test simple API */ ++ for( outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen ) ++ { ++ uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; ++ if( blake2xs( hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2S_KEYBYTES ) < 0 ) { ++ goto fail; ++ } ++ ++ if( 0 != memcmp( hash, blake2xs_keyed_kat[outlen-1], outlen ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { ++ for (outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { ++ uint8_t hash[BLAKE2_KAT_LENGTH]; ++ blake2xs_state S; ++ uint8_t * p = buf; ++ size_t mlen = BLAKE2_KAT_LENGTH; ++ int err = 0; ++ ++ if( (err = blake2xs_init_key(&S, outlen, key, BLAKE2S_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2xs_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2xs_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2xs_final(&S, hash, outlen)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2xs_keyed_kat[outlen-1], outlen)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/ref/genkat-c.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/genkat-c.c +@@ -0,0 +1,139 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++ ++#include "blake2.h" ++ ++#define STR_(x) #x ++#define STR(x) STR_(x) ++ ++#define LENGTH 256 ++ ++#define MAKE_KAT(name, size_prefix) \ ++ do { \ ++ printf("static const uint8_t " #name "_kat[BLAKE2_KAT_LENGTH][" #size_prefix \ ++ "_OUTBYTES] = \n{\n"); \ ++ \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ name(hash, size_prefix##_OUTBYTES, in, i, NULL, 0); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == size_prefix##_OUTBYTES ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++#define MAKE_KEYED_KAT(name, size_prefix) \ ++ do { \ ++ printf("static const uint8_t " #name "_keyed_kat[BLAKE2_KAT_LENGTH][" #size_prefix \ ++ "_OUTBYTES] = \n{\n"); \ ++ \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ name(hash, size_prefix##_OUTBYTES, in, i, key, size_prefix##_KEYBYTES); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == size_prefix##_OUTBYTES ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++#define MAKE_XOF_KAT(name) \ ++ do { \ ++ printf("static const uint8_t " #name "_kat[BLAKE2_KAT_LENGTH][BLAKE2_KAT_LENGTH] = \n{\n"); \ ++ \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ name(hash, i, in, LENGTH, NULL, 0); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ for (j = i; j < LENGTH; ++j) \ ++ printf("0x00%s", (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++#define MAKE_XOF_KEYED_KAT(name, size_prefix) \ ++ do { \ ++ printf("static const uint8_t " #name \ ++ "_keyed_kat[BLAKE2_KAT_LENGTH][BLAKE2_KAT_LENGTH] = \n{\n"); \ ++ \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ name(hash, i, in, LENGTH, key, size_prefix##_KEYBYTES); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ for (j = i; j < LENGTH; ++j) \ ++ printf("0x00%s", (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++int main() { ++ uint8_t key[64] = {0}; ++ uint8_t in[LENGTH] = {0}; ++ uint8_t hash[LENGTH] = {0}; ++ size_t i, j; ++ ++ for (i = 0; i < sizeof(in); ++i) ++ in[i] = i; ++ ++ for (i = 0; i < sizeof(key); ++i) ++ key[i] = i; ++ ++ puts("#ifndef BLAKE2_KAT_H\n" ++ "#define BLAKE2_KAT_H\n\n\n" ++ "#include <stdint.h>\n\n" ++ "#define BLAKE2_KAT_LENGTH " STR(LENGTH) "\n\n\n"); ++ MAKE_KAT(blake2s, BLAKE2S); ++ MAKE_KEYED_KAT(blake2s, BLAKE2S); ++ MAKE_KAT(blake2b, BLAKE2B); ++ MAKE_KEYED_KAT(blake2b, BLAKE2B); ++ MAKE_KAT(blake2sp, BLAKE2S); ++ MAKE_KEYED_KAT(blake2sp, BLAKE2S); ++ MAKE_KAT(blake2bp, BLAKE2B); ++ MAKE_KEYED_KAT(blake2bp, BLAKE2B); ++ MAKE_XOF_KAT(blake2xs); ++ MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S); ++ MAKE_XOF_KAT(blake2xb); ++ MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B); ++ puts("#endif"); ++ return 0; ++} +--- thirdparty/blake2/ref/genkat-json.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/genkat-json.c +@@ -0,0 +1,154 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++ ++#include "blake2.h" ++ ++#define STR_(x) #x ++#define STR(x) STR_(x) ++ ++#define LENGTH 256 ++ ++#define MAKE_KAT(name, size_prefix, first) \ ++ do { \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 0 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \"\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, size_prefix##_OUTBYTES, in, i, NULL, 0); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++#define MAKE_KEYED_KAT(name, size_prefix, first) \ ++ do { \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 0 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \""); \ ++ for (j = 0; j < size_prefix##_KEYBYTES; ++j) \ ++ printf("%02x", key[j]); \ ++ printf("\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, size_prefix##_OUTBYTES, in, i, key, size_prefix##_KEYBYTES); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++#define MAKE_XOF_KAT(name, first) \ ++ do { \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 1 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < LENGTH; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \"\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, i, in, LENGTH, NULL, 0); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++#define MAKE_XOF_KEYED_KAT(name, size_prefix, first) \ ++ do { \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 1 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < LENGTH; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \""); \ ++ for (j = 0; j < size_prefix##_KEYBYTES; ++j) \ ++ printf("%02x", key[j]); \ ++ printf("\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, i, in, LENGTH, key, size_prefix##_KEYBYTES); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++int main() { ++ uint8_t key[64] = {0}; ++ uint8_t in[LENGTH] = {0}; ++ uint8_t hash[LENGTH] = {0}; ++ size_t i, j; ++ ++ for (i = 0; i < sizeof(in); ++i) ++ in[i] = i; ++ ++ for (i = 0; i < sizeof(key); ++i) ++ key[i] = i; ++ ++ printf("["); ++ MAKE_KAT(blake2s, BLAKE2S, 1); ++ MAKE_KEYED_KAT(blake2s, BLAKE2S, 0); ++ MAKE_KAT(blake2b, BLAKE2B, 0); ++ MAKE_KEYED_KAT(blake2b, BLAKE2B, 0); ++ MAKE_KAT(blake2sp, BLAKE2S, 0); ++ MAKE_KEYED_KAT(blake2sp, BLAKE2S, 0); ++ MAKE_KAT(blake2bp, BLAKE2B, 0); ++ MAKE_KEYED_KAT(blake2bp, BLAKE2B, 0); ++ MAKE_XOF_KAT(blake2xs, 0); ++ MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S, 0); ++ MAKE_XOF_KAT(blake2xb, 0); ++ MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B, 0); ++ printf("\n]\n"); ++ fflush(stdout); ++ return 0; ++} +--- thirdparty/blake2/ref/makefile.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/ref/makefile +@@ -0,0 +1,40 @@ ++CC=gcc ++CFLAGS=-O2 -I../testvectors -Wall -Wextra -std=c89 -pedantic -Wno-long-long ++BLAKEBINS=blake2s blake2b blake2sp blake2bp blake2xs blake2xb ++ ++all: $(BLAKEBINS) check ++ ++blake2s: blake2s-ref.c ++ $(CC) blake2s-ref.c -o $@ $(CFLAGS) -DBLAKE2S_SELFTEST ++ ++blake2b: blake2b-ref.c ++ $(CC) blake2b-ref.c -o $@ $(CFLAGS) -DBLAKE2B_SELFTEST ++ ++blake2sp: blake2sp-ref.c blake2s-ref.c ++ $(CC) blake2sp-ref.c blake2s-ref.c -o $@ $(CFLAGS) -DBLAKE2SP_SELFTEST ++ ++blake2bp: blake2bp-ref.c blake2b-ref.c ++ $(CC) blake2bp-ref.c blake2b-ref.c -o $@ $(CFLAGS) -DBLAKE2BP_SELFTEST ++ ++blake2xs: blake2xs-ref.c blake2s-ref.c ++ $(CC) blake2xs-ref.c blake2s-ref.c -o $@ $(CFLAGS) -DBLAKE2XS_SELFTEST ++ ++blake2xb: blake2xb-ref.c blake2b-ref.c ++ $(CC) blake2xb-ref.c blake2b-ref.c -o $@ $(CFLAGS) -DBLAKE2XB_SELFTEST ++ ++check: blake2s blake2b blake2sp blake2bp blake2xs blake2xb ++ ./blake2s ++ ./blake2b ++ ./blake2sp ++ ./blake2bp ++ ./blake2xs ++ ./blake2xb ++ ++kat: ++ $(CC) $(CFLAGS) -o genkat-c genkat-c.c blake2b-ref.c blake2s-ref.c blake2sp-ref.c blake2bp-ref.c blake2xs-ref.c blake2xb-ref.c ++ $(CC) $(CFLAGS) -o genkat-json genkat-json.c blake2b-ref.c blake2s-ref.c blake2sp-ref.c blake2bp-ref.c blake2xs-ref.c blake2xb-ref.c ++ ./genkat-c > blake2-kat.h ++ ./genkat-json > blake2-kat.json ++ ++clean: ++ rm -rf *.o genkat-c genkat-json blake2-kat.h blake2-kat.json $(BLAKEBINS) +--- thirdparty/blake2/sse/blake2-config.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2-config.h +@@ -0,0 +1,72 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2_CONFIG_H ++#define BLAKE2_CONFIG_H ++ ++/* These don't work everywhere */ ++#if defined(__SSE2__) || defined(__x86_64__) || defined(__amd64__) ++#define HAVE_SSE2 ++#endif ++ ++#if defined(__SSSE3__) ++#define HAVE_SSSE3 ++#endif ++ ++#if defined(__SSE4_1__) ++#define HAVE_SSE41 ++#endif ++ ++#if defined(__AVX__) ++#define HAVE_AVX ++#endif ++ ++#if defined(__XOP__) ++#define HAVE_XOP ++#endif ++ ++ ++#ifdef HAVE_AVX2 ++#ifndef HAVE_AVX ++#define HAVE_AVX ++#endif ++#endif ++ ++#ifdef HAVE_XOP ++#ifndef HAVE_AVX ++#define HAVE_AVX ++#endif ++#endif ++ ++#ifdef HAVE_AVX ++#ifndef HAVE_SSE41 ++#define HAVE_SSE41 ++#endif ++#endif ++ ++#ifdef HAVE_SSE41 ++#ifndef HAVE_SSSE3 ++#define HAVE_SSSE3 ++#endif ++#endif ++ ++#ifdef HAVE_SSSE3 ++#define HAVE_SSE2 ++#endif ++ ++#if !defined(HAVE_SSE2) ++#error "This code requires at least SSE2." ++#endif ++ ++#endif +--- thirdparty/blake2/sse/blake2-impl.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2-impl.h +@@ -0,0 +1,160 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2_IMPL_H ++#define BLAKE2_IMPL_H ++ ++#include <stdint.h> ++#include <string.h> ++ ++#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) ++ #if defined(_MSC_VER) ++ #define BLAKE2_INLINE __inline ++ #elif defined(__GNUC__) ++ #define BLAKE2_INLINE __inline__ ++ #else ++ #define BLAKE2_INLINE ++ #endif ++#else ++ #define BLAKE2_INLINE inline ++#endif ++ ++static BLAKE2_INLINE uint32_t load32( const void *src ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ uint32_t w; ++ memcpy(&w, src, sizeof w); ++ return w; ++#else ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint32_t )( p[0] ) << 0) | ++ (( uint32_t )( p[1] ) << 8) | ++ (( uint32_t )( p[2] ) << 16) | ++ (( uint32_t )( p[3] ) << 24) ; ++#endif ++} ++ ++static BLAKE2_INLINE uint64_t load64( const void *src ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ uint64_t w; ++ memcpy(&w, src, sizeof w); ++ return w; ++#else ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint64_t )( p[0] ) << 0) | ++ (( uint64_t )( p[1] ) << 8) | ++ (( uint64_t )( p[2] ) << 16) | ++ (( uint64_t )( p[3] ) << 24) | ++ (( uint64_t )( p[4] ) << 32) | ++ (( uint64_t )( p[5] ) << 40) | ++ (( uint64_t )( p[6] ) << 48) | ++ (( uint64_t )( p[7] ) << 56) ; ++#endif ++} ++ ++static BLAKE2_INLINE uint16_t load16( const void *src ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ uint16_t w; ++ memcpy(&w, src, sizeof w); ++ return w; ++#else ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint16_t )( p[0] ) << 0) | ++ (( uint16_t )( p[1] ) << 8) ; ++#endif ++} ++ ++static BLAKE2_INLINE void store16( void *dst, uint16_t w ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ memcpy(dst, &w, sizeof w); ++#else ++ uint8_t *p = ( uint8_t * )dst; ++ *p++ = ( uint8_t )w; w >>= 8; ++ *p++ = ( uint8_t )w; ++#endif ++} ++ ++static BLAKE2_INLINE void store32( void *dst, uint32_t w ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ memcpy(dst, &w, sizeof w); ++#else ++ uint8_t *p = ( uint8_t * )dst; ++ p[0] = (uint8_t)(w >> 0); ++ p[1] = (uint8_t)(w >> 8); ++ p[2] = (uint8_t)(w >> 16); ++ p[3] = (uint8_t)(w >> 24); ++#endif ++} ++ ++static BLAKE2_INLINE void store64( void *dst, uint64_t w ) ++{ ++#if defined(NATIVE_LITTLE_ENDIAN) ++ memcpy(dst, &w, sizeof w); ++#else ++ uint8_t *p = ( uint8_t * )dst; ++ p[0] = (uint8_t)(w >> 0); ++ p[1] = (uint8_t)(w >> 8); ++ p[2] = (uint8_t)(w >> 16); ++ p[3] = (uint8_t)(w >> 24); ++ p[4] = (uint8_t)(w >> 32); ++ p[5] = (uint8_t)(w >> 40); ++ p[6] = (uint8_t)(w >> 48); ++ p[7] = (uint8_t)(w >> 56); ++#endif ++} ++ ++static BLAKE2_INLINE uint64_t load48( const void *src ) ++{ ++ const uint8_t *p = ( const uint8_t * )src; ++ return (( uint64_t )( p[0] ) << 0) | ++ (( uint64_t )( p[1] ) << 8) | ++ (( uint64_t )( p[2] ) << 16) | ++ (( uint64_t )( p[3] ) << 24) | ++ (( uint64_t )( p[4] ) << 32) | ++ (( uint64_t )( p[5] ) << 40) ; ++} ++ ++static BLAKE2_INLINE void store48( void *dst, uint64_t w ) ++{ ++ uint8_t *p = ( uint8_t * )dst; ++ p[0] = (uint8_t)(w >> 0); ++ p[1] = (uint8_t)(w >> 8); ++ p[2] = (uint8_t)(w >> 16); ++ p[3] = (uint8_t)(w >> 24); ++ p[4] = (uint8_t)(w >> 32); ++ p[5] = (uint8_t)(w >> 40); ++} ++ ++static BLAKE2_INLINE uint32_t rotr32( const uint32_t w, const unsigned c ) ++{ ++ return ( w >> c ) | ( w << ( 32 - c ) ); ++} ++ ++static BLAKE2_INLINE uint64_t rotr64( const uint64_t w, const unsigned c ) ++{ ++ return ( w >> c ) | ( w << ( 64 - c ) ); ++} ++ ++/* prevents compiler optimizing out memset() */ ++static BLAKE2_INLINE void secure_zero_memory(void *v, size_t n) ++{ ++ static void *(*const volatile memset_v)(void *, int, size_t) = &memset; ++ memset_v(v, 0, n); ++} ++ ++#endif +--- thirdparty/blake2/sse/blake2.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2.h +@@ -0,0 +1,195 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2_H ++#define BLAKE2_H ++ ++#include <stddef.h> ++#include <stdint.h> ++ ++#if defined(_MSC_VER) ++#define BLAKE2_PACKED(x) __pragma(pack(push, 1)) x __pragma(pack(pop)) ++#else ++#define BLAKE2_PACKED(x) x __attribute__((packed)) ++#endif ++ ++#if defined(__cplusplus) ++extern "C" { ++#endif ++ ++ enum blake2s_constant ++ { ++ BLAKE2S_BLOCKBYTES = 64, ++ BLAKE2S_OUTBYTES = 32, ++ BLAKE2S_KEYBYTES = 32, ++ BLAKE2S_SALTBYTES = 8, ++ BLAKE2S_PERSONALBYTES = 8 ++ }; ++ ++ enum blake2b_constant ++ { ++ BLAKE2B_BLOCKBYTES = 128, ++ BLAKE2B_OUTBYTES = 64, ++ BLAKE2B_KEYBYTES = 64, ++ BLAKE2B_SALTBYTES = 16, ++ BLAKE2B_PERSONALBYTES = 16 ++ }; ++ ++ typedef struct blake2s_state__ ++ { ++ uint32_t h[8]; ++ uint32_t t[2]; ++ uint32_t f[2]; ++ uint8_t buf[BLAKE2S_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ uint8_t last_node; ++ } blake2s_state; ++ ++ typedef struct blake2b_state__ ++ { ++ uint64_t h[8]; ++ uint64_t t[2]; ++ uint64_t f[2]; ++ uint8_t buf[BLAKE2B_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ uint8_t last_node; ++ } blake2b_state; ++ ++ typedef struct blake2sp_state__ ++ { ++ blake2s_state S[8][1]; ++ blake2s_state R[1]; ++ uint8_t buf[8 * BLAKE2S_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ } blake2sp_state; ++ ++ typedef struct blake2bp_state__ ++ { ++ blake2b_state S[4][1]; ++ blake2b_state R[1]; ++ uint8_t buf[4 * BLAKE2B_BLOCKBYTES]; ++ size_t buflen; ++ size_t outlen; ++ } blake2bp_state; ++ ++ ++ BLAKE2_PACKED(struct blake2s_param__ ++ { ++ uint8_t digest_length; /* 1 */ ++ uint8_t key_length; /* 2 */ ++ uint8_t fanout; /* 3 */ ++ uint8_t depth; /* 4 */ ++ uint32_t leaf_length; /* 8 */ ++ uint32_t node_offset; /* 12 */ ++ uint16_t xof_length; /* 14 */ ++ uint8_t node_depth; /* 15 */ ++ uint8_t inner_length; /* 16 */ ++ /* uint8_t reserved[0]; */ ++ uint8_t salt[BLAKE2S_SALTBYTES]; /* 24 */ ++ uint8_t personal[BLAKE2S_PERSONALBYTES]; /* 32 */ ++ }); ++ ++ typedef struct blake2s_param__ blake2s_param; ++ ++ BLAKE2_PACKED(struct blake2b_param__ ++ { ++ uint8_t digest_length; /* 1 */ ++ uint8_t key_length; /* 2 */ ++ uint8_t fanout; /* 3 */ ++ uint8_t depth; /* 4 */ ++ uint32_t leaf_length; /* 8 */ ++ uint32_t node_offset; /* 12 */ ++ uint32_t xof_length; /* 16 */ ++ uint8_t node_depth; /* 17 */ ++ uint8_t inner_length; /* 18 */ ++ uint8_t reserved[14]; /* 32 */ ++ uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */ ++ uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */ ++ }); ++ ++ typedef struct blake2b_param__ blake2b_param; ++ ++ typedef struct blake2xs_state__ ++ { ++ blake2s_state S[1]; ++ blake2s_param P[1]; ++ } blake2xs_state; ++ ++ typedef struct blake2xb_state__ ++ { ++ blake2b_state S[1]; ++ blake2b_param P[1]; ++ } blake2xb_state; ++ ++ /* Padded structs result in a compile-time error */ ++ enum { ++ BLAKE2_DUMMY_1 = 1/(sizeof(blake2s_param) == BLAKE2S_OUTBYTES), ++ BLAKE2_DUMMY_2 = 1/(sizeof(blake2b_param) == BLAKE2B_OUTBYTES) ++ }; ++ ++ /* Streaming API */ ++ int blake2s_init( blake2s_state *S, size_t outlen ); ++ int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); ++ int blake2s_update( blake2s_state *S, const void *in, size_t inlen ); ++ int blake2s_final( blake2s_state *S, void *out, size_t outlen ); ++ ++ int blake2b_init( blake2b_state *S, size_t outlen ); ++ int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); ++ int blake2b_update( blake2b_state *S, const void *in, size_t inlen ); ++ int blake2b_final( blake2b_state *S, void *out, size_t outlen ); ++ ++ int blake2sp_init( blake2sp_state *S, size_t outlen ); ++ int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2sp_update( blake2sp_state *S, const void *in, size_t inlen ); ++ int blake2sp_final( blake2sp_state *S, void *out, size_t outlen ); ++ ++ int blake2bp_init( blake2bp_state *S, size_t outlen ); ++ int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen ); ++ int blake2bp_update( blake2bp_state *S, const void *in, size_t inlen ); ++ int blake2bp_final( blake2bp_state *S, void *out, size_t outlen ); ++ ++ /* Variable output length API */ ++ int blake2xs_init( blake2xs_state *S, const size_t outlen ); ++ int blake2xs_init_key( blake2xs_state *S, const size_t outlen, const void *key, size_t keylen ); ++ int blake2xs_update( blake2xs_state *S, const void *in, size_t inlen ); ++ int blake2xs_final(blake2xs_state *S, void *out, size_t outlen); ++ ++ int blake2xb_init( blake2xb_state *S, const size_t outlen ); ++ int blake2xb_init_key( blake2xb_state *S, const size_t outlen, const void *key, size_t keylen ); ++ int blake2xb_update( blake2xb_state *S, const void *in, size_t inlen ); ++ int blake2xb_final(blake2xb_state *S, void *out, size_t outlen); ++ ++ /* Simple API */ ++ int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++ int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++ int blake2xs( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ int blake2xb( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++ /* This is simply an alias for blake2b */ ++ int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ ++#if defined(__cplusplus) ++} ++#endif ++ ++#endif +--- thirdparty/blake2/sse/blake2b-load-sse2.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2b-load-sse2.h +@@ -0,0 +1,68 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2B_LOAD_SSE2_H ++#define BLAKE2B_LOAD_SSE2_H ++ ++#define LOAD_MSG_0_1(b0, b1) b0 = _mm_set_epi64x(m2, m0); b1 = _mm_set_epi64x(m6, m4) ++#define LOAD_MSG_0_2(b0, b1) b0 = _mm_set_epi64x(m3, m1); b1 = _mm_set_epi64x(m7, m5) ++#define LOAD_MSG_0_3(b0, b1) b0 = _mm_set_epi64x(m10, m8); b1 = _mm_set_epi64x(m14, m12) ++#define LOAD_MSG_0_4(b0, b1) b0 = _mm_set_epi64x(m11, m9); b1 = _mm_set_epi64x(m15, m13) ++#define LOAD_MSG_1_1(b0, b1) b0 = _mm_set_epi64x(m4, m14); b1 = _mm_set_epi64x(m13, m9) ++#define LOAD_MSG_1_2(b0, b1) b0 = _mm_set_epi64x(m8, m10); b1 = _mm_set_epi64x(m6, m15) ++#define LOAD_MSG_1_3(b0, b1) b0 = _mm_set_epi64x(m0, m1); b1 = _mm_set_epi64x(m5, m11) ++#define LOAD_MSG_1_4(b0, b1) b0 = _mm_set_epi64x(m2, m12); b1 = _mm_set_epi64x(m3, m7) ++#define LOAD_MSG_2_1(b0, b1) b0 = _mm_set_epi64x(m12, m11); b1 = _mm_set_epi64x(m15, m5) ++#define LOAD_MSG_2_2(b0, b1) b0 = _mm_set_epi64x(m0, m8); b1 = _mm_set_epi64x(m13, m2) ++#define LOAD_MSG_2_3(b0, b1) b0 = _mm_set_epi64x(m3, m10); b1 = _mm_set_epi64x(m9, m7) ++#define LOAD_MSG_2_4(b0, b1) b0 = _mm_set_epi64x(m6, m14); b1 = _mm_set_epi64x(m4, m1) ++#define LOAD_MSG_3_1(b0, b1) b0 = _mm_set_epi64x(m3, m7); b1 = _mm_set_epi64x(m11, m13) ++#define LOAD_MSG_3_2(b0, b1) b0 = _mm_set_epi64x(m1, m9); b1 = _mm_set_epi64x(m14, m12) ++#define LOAD_MSG_3_3(b0, b1) b0 = _mm_set_epi64x(m5, m2); b1 = _mm_set_epi64x(m15, m4) ++#define LOAD_MSG_3_4(b0, b1) b0 = _mm_set_epi64x(m10, m6); b1 = _mm_set_epi64x(m8, m0) ++#define LOAD_MSG_4_1(b0, b1) b0 = _mm_set_epi64x(m5, m9); b1 = _mm_set_epi64x(m10, m2) ++#define LOAD_MSG_4_2(b0, b1) b0 = _mm_set_epi64x(m7, m0); b1 = _mm_set_epi64x(m15, m4) ++#define LOAD_MSG_4_3(b0, b1) b0 = _mm_set_epi64x(m11, m14); b1 = _mm_set_epi64x(m3, m6) ++#define LOAD_MSG_4_4(b0, b1) b0 = _mm_set_epi64x(m12, m1); b1 = _mm_set_epi64x(m13, m8) ++#define LOAD_MSG_5_1(b0, b1) b0 = _mm_set_epi64x(m6, m2); b1 = _mm_set_epi64x(m8, m0) ++#define LOAD_MSG_5_2(b0, b1) b0 = _mm_set_epi64x(m10, m12); b1 = _mm_set_epi64x(m3, m11) ++#define LOAD_MSG_5_3(b0, b1) b0 = _mm_set_epi64x(m7, m4); b1 = _mm_set_epi64x(m1, m15) ++#define LOAD_MSG_5_4(b0, b1) b0 = _mm_set_epi64x(m5, m13); b1 = _mm_set_epi64x(m9, m14) ++#define LOAD_MSG_6_1(b0, b1) b0 = _mm_set_epi64x(m1, m12); b1 = _mm_set_epi64x(m4, m14) ++#define LOAD_MSG_6_2(b0, b1) b0 = _mm_set_epi64x(m15, m5); b1 = _mm_set_epi64x(m10, m13) ++#define LOAD_MSG_6_3(b0, b1) b0 = _mm_set_epi64x(m6, m0); b1 = _mm_set_epi64x(m8, m9) ++#define LOAD_MSG_6_4(b0, b1) b0 = _mm_set_epi64x(m3, m7); b1 = _mm_set_epi64x(m11, m2) ++#define LOAD_MSG_7_1(b0, b1) b0 = _mm_set_epi64x(m7, m13); b1 = _mm_set_epi64x(m3, m12) ++#define LOAD_MSG_7_2(b0, b1) b0 = _mm_set_epi64x(m14, m11); b1 = _mm_set_epi64x(m9, m1) ++#define LOAD_MSG_7_3(b0, b1) b0 = _mm_set_epi64x(m15, m5); b1 = _mm_set_epi64x(m2, m8) ++#define LOAD_MSG_7_4(b0, b1) b0 = _mm_set_epi64x(m4, m0); b1 = _mm_set_epi64x(m10, m6) ++#define LOAD_MSG_8_1(b0, b1) b0 = _mm_set_epi64x(m14, m6); b1 = _mm_set_epi64x(m0, m11) ++#define LOAD_MSG_8_2(b0, b1) b0 = _mm_set_epi64x(m9, m15); b1 = _mm_set_epi64x(m8, m3) ++#define LOAD_MSG_8_3(b0, b1) b0 = _mm_set_epi64x(m13, m12); b1 = _mm_set_epi64x(m10, m1) ++#define LOAD_MSG_8_4(b0, b1) b0 = _mm_set_epi64x(m7, m2); b1 = _mm_set_epi64x(m5, m4) ++#define LOAD_MSG_9_1(b0, b1) b0 = _mm_set_epi64x(m8, m10); b1 = _mm_set_epi64x(m1, m7) ++#define LOAD_MSG_9_2(b0, b1) b0 = _mm_set_epi64x(m4, m2); b1 = _mm_set_epi64x(m5, m6) ++#define LOAD_MSG_9_3(b0, b1) b0 = _mm_set_epi64x(m9, m15); b1 = _mm_set_epi64x(m13, m3) ++#define LOAD_MSG_9_4(b0, b1) b0 = _mm_set_epi64x(m14, m11); b1 = _mm_set_epi64x(m0, m12) ++#define LOAD_MSG_10_1(b0, b1) b0 = _mm_set_epi64x(m2, m0); b1 = _mm_set_epi64x(m6, m4) ++#define LOAD_MSG_10_2(b0, b1) b0 = _mm_set_epi64x(m3, m1); b1 = _mm_set_epi64x(m7, m5) ++#define LOAD_MSG_10_3(b0, b1) b0 = _mm_set_epi64x(m10, m8); b1 = _mm_set_epi64x(m14, m12) ++#define LOAD_MSG_10_4(b0, b1) b0 = _mm_set_epi64x(m11, m9); b1 = _mm_set_epi64x(m15, m13) ++#define LOAD_MSG_11_1(b0, b1) b0 = _mm_set_epi64x(m4, m14); b1 = _mm_set_epi64x(m13, m9) ++#define LOAD_MSG_11_2(b0, b1) b0 = _mm_set_epi64x(m8, m10); b1 = _mm_set_epi64x(m6, m15) ++#define LOAD_MSG_11_3(b0, b1) b0 = _mm_set_epi64x(m0, m1); b1 = _mm_set_epi64x(m5, m11) ++#define LOAD_MSG_11_4(b0, b1) b0 = _mm_set_epi64x(m2, m12); b1 = _mm_set_epi64x(m3, m7) ++ ++ ++#endif +--- thirdparty/blake2/sse/blake2b-load-sse41.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2b-load-sse41.h +@@ -0,0 +1,402 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2B_LOAD_SSE41_H ++#define BLAKE2B_LOAD_SSE41_H ++ ++#define LOAD_MSG_0_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m0, m1); \ ++b1 = _mm_unpacklo_epi64(m2, m3); \ ++} while(0) ++ ++ ++#define LOAD_MSG_0_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m0, m1); \ ++b1 = _mm_unpackhi_epi64(m2, m3); \ ++} while(0) ++ ++ ++#define LOAD_MSG_0_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m4, m5); \ ++b1 = _mm_unpacklo_epi64(m6, m7); \ ++} while(0) ++ ++ ++#define LOAD_MSG_0_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m4, m5); \ ++b1 = _mm_unpackhi_epi64(m6, m7); \ ++} while(0) ++ ++ ++#define LOAD_MSG_1_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m7, m2); \ ++b1 = _mm_unpackhi_epi64(m4, m6); \ ++} while(0) ++ ++ ++#define LOAD_MSG_1_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m5, m4); \ ++b1 = _mm_alignr_epi8(m3, m7, 8); \ ++} while(0) ++ ++ ++#define LOAD_MSG_1_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1,0,3,2)); \ ++b1 = _mm_unpackhi_epi64(m5, m2); \ ++} while(0) ++ ++ ++#define LOAD_MSG_1_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m6, m1); \ ++b1 = _mm_unpackhi_epi64(m3, m1); \ ++} while(0) ++ ++ ++#define LOAD_MSG_2_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_alignr_epi8(m6, m5, 8); \ ++b1 = _mm_unpackhi_epi64(m2, m7); \ ++} while(0) ++ ++ ++#define LOAD_MSG_2_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m4, m0); \ ++b1 = _mm_blend_epi16(m1, m6, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_2_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_blend_epi16(m5, m1, 0xF0); \ ++b1 = _mm_unpackhi_epi64(m3, m4); \ ++} while(0) ++ ++ ++#define LOAD_MSG_2_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m7, m3); \ ++b1 = _mm_alignr_epi8(m2, m0, 8); \ ++} while(0) ++ ++ ++#define LOAD_MSG_3_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m3, m1); \ ++b1 = _mm_unpackhi_epi64(m6, m5); \ ++} while(0) ++ ++ ++#define LOAD_MSG_3_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m4, m0); \ ++b1 = _mm_unpacklo_epi64(m6, m7); \ ++} while(0) ++ ++ ++#define LOAD_MSG_3_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_blend_epi16(m1, m2, 0xF0); \ ++b1 = _mm_blend_epi16(m2, m7, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_3_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m3, m5); \ ++b1 = _mm_unpacklo_epi64(m0, m4); \ ++} while(0) ++ ++ ++#define LOAD_MSG_4_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m4, m2); \ ++b1 = _mm_unpacklo_epi64(m1, m5); \ ++} while(0) ++ ++ ++#define LOAD_MSG_4_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_blend_epi16(m0, m3, 0xF0); \ ++b1 = _mm_blend_epi16(m2, m7, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_4_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_blend_epi16(m7, m5, 0xF0); \ ++b1 = _mm_blend_epi16(m3, m1, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_4_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_alignr_epi8(m6, m0, 8); \ ++b1 = _mm_blend_epi16(m4, m6, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_5_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m1, m3); \ ++b1 = _mm_unpacklo_epi64(m0, m4); \ ++} while(0) ++ ++ ++#define LOAD_MSG_5_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m6, m5); \ ++b1 = _mm_unpackhi_epi64(m5, m1); \ ++} while(0) ++ ++ ++#define LOAD_MSG_5_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_blend_epi16(m2, m3, 0xF0); \ ++b1 = _mm_unpackhi_epi64(m7, m0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_5_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m6, m2); \ ++b1 = _mm_blend_epi16(m7, m4, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_6_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_blend_epi16(m6, m0, 0xF0); \ ++b1 = _mm_unpacklo_epi64(m7, m2); \ ++} while(0) ++ ++ ++#define LOAD_MSG_6_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m2, m7); \ ++b1 = _mm_alignr_epi8(m5, m6, 8); \ ++} while(0) ++ ++ ++#define LOAD_MSG_6_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m0, m3); \ ++b1 = _mm_shuffle_epi32(m4, _MM_SHUFFLE(1,0,3,2)); \ ++} while(0) ++ ++ ++#define LOAD_MSG_6_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m3, m1); \ ++b1 = _mm_blend_epi16(m1, m5, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_7_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m6, m3); \ ++b1 = _mm_blend_epi16(m6, m1, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_7_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_alignr_epi8(m7, m5, 8); \ ++b1 = _mm_unpackhi_epi64(m0, m4); \ ++} while(0) ++ ++ ++#define LOAD_MSG_7_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m2, m7); \ ++b1 = _mm_unpacklo_epi64(m4, m1); \ ++} while(0) ++ ++ ++#define LOAD_MSG_7_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m0, m2); \ ++b1 = _mm_unpacklo_epi64(m3, m5); \ ++} while(0) ++ ++ ++#define LOAD_MSG_8_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m3, m7); \ ++b1 = _mm_alignr_epi8(m0, m5, 8); \ ++} while(0) ++ ++ ++#define LOAD_MSG_8_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m7, m4); \ ++b1 = _mm_alignr_epi8(m4, m1, 8); \ ++} while(0) ++ ++ ++#define LOAD_MSG_8_3(b0, b1) \ ++do \ ++{ \ ++b0 = m6; \ ++b1 = _mm_alignr_epi8(m5, m0, 8); \ ++} while(0) ++ ++ ++#define LOAD_MSG_8_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_blend_epi16(m1, m3, 0xF0); \ ++b1 = m2; \ ++} while(0) ++ ++ ++#define LOAD_MSG_9_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m5, m4); \ ++b1 = _mm_unpackhi_epi64(m3, m0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_9_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m1, m2); \ ++b1 = _mm_blend_epi16(m3, m2, 0xF0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_9_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m7, m4); \ ++b1 = _mm_unpackhi_epi64(m1, m6); \ ++} while(0) ++ ++ ++#define LOAD_MSG_9_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_alignr_epi8(m7, m5, 8); \ ++b1 = _mm_unpacklo_epi64(m6, m0); \ ++} while(0) ++ ++ ++#define LOAD_MSG_10_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m0, m1); \ ++b1 = _mm_unpacklo_epi64(m2, m3); \ ++} while(0) ++ ++ ++#define LOAD_MSG_10_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m0, m1); \ ++b1 = _mm_unpackhi_epi64(m2, m3); \ ++} while(0) ++ ++ ++#define LOAD_MSG_10_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m4, m5); \ ++b1 = _mm_unpacklo_epi64(m6, m7); \ ++} while(0) ++ ++ ++#define LOAD_MSG_10_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpackhi_epi64(m4, m5); \ ++b1 = _mm_unpackhi_epi64(m6, m7); \ ++} while(0) ++ ++ ++#define LOAD_MSG_11_1(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m7, m2); \ ++b1 = _mm_unpackhi_epi64(m4, m6); \ ++} while(0) ++ ++ ++#define LOAD_MSG_11_2(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m5, m4); \ ++b1 = _mm_alignr_epi8(m3, m7, 8); \ ++} while(0) ++ ++ ++#define LOAD_MSG_11_3(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1,0,3,2)); \ ++b1 = _mm_unpackhi_epi64(m5, m2); \ ++} while(0) ++ ++ ++#define LOAD_MSG_11_4(b0, b1) \ ++do \ ++{ \ ++b0 = _mm_unpacklo_epi64(m6, m1); \ ++b1 = _mm_unpackhi_epi64(m3, m1); \ ++} while(0) ++ ++ ++#endif +--- thirdparty/blake2/sse/blake2b-round.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2b-round.h +@@ -0,0 +1,157 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2B_ROUND_H ++#define BLAKE2B_ROUND_H ++ ++#define LOADU(p) _mm_loadu_si128( (const __m128i *)(p) ) ++#define STOREU(p,r) _mm_storeu_si128((__m128i *)(p), r) ++ ++#define TOF(reg) _mm_castsi128_ps((reg)) ++#define TOI(reg) _mm_castps_si128((reg)) ++ ++#define LIKELY(x) __builtin_expect((x),1) ++ ++ ++/* Microarchitecture-specific macros */ ++#ifndef HAVE_XOP ++#ifdef HAVE_SSSE3 ++#define _mm_roti_epi64(x, c) \ ++ (-(c) == 32) ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2,3,0,1)) \ ++ : (-(c) == 24) ? _mm_shuffle_epi8((x), r24) \ ++ : (-(c) == 16) ? _mm_shuffle_epi8((x), r16) \ ++ : (-(c) == 63) ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), _mm_add_epi64((x), (x))) \ ++ : _mm_xor_si128(_mm_srli_epi64((x), -(c)), _mm_slli_epi64((x), 64-(-(c)))) ++#else ++#define _mm_roti_epi64(r, c) _mm_xor_si128(_mm_srli_epi64( (r), -(c) ),_mm_slli_epi64( (r), 64-(-(c)) )) ++#endif ++#else ++/* ... */ ++#endif ++ ++ ++ ++#define G1(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1) \ ++ row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ ++ row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ ++ \ ++ row4l = _mm_xor_si128(row4l, row1l); \ ++ row4h = _mm_xor_si128(row4h, row1h); \ ++ \ ++ row4l = _mm_roti_epi64(row4l, -32); \ ++ row4h = _mm_roti_epi64(row4h, -32); \ ++ \ ++ row3l = _mm_add_epi64(row3l, row4l); \ ++ row3h = _mm_add_epi64(row3h, row4h); \ ++ \ ++ row2l = _mm_xor_si128(row2l, row3l); \ ++ row2h = _mm_xor_si128(row2h, row3h); \ ++ \ ++ row2l = _mm_roti_epi64(row2l, -24); \ ++ row2h = _mm_roti_epi64(row2h, -24); \ ++ ++#define G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1) \ ++ row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ ++ row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ ++ \ ++ row4l = _mm_xor_si128(row4l, row1l); \ ++ row4h = _mm_xor_si128(row4h, row1h); \ ++ \ ++ row4l = _mm_roti_epi64(row4l, -16); \ ++ row4h = _mm_roti_epi64(row4h, -16); \ ++ \ ++ row3l = _mm_add_epi64(row3l, row4l); \ ++ row3h = _mm_add_epi64(row3h, row4h); \ ++ \ ++ row2l = _mm_xor_si128(row2l, row3l); \ ++ row2h = _mm_xor_si128(row2h, row3h); \ ++ \ ++ row2l = _mm_roti_epi64(row2l, -63); \ ++ row2h = _mm_roti_epi64(row2h, -63); \ ++ ++#if defined(HAVE_SSSE3) ++#define DIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ ++ t0 = _mm_alignr_epi8(row2h, row2l, 8); \ ++ t1 = _mm_alignr_epi8(row2l, row2h, 8); \ ++ row2l = t0; \ ++ row2h = t1; \ ++ \ ++ t0 = row3l; \ ++ row3l = row3h; \ ++ row3h = t0; \ ++ \ ++ t0 = _mm_alignr_epi8(row4h, row4l, 8); \ ++ t1 = _mm_alignr_epi8(row4l, row4h, 8); \ ++ row4l = t1; \ ++ row4h = t0; ++ ++#define UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ ++ t0 = _mm_alignr_epi8(row2l, row2h, 8); \ ++ t1 = _mm_alignr_epi8(row2h, row2l, 8); \ ++ row2l = t0; \ ++ row2h = t1; \ ++ \ ++ t0 = row3l; \ ++ row3l = row3h; \ ++ row3h = t0; \ ++ \ ++ t0 = _mm_alignr_epi8(row4l, row4h, 8); \ ++ t1 = _mm_alignr_epi8(row4h, row4l, 8); \ ++ row4l = t1; \ ++ row4h = t0; ++#else ++ ++#define DIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ ++ t0 = row4l;\ ++ t1 = row2l;\ ++ row4l = row3l;\ ++ row3l = row3h;\ ++ row3h = row4l;\ ++ row4l = _mm_unpackhi_epi64(row4h, _mm_unpacklo_epi64(t0, t0)); \ ++ row4h = _mm_unpackhi_epi64(t0, _mm_unpacklo_epi64(row4h, row4h)); \ ++ row2l = _mm_unpackhi_epi64(row2l, _mm_unpacklo_epi64(row2h, row2h)); \ ++ row2h = _mm_unpackhi_epi64(row2h, _mm_unpacklo_epi64(t1, t1)) ++ ++#define UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h) \ ++ t0 = row3l;\ ++ row3l = row3h;\ ++ row3h = t0;\ ++ t0 = row2l;\ ++ t1 = row4l;\ ++ row2l = _mm_unpackhi_epi64(row2h, _mm_unpacklo_epi64(row2l, row2l)); \ ++ row2h = _mm_unpackhi_epi64(t0, _mm_unpacklo_epi64(row2h, row2h)); \ ++ row4l = _mm_unpackhi_epi64(row4l, _mm_unpacklo_epi64(row4h, row4h)); \ ++ row4h = _mm_unpackhi_epi64(row4h, _mm_unpacklo_epi64(t1, t1)) ++ ++#endif ++ ++#if defined(HAVE_SSE41) ++#include "blake2b-load-sse41.h" ++#else ++#include "blake2b-load-sse2.h" ++#endif ++ ++#define ROUND(r) \ ++ LOAD_MSG_ ##r ##_1(b0, b1); \ ++ G1(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ ++ LOAD_MSG_ ##r ##_2(b0, b1); \ ++ G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ ++ DIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h); \ ++ LOAD_MSG_ ##r ##_3(b0, b1); \ ++ G1(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ ++ LOAD_MSG_ ##r ##_4(b0, b1); \ ++ G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \ ++ UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h); ++ ++#endif +--- thirdparty/blake2/sse/blake2b.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2b.c +@@ -0,0 +1,373 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++#include "blake2-config.h" ++ ++#ifdef _MSC_VER ++#include <intrin.h> /* for _mm_set_epi64x */ ++#endif ++#include <emmintrin.h> ++#if defined(HAVE_SSSE3) ++#include <tmmintrin.h> ++#endif ++#if defined(HAVE_SSE41) ++#include <smmintrin.h> ++#endif ++#if defined(HAVE_AVX) ++#include <immintrin.h> ++#endif ++#if defined(HAVE_XOP) ++#include <x86intrin.h> ++#endif ++ ++#include "blake2b-round.h" ++ ++static const uint64_t blake2b_IV[8] = ++{ ++ 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, ++ 0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL, ++ 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, ++ 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL ++}; ++ ++/* Some helper functions */ ++static void blake2b_set_lastnode( blake2b_state *S ) ++{ ++ S->f[1] = (uint64_t)-1; ++} ++ ++static int blake2b_is_lastblock( const blake2b_state *S ) ++{ ++ return S->f[0] != 0; ++} ++ ++static void blake2b_set_lastblock( blake2b_state *S ) ++{ ++ if( S->last_node ) blake2b_set_lastnode( S ); ++ ++ S->f[0] = (uint64_t)-1; ++} ++ ++static void blake2b_increment_counter( blake2b_state *S, const uint64_t inc ) ++{ ++ S->t[0] += inc; ++ S->t[1] += ( S->t[0] < inc ); ++} ++ ++/* init xors IV with input parameter block */ ++int blake2b_init_param( blake2b_state *S, const blake2b_param *P ) ++{ ++ size_t i; ++ /*blake2b_init0( S ); */ ++ const unsigned char * v = ( const unsigned char * )( blake2b_IV ); ++ const unsigned char * p = ( const unsigned char * )( P ); ++ unsigned char * h = ( unsigned char * )( S->h ); ++ /* IV XOR ParamBlock */ ++ memset( S, 0, sizeof( blake2b_state ) ); ++ ++ for( i = 0; i < BLAKE2B_OUTBYTES; ++i ) h[i] = v[i] ^ p[i]; ++ ++ S->outlen = P->digest_length; ++ return 0; ++} ++ ++ ++/* Some sort of default parameter block initialization, for sequential blake2b */ ++int blake2b_init( blake2b_state *S, size_t outlen ) ++{ ++ blake2b_param P[1]; ++ ++ if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = 0; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store32( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ ++ return blake2b_init_param( S, P ); ++} ++ ++int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ blake2b_param P[1]; ++ ++ if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1; ++ ++ if ( ( !keylen ) || keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store32( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ ++ if( blake2b_init_param( S, P ) < 0 ) ++ return 0; ++ ++ { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset( block, 0, BLAKE2B_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ blake2b_update( S, block, BLAKE2B_BLOCKBYTES ); ++ secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++static void blake2b_compress( blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES] ) ++{ ++ __m128i row1l, row1h; ++ __m128i row2l, row2h; ++ __m128i row3l, row3h; ++ __m128i row4l, row4h; ++ __m128i b0, b1; ++ __m128i t0, t1; ++#if defined(HAVE_SSSE3) && !defined(HAVE_XOP) ++ const __m128i r16 = _mm_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9 ); ++ const __m128i r24 = _mm_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10 ); ++#endif ++#if defined(HAVE_SSE41) ++ const __m128i m0 = LOADU( block + 00 ); ++ const __m128i m1 = LOADU( block + 16 ); ++ const __m128i m2 = LOADU( block + 32 ); ++ const __m128i m3 = LOADU( block + 48 ); ++ const __m128i m4 = LOADU( block + 64 ); ++ const __m128i m5 = LOADU( block + 80 ); ++ const __m128i m6 = LOADU( block + 96 ); ++ const __m128i m7 = LOADU( block + 112 ); ++#else ++ const uint64_t m0 = load64(block + 0 * sizeof(uint64_t)); ++ const uint64_t m1 = load64(block + 1 * sizeof(uint64_t)); ++ const uint64_t m2 = load64(block + 2 * sizeof(uint64_t)); ++ const uint64_t m3 = load64(block + 3 * sizeof(uint64_t)); ++ const uint64_t m4 = load64(block + 4 * sizeof(uint64_t)); ++ const uint64_t m5 = load64(block + 5 * sizeof(uint64_t)); ++ const uint64_t m6 = load64(block + 6 * sizeof(uint64_t)); ++ const uint64_t m7 = load64(block + 7 * sizeof(uint64_t)); ++ const uint64_t m8 = load64(block + 8 * sizeof(uint64_t)); ++ const uint64_t m9 = load64(block + 9 * sizeof(uint64_t)); ++ const uint64_t m10 = load64(block + 10 * sizeof(uint64_t)); ++ const uint64_t m11 = load64(block + 11 * sizeof(uint64_t)); ++ const uint64_t m12 = load64(block + 12 * sizeof(uint64_t)); ++ const uint64_t m13 = load64(block + 13 * sizeof(uint64_t)); ++ const uint64_t m14 = load64(block + 14 * sizeof(uint64_t)); ++ const uint64_t m15 = load64(block + 15 * sizeof(uint64_t)); ++#endif ++ row1l = LOADU( &S->h[0] ); ++ row1h = LOADU( &S->h[2] ); ++ row2l = LOADU( &S->h[4] ); ++ row2h = LOADU( &S->h[6] ); ++ row3l = LOADU( &blake2b_IV[0] ); ++ row3h = LOADU( &blake2b_IV[2] ); ++ row4l = _mm_xor_si128( LOADU( &blake2b_IV[4] ), LOADU( &S->t[0] ) ); ++ row4h = _mm_xor_si128( LOADU( &blake2b_IV[6] ), LOADU( &S->f[0] ) ); ++ ROUND( 0 ); ++ ROUND( 1 ); ++ ROUND( 2 ); ++ ROUND( 3 ); ++ ROUND( 4 ); ++ ROUND( 5 ); ++ ROUND( 6 ); ++ ROUND( 7 ); ++ ROUND( 8 ); ++ ROUND( 9 ); ++ ROUND( 10 ); ++ ROUND( 11 ); ++ row1l = _mm_xor_si128( row3l, row1l ); ++ row1h = _mm_xor_si128( row3h, row1h ); ++ STOREU( &S->h[0], _mm_xor_si128( LOADU( &S->h[0] ), row1l ) ); ++ STOREU( &S->h[2], _mm_xor_si128( LOADU( &S->h[2] ), row1h ) ); ++ row2l = _mm_xor_si128( row4l, row2l ); ++ row2h = _mm_xor_si128( row4h, row2h ); ++ STOREU( &S->h[4], _mm_xor_si128( LOADU( &S->h[4] ), row2l ) ); ++ STOREU( &S->h[6], _mm_xor_si128( LOADU( &S->h[6] ), row2h ) ); ++} ++ ++ ++int blake2b_update( blake2b_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ if( inlen > 0 ) ++ { ++ size_t left = S->buflen; ++ size_t fill = BLAKE2B_BLOCKBYTES - left; ++ if( inlen > fill ) ++ { ++ S->buflen = 0; ++ memcpy( S->buf + left, in, fill ); /* Fill buffer */ ++ blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES ); ++ blake2b_compress( S, S->buf ); /* Compress */ ++ in += fill; inlen -= fill; ++ while(inlen > BLAKE2B_BLOCKBYTES) { ++ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); ++ blake2b_compress( S, in ); ++ in += BLAKE2B_BLOCKBYTES; ++ inlen -= BLAKE2B_BLOCKBYTES; ++ } ++ } ++ memcpy( S->buf + S->buflen, in, inlen ); ++ S->buflen += inlen; ++ } ++ return 0; ++} ++ ++ ++int blake2b_final( blake2b_state *S, void *out, size_t outlen ) ++{ ++ if( out == NULL || outlen < S->outlen ) ++ return -1; ++ ++ if( blake2b_is_lastblock( S ) ) ++ return -1; ++ ++ blake2b_increment_counter( S, S->buflen ); ++ blake2b_set_lastblock( S ); ++ memset( S->buf + S->buflen, 0, BLAKE2B_BLOCKBYTES - S->buflen ); /* Padding */ ++ blake2b_compress( S, S->buf ); ++ ++ memcpy( out, &S->h[0], S->outlen ); ++ return 0; ++} ++ ++ ++int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ blake2b_state S[1]; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if( NULL == key && keylen > 0 ) return -1; ++ ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ if( keylen ) ++ { ++ if( blake2b_init_key( S, outlen, key, keylen ) < 0 ) return -1; ++ } ++ else ++ { ++ if( blake2b_init( S, outlen ) < 0 ) return -1; ++ } ++ ++ blake2b_update( S, ( const uint8_t * )in, inlen ); ++ blake2b_final( S, out, outlen ); ++ return 0; ++} ++ ++int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) { ++ return blake2b(out, outlen, in, inlen, key, keylen); ++} ++ ++#if defined(SUPERCOP) ++int crypto_hash( unsigned char *out, unsigned char *in, unsigned long long inlen ) ++{ ++ return blake2b( out, BLAKE2B_OUTBYTES, in, inlen, NULL, 0 ); ++} ++#endif ++ ++#if defined(BLAKE2B_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2B_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2b( hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2b_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2b_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2b_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2b_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2b_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/sse/blake2bp.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2bp.c +@@ -0,0 +1,361 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <stdint.h> ++ ++#if defined(_OPENMP) ++#include <omp.h> ++#endif ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++#define PARALLELISM_DEGREE 4 ++ ++/* ++ blake2b_init_param defaults to setting the expecting output length ++ from the digest_length parameter block field. ++ ++ In some cases, however, we do not want this, as the output length ++ of these instances is given by inner_length instead. ++*/ ++static int blake2bp_init_leaf_param( blake2b_state *S, const blake2b_param *P ) ++{ ++ int err = blake2b_init_param(S, P); ++ S->outlen = P->inner_length; ++ return err; ++} ++ ++static int blake2bp_init_leaf( blake2b_state *S, size_t outlen, size_t keylen, uint64_t offset ) ++{ ++ blake2b_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ P->leaf_length = 0; ++ P->node_offset = offset; ++ P->xof_length = 0; ++ P->node_depth = 0; ++ P->inner_length = BLAKE2B_OUTBYTES; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2bp_init_leaf_param( S, P ); ++} ++ ++static int blake2bp_init_root( blake2b_state *S, size_t outlen, size_t keylen ) ++{ ++ blake2b_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ P->leaf_length = 0; ++ P->node_offset = 0; ++ P->xof_length = 0; ++ P->node_depth = 1; ++ P->inner_length = BLAKE2B_OUTBYTES; ++ memset( P->reserved, 0, sizeof( P->reserved ) ); ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2b_init_param( S, P ); ++} ++ ++ ++int blake2bp_init( blake2bp_state *S, size_t outlen ) ++{ ++ size_t i; ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2bp_init_root( S->R, outlen, 0 ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2bp_init_leaf( S->S[i], outlen, 0, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ return 0; ++} ++ ++int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ size_t i; ++ ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ if( !key || !keylen || keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2bp_init_root( S->R, outlen, keylen ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2bp_init_leaf( S->S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset( block, 0, BLAKE2B_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S->S[i], block, BLAKE2B_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++ ++int blake2bp_update( blake2bp_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ size_t left = S->buflen; ++ size_t fill = sizeof( S->buf ) - left; ++ size_t i; ++ ++ if( left && inlen >= fill ) ++ { ++ memcpy( S->buf + left, in, fill ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, BLAKE2B_BLOCKBYTES ); ++ ++ in += fill; ++ inlen -= fill; ++ left = 0; ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) ++#else ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2B_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ) ++ { ++ blake2b_update( S->S[i], in__, BLAKE2B_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ } ++ } ++ ++ in += inlen - inlen % ( PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ); ++ inlen %= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ ++ if( inlen > 0 ) ++ memcpy( S->buf + left, in, inlen ); ++ ++ S->buflen = left + inlen; ++ return 0; ++} ++ ++ ++ ++int blake2bp_final( blake2bp_state *S, void *out, size_t outlen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; ++ size_t i; ++ ++ if(out == NULL || outlen < S->outlen) { ++ return -1; ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ { ++ if( S->buflen > i * BLAKE2B_BLOCKBYTES ) ++ { ++ size_t left = S->buflen - i * BLAKE2B_BLOCKBYTES; ++ ++ if( left > BLAKE2B_BLOCKBYTES ) left = BLAKE2B_BLOCKBYTES; ++ ++ blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, left ); ++ } ++ ++ blake2b_final( S->S[i], hash[i], BLAKE2B_OUTBYTES ); ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S->R, hash[i], BLAKE2B_OUTBYTES ); ++ ++ return blake2b_final( S->R, out, S->outlen ); ++} ++ ++int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; ++ blake2b_state S[PARALLELISM_DEGREE][1]; ++ blake2b_state FS[1]; ++ size_t i; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if( NULL == key && keylen > 0 ) return -1; ++ ++ if( !outlen || outlen > BLAKE2B_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2B_KEYBYTES ) return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2bp_init_leaf( S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ ++ ++ if( keylen > 0 ) ++ { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset( block, 0, BLAKE2B_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( S[i], block, BLAKE2B_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S,hash), num_threads(PARALLELISM_DEGREE) ++#else ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2B_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES ) ++ { ++ blake2b_update( S[i], in__, BLAKE2B_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; ++ } ++ ++ if( inlen__ > i * BLAKE2B_BLOCKBYTES ) ++ { ++ const size_t left = inlen__ - i * BLAKE2B_BLOCKBYTES; ++ const size_t len = left <= BLAKE2B_BLOCKBYTES ? left : BLAKE2B_BLOCKBYTES; ++ blake2b_update( S[i], in__, len ); ++ } ++ ++ blake2b_final( S[i], hash[i], BLAKE2B_OUTBYTES ); ++ } ++ ++ if( blake2bp_init_root( FS, outlen, keylen ) < 0 ) ++ return -1; ++ ++ FS->last_node = 1; /* Mark as last node */ ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2b_update( FS, hash[i], BLAKE2B_OUTBYTES ); ++ ++ return blake2b_final( FS, out, outlen ); ++} ++ ++ ++#if defined(BLAKE2BP_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2B_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2bp( hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2B_OUTBYTES]; ++ blake2bp_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2bp_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2bp_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2bp_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2bp_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/sse/blake2s-load-sse2.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2s-load-sse2.h +@@ -0,0 +1,60 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2S_LOAD_SSE2_H ++#define BLAKE2S_LOAD_SSE2_H ++ ++#define LOAD_MSG_0_1(buf) buf = _mm_set_epi32(m6,m4,m2,m0) ++#define LOAD_MSG_0_2(buf) buf = _mm_set_epi32(m7,m5,m3,m1) ++#define LOAD_MSG_0_3(buf) buf = _mm_set_epi32(m14,m12,m10,m8) ++#define LOAD_MSG_0_4(buf) buf = _mm_set_epi32(m15,m13,m11,m9) ++#define LOAD_MSG_1_1(buf) buf = _mm_set_epi32(m13,m9,m4,m14) ++#define LOAD_MSG_1_2(buf) buf = _mm_set_epi32(m6,m15,m8,m10) ++#define LOAD_MSG_1_3(buf) buf = _mm_set_epi32(m5,m11,m0,m1) ++#define LOAD_MSG_1_4(buf) buf = _mm_set_epi32(m3,m7,m2,m12) ++#define LOAD_MSG_2_1(buf) buf = _mm_set_epi32(m15,m5,m12,m11) ++#define LOAD_MSG_2_2(buf) buf = _mm_set_epi32(m13,m2,m0,m8) ++#define LOAD_MSG_2_3(buf) buf = _mm_set_epi32(m9,m7,m3,m10) ++#define LOAD_MSG_2_4(buf) buf = _mm_set_epi32(m4,m1,m6,m14) ++#define LOAD_MSG_3_1(buf) buf = _mm_set_epi32(m11,m13,m3,m7) ++#define LOAD_MSG_3_2(buf) buf = _mm_set_epi32(m14,m12,m1,m9) ++#define LOAD_MSG_3_3(buf) buf = _mm_set_epi32(m15,m4,m5,m2) ++#define LOAD_MSG_3_4(buf) buf = _mm_set_epi32(m8,m0,m10,m6) ++#define LOAD_MSG_4_1(buf) buf = _mm_set_epi32(m10,m2,m5,m9) ++#define LOAD_MSG_4_2(buf) buf = _mm_set_epi32(m15,m4,m7,m0) ++#define LOAD_MSG_4_3(buf) buf = _mm_set_epi32(m3,m6,m11,m14) ++#define LOAD_MSG_4_4(buf) buf = _mm_set_epi32(m13,m8,m12,m1) ++#define LOAD_MSG_5_1(buf) buf = _mm_set_epi32(m8,m0,m6,m2) ++#define LOAD_MSG_5_2(buf) buf = _mm_set_epi32(m3,m11,m10,m12) ++#define LOAD_MSG_5_3(buf) buf = _mm_set_epi32(m1,m15,m7,m4) ++#define LOAD_MSG_5_4(buf) buf = _mm_set_epi32(m9,m14,m5,m13) ++#define LOAD_MSG_6_1(buf) buf = _mm_set_epi32(m4,m14,m1,m12) ++#define LOAD_MSG_6_2(buf) buf = _mm_set_epi32(m10,m13,m15,m5) ++#define LOAD_MSG_6_3(buf) buf = _mm_set_epi32(m8,m9,m6,m0) ++#define LOAD_MSG_6_4(buf) buf = _mm_set_epi32(m11,m2,m3,m7) ++#define LOAD_MSG_7_1(buf) buf = _mm_set_epi32(m3,m12,m7,m13) ++#define LOAD_MSG_7_2(buf) buf = _mm_set_epi32(m9,m1,m14,m11) ++#define LOAD_MSG_7_3(buf) buf = _mm_set_epi32(m2,m8,m15,m5) ++#define LOAD_MSG_7_4(buf) buf = _mm_set_epi32(m10,m6,m4,m0) ++#define LOAD_MSG_8_1(buf) buf = _mm_set_epi32(m0,m11,m14,m6) ++#define LOAD_MSG_8_2(buf) buf = _mm_set_epi32(m8,m3,m9,m15) ++#define LOAD_MSG_8_3(buf) buf = _mm_set_epi32(m10,m1,m13,m12) ++#define LOAD_MSG_8_4(buf) buf = _mm_set_epi32(m5,m4,m7,m2) ++#define LOAD_MSG_9_1(buf) buf = _mm_set_epi32(m1,m7,m8,m10) ++#define LOAD_MSG_9_2(buf) buf = _mm_set_epi32(m5,m6,m4,m2) ++#define LOAD_MSG_9_3(buf) buf = _mm_set_epi32(m13,m3,m9,m15) ++#define LOAD_MSG_9_4(buf) buf = _mm_set_epi32(m0,m12,m14,m11) ++ ++ ++#endif +--- thirdparty/blake2/sse/blake2s-load-sse41.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2s-load-sse41.h +@@ -0,0 +1,229 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2S_LOAD_SSE41_H ++#define BLAKE2S_LOAD_SSE41_H ++ ++#define LOAD_MSG_0_1(buf) \ ++buf = TOI(_mm_shuffle_ps(TOF(m0), TOF(m1), _MM_SHUFFLE(2,0,2,0))); ++ ++#define LOAD_MSG_0_2(buf) \ ++buf = TOI(_mm_shuffle_ps(TOF(m0), TOF(m1), _MM_SHUFFLE(3,1,3,1))); ++ ++#define LOAD_MSG_0_3(buf) \ ++buf = TOI(_mm_shuffle_ps(TOF(m2), TOF(m3), _MM_SHUFFLE(2,0,2,0))); ++ ++#define LOAD_MSG_0_4(buf) \ ++buf = TOI(_mm_shuffle_ps(TOF(m2), TOF(m3), _MM_SHUFFLE(3,1,3,1))); ++ ++#define LOAD_MSG_1_1(buf) \ ++t0 = _mm_blend_epi16(m1, m2, 0x0C); \ ++t1 = _mm_slli_si128(m3, 4); \ ++t2 = _mm_blend_epi16(t0, t1, 0xF0); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,1,0,3)); ++ ++#define LOAD_MSG_1_2(buf) \ ++t0 = _mm_shuffle_epi32(m2,_MM_SHUFFLE(0,0,2,0)); \ ++t1 = _mm_blend_epi16(m1,m3,0xC0); \ ++t2 = _mm_blend_epi16(t0, t1, 0xF0); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,3,0,1)); ++ ++#define LOAD_MSG_1_3(buf) \ ++t0 = _mm_slli_si128(m1, 4); \ ++t1 = _mm_blend_epi16(m2, t0, 0x30); \ ++t2 = _mm_blend_epi16(m0, t1, 0xF0); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,3,0,1)); ++ ++#define LOAD_MSG_1_4(buf) \ ++t0 = _mm_unpackhi_epi32(m0,m1); \ ++t1 = _mm_slli_si128(m3, 4); \ ++t2 = _mm_blend_epi16(t0, t1, 0x0C); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,3,0,1)); ++ ++#define LOAD_MSG_2_1(buf) \ ++t0 = _mm_unpackhi_epi32(m2,m3); \ ++t1 = _mm_blend_epi16(m3,m1,0x0C); \ ++t2 = _mm_blend_epi16(t0, t1, 0x0F); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(3,1,0,2)); ++ ++#define LOAD_MSG_2_2(buf) \ ++t0 = _mm_unpacklo_epi32(m2,m0); \ ++t1 = _mm_blend_epi16(t0, m0, 0xF0); \ ++t2 = _mm_slli_si128(m3, 8); \ ++buf = _mm_blend_epi16(t1, t2, 0xC0); ++ ++#define LOAD_MSG_2_3(buf) \ ++t0 = _mm_blend_epi16(m0, m2, 0x3C); \ ++t1 = _mm_srli_si128(m1, 12); \ ++t2 = _mm_blend_epi16(t0,t1,0x03); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,0,3,2)); ++ ++#define LOAD_MSG_2_4(buf) \ ++t0 = _mm_slli_si128(m3, 4); \ ++t1 = _mm_blend_epi16(m0, m1, 0x33); \ ++t2 = _mm_blend_epi16(t1, t0, 0xC0); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(0,1,2,3)); ++ ++#define LOAD_MSG_3_1(buf) \ ++t0 = _mm_unpackhi_epi32(m0,m1); \ ++t1 = _mm_unpackhi_epi32(t0, m2); \ ++t2 = _mm_blend_epi16(t1, m3, 0x0C); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(3,1,0,2)); ++ ++#define LOAD_MSG_3_2(buf) \ ++t0 = _mm_slli_si128(m2, 8); \ ++t1 = _mm_blend_epi16(m3,m0,0x0C); \ ++t2 = _mm_blend_epi16(t1, t0, 0xC0); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,0,1,3)); ++ ++#define LOAD_MSG_3_3(buf) \ ++t0 = _mm_blend_epi16(m0,m1,0x0F); \ ++t1 = _mm_blend_epi16(t0, m3, 0xC0); \ ++buf = _mm_shuffle_epi32(t1, _MM_SHUFFLE(3,0,1,2)); ++ ++#define LOAD_MSG_3_4(buf) \ ++t0 = _mm_unpacklo_epi32(m0,m2); \ ++t1 = _mm_unpackhi_epi32(m1,m2); \ ++buf = _mm_unpacklo_epi64(t1,t0); ++ ++#define LOAD_MSG_4_1(buf) \ ++t0 = _mm_unpacklo_epi64(m1,m2); \ ++t1 = _mm_unpackhi_epi64(m0,m2); \ ++t2 = _mm_blend_epi16(t0,t1,0x33); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,0,1,3)); ++ ++#define LOAD_MSG_4_2(buf) \ ++t0 = _mm_unpackhi_epi64(m1,m3); \ ++t1 = _mm_unpacklo_epi64(m0,m1); \ ++buf = _mm_blend_epi16(t0,t1,0x33); ++ ++#define LOAD_MSG_4_3(buf) \ ++t0 = _mm_unpackhi_epi64(m3,m1); \ ++t1 = _mm_unpackhi_epi64(m2,m0); \ ++buf = _mm_blend_epi16(t1,t0,0x33); ++ ++#define LOAD_MSG_4_4(buf) \ ++t0 = _mm_blend_epi16(m0,m2,0x03); \ ++t1 = _mm_slli_si128(t0, 8); \ ++t2 = _mm_blend_epi16(t1,m3,0x0F); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,2,0,3)); ++ ++#define LOAD_MSG_5_1(buf) \ ++t0 = _mm_unpackhi_epi32(m0,m1); \ ++t1 = _mm_unpacklo_epi32(m0,m2); \ ++buf = _mm_unpacklo_epi64(t0,t1); ++ ++#define LOAD_MSG_5_2(buf) \ ++t0 = _mm_srli_si128(m2, 4); \ ++t1 = _mm_blend_epi16(m0,m3,0x03); \ ++buf = _mm_blend_epi16(t1,t0,0x3C); ++ ++#define LOAD_MSG_5_3(buf) \ ++t0 = _mm_blend_epi16(m1,m0,0x0C); \ ++t1 = _mm_srli_si128(m3, 4); \ ++t2 = _mm_blend_epi16(t0,t1,0x30); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,2,3,0)); ++ ++#define LOAD_MSG_5_4(buf) \ ++t0 = _mm_unpacklo_epi64(m1,m2); \ ++t1= _mm_shuffle_epi32(m3, _MM_SHUFFLE(0,2,0,1)); \ ++buf = _mm_blend_epi16(t0,t1,0x33); ++ ++#define LOAD_MSG_6_1(buf) \ ++t0 = _mm_slli_si128(m1, 12); \ ++t1 = _mm_blend_epi16(m0,m3,0x33); \ ++buf = _mm_blend_epi16(t1,t0,0xC0); ++ ++#define LOAD_MSG_6_2(buf) \ ++t0 = _mm_blend_epi16(m3,m2,0x30); \ ++t1 = _mm_srli_si128(m1, 4); \ ++t2 = _mm_blend_epi16(t0,t1,0x03); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(2,1,3,0)); ++ ++#define LOAD_MSG_6_3(buf) \ ++t0 = _mm_unpacklo_epi64(m0,m2); \ ++t1 = _mm_srli_si128(m1, 4); \ ++buf = _mm_shuffle_epi32(_mm_blend_epi16(t0,t1,0x0C), _MM_SHUFFLE(2,3,1,0)); ++ ++#define LOAD_MSG_6_4(buf) \ ++t0 = _mm_unpackhi_epi32(m1,m2); \ ++t1 = _mm_unpackhi_epi64(m0,t0); \ ++buf = _mm_shuffle_epi32(t1, _MM_SHUFFLE(3,0,1,2)); ++ ++#define LOAD_MSG_7_1(buf) \ ++t0 = _mm_unpackhi_epi32(m0,m1); \ ++t1 = _mm_blend_epi16(t0,m3,0x0F); \ ++buf = _mm_shuffle_epi32(t1,_MM_SHUFFLE(2,0,3,1)); ++ ++#define LOAD_MSG_7_2(buf) \ ++t0 = _mm_blend_epi16(m2,m3,0x30); \ ++t1 = _mm_srli_si128(m0,4); \ ++t2 = _mm_blend_epi16(t0,t1,0x03); \ ++buf = _mm_shuffle_epi32(t2, _MM_SHUFFLE(1,0,2,3)); ++ ++#define LOAD_MSG_7_3(buf) \ ++t0 = _mm_unpackhi_epi64(m0,m3); \ ++t1 = _mm_unpacklo_epi64(m1,m2); \ ++t2 = _mm_blend_epi16(t0,t1,0x3C); \ ++buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(0,2,3,1)); ++ ++#define LOAD_MSG_7_4(buf) \ ++t0 = _mm_unpacklo_epi32(m0,m1); \ ++t1 = _mm_unpackhi_epi32(m1,m2); \ ++buf = _mm_unpacklo_epi64(t0,t1); ++ ++#define LOAD_MSG_8_1(buf) \ ++t0 = _mm_unpackhi_epi32(m1,m3); \ ++t1 = _mm_unpacklo_epi64(t0,m0); \ ++t2 = _mm_blend_epi16(t1,m2,0xC0); \ ++buf = _mm_shufflehi_epi16(t2,_MM_SHUFFLE(1,0,3,2)); ++ ++#define LOAD_MSG_8_2(buf) \ ++t0 = _mm_unpackhi_epi32(m0,m3); \ ++t1 = _mm_blend_epi16(m2,t0,0xF0); \ ++buf = _mm_shuffle_epi32(t1,_MM_SHUFFLE(0,2,1,3)); ++ ++#define LOAD_MSG_8_3(buf) \ ++t0 = _mm_blend_epi16(m2,m0,0x0C); \ ++t1 = _mm_slli_si128(t0,4); \ ++buf = _mm_blend_epi16(t1,m3,0x0F); ++ ++#define LOAD_MSG_8_4(buf) \ ++t0 = _mm_blend_epi16(m1,m0,0x30); \ ++buf = _mm_shuffle_epi32(t0,_MM_SHUFFLE(1,0,3,2)); ++ ++#define LOAD_MSG_9_1(buf) \ ++t0 = _mm_blend_epi16(m0,m2,0x03); \ ++t1 = _mm_blend_epi16(m1,m2,0x30); \ ++t2 = _mm_blend_epi16(t1,t0,0x0F); \ ++buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(1,3,0,2)); ++ ++#define LOAD_MSG_9_2(buf) \ ++t0 = _mm_slli_si128(m0,4); \ ++t1 = _mm_blend_epi16(m1,t0,0xC0); \ ++buf = _mm_shuffle_epi32(t1,_MM_SHUFFLE(1,2,0,3)); ++ ++#define LOAD_MSG_9_3(buf) \ ++t0 = _mm_unpackhi_epi32(m0,m3); \ ++t1 = _mm_unpacklo_epi32(m2,m3); \ ++t2 = _mm_unpackhi_epi64(t0,t1); \ ++buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(3,0,2,1)); ++ ++#define LOAD_MSG_9_4(buf) \ ++t0 = _mm_blend_epi16(m3,m2,0xC0); \ ++t1 = _mm_unpacklo_epi32(m0,m3); \ ++t2 = _mm_blend_epi16(t0,t1,0x0F); \ ++buf = _mm_shuffle_epi32(t2,_MM_SHUFFLE(0,1,2,3)); ++ ++#endif +--- thirdparty/blake2/sse/blake2s-load-xop.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2s-load-xop.h +@@ -0,0 +1,191 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2S_LOAD_XOP_H ++#define BLAKE2S_LOAD_XOP_H ++ ++#define TOB(x) ((x)*4*0x01010101 + 0x03020100) /* ..or not TOB */ ++ ++#if 0 ++/* Basic VPPERM emulation, for testing purposes */ ++static __m128i _mm_perm_epi8(const __m128i src1, const __m128i src2, const __m128i sel) ++{ ++ const __m128i sixteen = _mm_set1_epi8(16); ++ const __m128i t0 = _mm_shuffle_epi8(src1, sel); ++ const __m128i s1 = _mm_shuffle_epi8(src2, _mm_sub_epi8(sel, sixteen)); ++ const __m128i mask = _mm_or_si128(_mm_cmpeq_epi8(sel, sixteen), ++ _mm_cmpgt_epi8(sel, sixteen)); /* (>=16) = 0xff : 00 */ ++ return _mm_blendv_epi8(t0, s1, mask); ++} ++#endif ++ ++#define LOAD_MSG_0_1(buf) \ ++buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); ++ ++#define LOAD_MSG_0_2(buf) \ ++buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(7),TOB(5),TOB(3),TOB(1)) ); ++ ++#define LOAD_MSG_0_3(buf) \ ++buf = _mm_perm_epi8(m2, m3, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); ++ ++#define LOAD_MSG_0_4(buf) \ ++buf = _mm_perm_epi8(m2, m3, _mm_set_epi32(TOB(7),TOB(5),TOB(3),TOB(1)) ); ++ ++#define LOAD_MSG_1_1(buf) \ ++t0 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(0),TOB(5),TOB(0),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(6)) ); ++ ++#define LOAD_MSG_1_2(buf) \ ++t1 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(2),TOB(0),TOB(4),TOB(6)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_1_3(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(5),TOB(0),TOB(0),TOB(1)) ); \ ++buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_1_4(buf) \ ++t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(3),TOB(7),TOB(2),TOB(0)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(4)) ); ++ ++#define LOAD_MSG_2_1(buf) \ ++t0 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(0),TOB(1),TOB(0),TOB(7)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(7),TOB(2),TOB(4),TOB(0)) ); ++ ++#define LOAD_MSG_2_2(buf) \ ++t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(2),TOB(0),TOB(4)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_2_3(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(7),TOB(3),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(6)) ); ++ ++#define LOAD_MSG_2_4(buf) \ ++t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(4),TOB(1),TOB(6),TOB(0)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(6)) ); ++ ++#define LOAD_MSG_3_1(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(3),TOB(7)) ); \ ++t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(5),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_3_2(buf) \ ++t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(0),TOB(1),TOB(5)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(6),TOB(4),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_3_3(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(4),TOB(5),TOB(2)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_3_4(buf) \ ++t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(0),TOB(6)) ); \ ++buf = _mm_perm_epi8(t1, m2, _mm_set_epi32(TOB(4),TOB(2),TOB(6),TOB(0)) ); ++ ++#define LOAD_MSG_4_1(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(2),TOB(5),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(6),TOB(2),TOB(1),TOB(5)) ); ++ ++#define LOAD_MSG_4_2(buf) \ ++t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(4),TOB(7),TOB(0)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_4_3(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(3),TOB(6),TOB(0),TOB(0)) ); \ ++t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(2),TOB(7),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(6)) ); ++ ++#define LOAD_MSG_4_4(buf) \ ++t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(4),TOB(0),TOB(1)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(4),TOB(0)) ); ++ ++#define LOAD_MSG_5_1(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(6),TOB(2)) ); \ ++buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(4),TOB(2),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_5_2(buf) \ ++t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(3),TOB(7),TOB(6),TOB(0)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(4)) ); ++ ++#define LOAD_MSG_5_3(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(1),TOB(0),TOB(7),TOB(4)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_5_4(buf) \ ++t1 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(5),TOB(0),TOB(1),TOB(0)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(6),TOB(1),TOB(5)) ); ++ ++#define LOAD_MSG_6_1(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(4),TOB(0),TOB(1),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(6),TOB(1),TOB(4)) ); ++ ++#define LOAD_MSG_6_2(buf) \ ++t1 = _mm_perm_epi8(m1, m2, _mm_set_epi32(TOB(6),TOB(0),TOB(0),TOB(1)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(5),TOB(7),TOB(0)) ); ++ ++#define LOAD_MSG_6_3(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(6),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(4),TOB(5),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_6_4(buf) \ ++t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(2),TOB(3),TOB(7)) ); \ ++buf = _mm_perm_epi8(t1, m2, _mm_set_epi32(TOB(7),TOB(2),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_7_1(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(3),TOB(0),TOB(7),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(4),TOB(1),TOB(5)) ); ++ ++#define LOAD_MSG_7_2(buf) \ ++t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(5),TOB(1),TOB(0),TOB(7)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(6),TOB(0)) ); ++ ++#define LOAD_MSG_7_3(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(2),TOB(0),TOB(0),TOB(5)) ); \ ++t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(4),TOB(1),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(7),TOB(0)) ); ++ ++#define LOAD_MSG_7_4(buf) \ ++t1 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(6),TOB(4),TOB(0)) ); \ ++buf = _mm_perm_epi8(t1, m2, _mm_set_epi32(TOB(6),TOB(2),TOB(1),TOB(0)) ); ++ ++#define LOAD_MSG_8_1(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(0),TOB(0),TOB(0),TOB(6)) ); \ ++t0 = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(7),TOB(1),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(6),TOB(0)) ); ++ ++#define LOAD_MSG_8_2(buf) \ ++t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(4),TOB(3),TOB(5),TOB(0)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(1),TOB(7)) ); ++ ++#define LOAD_MSG_8_3(buf) \ ++t0 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(6),TOB(1),TOB(0),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(3),TOB(2),TOB(5),TOB(4)) ); \ ++ ++#define LOAD_MSG_8_4(buf) \ ++buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(5),TOB(4),TOB(7),TOB(2)) ); ++ ++#define LOAD_MSG_9_1(buf) \ ++t0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(1),TOB(7),TOB(0),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m2, _mm_set_epi32(TOB(3),TOB(2),TOB(4),TOB(6)) ); ++ ++#define LOAD_MSG_9_2(buf) \ ++buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(5),TOB(6),TOB(4),TOB(2)) ); ++ ++#define LOAD_MSG_9_3(buf) \ ++t0 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(3),TOB(5),TOB(0)) ); \ ++buf = _mm_perm_epi8(t0, m3, _mm_set_epi32(TOB(5),TOB(2),TOB(1),TOB(7)) ); ++ ++#define LOAD_MSG_9_4(buf) \ ++t1 = _mm_perm_epi8(m0, m2, _mm_set_epi32(TOB(0),TOB(0),TOB(0),TOB(7)) ); \ ++buf = _mm_perm_epi8(t1, m3, _mm_set_epi32(TOB(3),TOB(4),TOB(6),TOB(0)) ); ++ ++#endif +--- thirdparty/blake2/sse/blake2s-round.h.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2s-round.h +@@ -0,0 +1,88 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++#ifndef BLAKE2S_ROUND_H ++#define BLAKE2S_ROUND_H ++ ++#define LOADU(p) _mm_loadu_si128( (const __m128i *)(p) ) ++#define STOREU(p,r) _mm_storeu_si128((__m128i *)(p), r) ++ ++#define TOF(reg) _mm_castsi128_ps((reg)) ++#define TOI(reg) _mm_castps_si128((reg)) ++ ++#define LIKELY(x) __builtin_expect((x),1) ++ ++ ++/* Microarchitecture-specific macros */ ++#ifndef HAVE_XOP ++#ifdef HAVE_SSSE3 ++#define _mm_roti_epi32(r, c) ( \ ++ (8==-(c)) ? _mm_shuffle_epi8(r,r8) \ ++ : (16==-(c)) ? _mm_shuffle_epi8(r,r16) \ ++ : _mm_xor_si128(_mm_srli_epi32( (r), -(c) ),_mm_slli_epi32( (r), 32-(-(c)) )) ) ++#else ++#define _mm_roti_epi32(r, c) _mm_xor_si128(_mm_srli_epi32( (r), -(c) ),_mm_slli_epi32( (r), 32-(-(c)) )) ++#endif ++#else ++/* ... */ ++#endif ++ ++ ++#define G1(row1,row2,row3,row4,buf) \ ++ row1 = _mm_add_epi32( _mm_add_epi32( row1, buf), row2 ); \ ++ row4 = _mm_xor_si128( row4, row1 ); \ ++ row4 = _mm_roti_epi32(row4, -16); \ ++ row3 = _mm_add_epi32( row3, row4 ); \ ++ row2 = _mm_xor_si128( row2, row3 ); \ ++ row2 = _mm_roti_epi32(row2, -12); ++ ++#define G2(row1,row2,row3,row4,buf) \ ++ row1 = _mm_add_epi32( _mm_add_epi32( row1, buf), row2 ); \ ++ row4 = _mm_xor_si128( row4, row1 ); \ ++ row4 = _mm_roti_epi32(row4, -8); \ ++ row3 = _mm_add_epi32( row3, row4 ); \ ++ row2 = _mm_xor_si128( row2, row3 ); \ ++ row2 = _mm_roti_epi32(row2, -7); ++ ++#define DIAGONALIZE(row1,row2,row3,row4) \ ++ row4 = _mm_shuffle_epi32( row4, _MM_SHUFFLE(2,1,0,3) ); \ ++ row3 = _mm_shuffle_epi32( row3, _MM_SHUFFLE(1,0,3,2) ); \ ++ row2 = _mm_shuffle_epi32( row2, _MM_SHUFFLE(0,3,2,1) ); ++ ++#define UNDIAGONALIZE(row1,row2,row3,row4) \ ++ row4 = _mm_shuffle_epi32( row4, _MM_SHUFFLE(0,3,2,1) ); \ ++ row3 = _mm_shuffle_epi32( row3, _MM_SHUFFLE(1,0,3,2) ); \ ++ row2 = _mm_shuffle_epi32( row2, _MM_SHUFFLE(2,1,0,3) ); ++ ++#if defined(HAVE_XOP) ++#include "blake2s-load-xop.h" ++#elif defined(HAVE_SSE41) ++#include "blake2s-load-sse41.h" ++#else ++#include "blake2s-load-sse2.h" ++#endif ++ ++#define ROUND(r) \ ++ LOAD_MSG_ ##r ##_1(buf1); \ ++ G1(row1,row2,row3,row4,buf1); \ ++ LOAD_MSG_ ##r ##_2(buf2); \ ++ G2(row1,row2,row3,row4,buf2); \ ++ DIAGONALIZE(row1,row2,row3,row4); \ ++ LOAD_MSG_ ##r ##_3(buf3); \ ++ G1(row1,row2,row3,row4,buf3); \ ++ LOAD_MSG_ ##r ##_4(buf4); \ ++ G2(row1,row2,row3,row4,buf4); \ ++ UNDIAGONALIZE(row1,row2,row3,row4); \ ++ ++#endif +--- thirdparty/blake2/sse/blake2s.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2s.c +@@ -0,0 +1,363 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++#include "blake2-config.h" ++ ++ ++#include <emmintrin.h> ++#if defined(HAVE_SSSE3) ++#include <tmmintrin.h> ++#endif ++#if defined(HAVE_SSE41) ++#include <smmintrin.h> ++#endif ++#if defined(HAVE_AVX) ++#include <immintrin.h> ++#endif ++#if defined(HAVE_XOP) ++#include <x86intrin.h> ++#endif ++ ++#include "blake2s-round.h" ++ ++static const uint32_t blake2s_IV[8] = ++{ ++ 0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL, ++ 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL ++}; ++ ++/* Some helper functions */ ++static void blake2s_set_lastnode( blake2s_state *S ) ++{ ++ S->f[1] = (uint32_t)-1; ++} ++ ++static int blake2s_is_lastblock( const blake2s_state *S ) ++{ ++ return S->f[0] != 0; ++} ++ ++static void blake2s_set_lastblock( blake2s_state *S ) ++{ ++ if( S->last_node ) blake2s_set_lastnode( S ); ++ ++ S->f[0] = (uint32_t)-1; ++} ++ ++static void blake2s_increment_counter( blake2s_state *S, const uint32_t inc ) ++{ ++ uint64_t t = ( ( uint64_t )S->t[1] << 32 ) | S->t[0]; ++ t += inc; ++ S->t[0] = ( uint32_t )( t >> 0 ); ++ S->t[1] = ( uint32_t )( t >> 32 ); ++} ++ ++/* init2 xors IV with input parameter block */ ++int blake2s_init_param( blake2s_state *S, const blake2s_param *P ) ++{ ++ size_t i; ++ /*blake2s_init0( S ); */ ++ const uint8_t * v = ( const uint8_t * )( blake2s_IV ); ++ const uint8_t * p = ( const uint8_t * )( P ); ++ uint8_t * h = ( uint8_t * )( S->h ); ++ /* IV XOR ParamBlock */ ++ memset( S, 0, sizeof( blake2s_state ) ); ++ ++ for( i = 0; i < BLAKE2S_OUTBYTES; ++i ) h[i] = v[i] ^ p[i]; ++ ++ S->outlen = P->digest_length; ++ return 0; ++} ++ ++ ++/* Some sort of default parameter block initialization, for sequential blake2s */ ++int blake2s_init( blake2s_state *S, size_t outlen ) ++{ ++ blake2s_param P[1]; ++ ++ /* Move interval verification here? */ ++ if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = 0; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store16( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ /* memset(P->reserved, 0, sizeof(P->reserved) ); */ ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ ++ return blake2s_init_param( S, P ); ++} ++ ++ ++int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ blake2s_param P[1]; ++ ++ /* Move interval verification here? */ ++ if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1; ++ ++ if ( ( !key ) || ( !keylen ) || keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = 1; ++ P->depth = 1; ++ store32( &P->leaf_length, 0 ); ++ store32( &P->node_offset, 0 ); ++ store16( &P->xof_length, 0 ); ++ P->node_depth = 0; ++ P->inner_length = 0; ++ /* memset(P->reserved, 0, sizeof(P->reserved) ); */ ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ ++ if( blake2s_init_param( S, P ) < 0 ) ++ return -1; ++ ++ { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset( block, 0, BLAKE2S_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ blake2s_update( S, block, BLAKE2S_BLOCKBYTES ); ++ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++ ++static void blake2s_compress( blake2s_state *S, const uint8_t block[BLAKE2S_BLOCKBYTES] ) ++{ ++ __m128i row1, row2, row3, row4; ++ __m128i buf1, buf2, buf3, buf4; ++#if defined(HAVE_SSE41) ++ __m128i t0, t1; ++#if !defined(HAVE_XOP) ++ __m128i t2; ++#endif ++#endif ++ __m128i ff0, ff1; ++#if defined(HAVE_SSSE3) && !defined(HAVE_XOP) ++ const __m128i r8 = _mm_set_epi8( 12, 15, 14, 13, 8, 11, 10, 9, 4, 7, 6, 5, 0, 3, 2, 1 ); ++ const __m128i r16 = _mm_set_epi8( 13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2 ); ++#endif ++#if defined(HAVE_SSE41) ++ const __m128i m0 = LOADU( block + 00 ); ++ const __m128i m1 = LOADU( block + 16 ); ++ const __m128i m2 = LOADU( block + 32 ); ++ const __m128i m3 = LOADU( block + 48 ); ++#else ++ const uint32_t m0 = load32(block + 0 * sizeof(uint32_t)); ++ const uint32_t m1 = load32(block + 1 * sizeof(uint32_t)); ++ const uint32_t m2 = load32(block + 2 * sizeof(uint32_t)); ++ const uint32_t m3 = load32(block + 3 * sizeof(uint32_t)); ++ const uint32_t m4 = load32(block + 4 * sizeof(uint32_t)); ++ const uint32_t m5 = load32(block + 5 * sizeof(uint32_t)); ++ const uint32_t m6 = load32(block + 6 * sizeof(uint32_t)); ++ const uint32_t m7 = load32(block + 7 * sizeof(uint32_t)); ++ const uint32_t m8 = load32(block + 8 * sizeof(uint32_t)); ++ const uint32_t m9 = load32(block + 9 * sizeof(uint32_t)); ++ const uint32_t m10 = load32(block + 10 * sizeof(uint32_t)); ++ const uint32_t m11 = load32(block + 11 * sizeof(uint32_t)); ++ const uint32_t m12 = load32(block + 12 * sizeof(uint32_t)); ++ const uint32_t m13 = load32(block + 13 * sizeof(uint32_t)); ++ const uint32_t m14 = load32(block + 14 * sizeof(uint32_t)); ++ const uint32_t m15 = load32(block + 15 * sizeof(uint32_t)); ++#endif ++ row1 = ff0 = LOADU( &S->h[0] ); ++ row2 = ff1 = LOADU( &S->h[4] ); ++ row3 = _mm_loadu_si128( (__m128i const *)&blake2s_IV[0] ); ++ row4 = _mm_xor_si128( _mm_loadu_si128( (__m128i const *)&blake2s_IV[4] ), LOADU( &S->t[0] ) ); ++ ROUND( 0 ); ++ ROUND( 1 ); ++ ROUND( 2 ); ++ ROUND( 3 ); ++ ROUND( 4 ); ++ ROUND( 5 ); ++ ROUND( 6 ); ++ ROUND( 7 ); ++ ROUND( 8 ); ++ ROUND( 9 ); ++ STOREU( &S->h[0], _mm_xor_si128( ff0, _mm_xor_si128( row1, row3 ) ) ); ++ STOREU( &S->h[4], _mm_xor_si128( ff1, _mm_xor_si128( row2, row4 ) ) ); ++} ++ ++int blake2s_update( blake2s_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ if( inlen > 0 ) ++ { ++ size_t left = S->buflen; ++ size_t fill = BLAKE2S_BLOCKBYTES - left; ++ if( inlen > fill ) ++ { ++ S->buflen = 0; ++ memcpy( S->buf + left, in, fill ); /* Fill buffer */ ++ blake2s_increment_counter( S, BLAKE2S_BLOCKBYTES ); ++ blake2s_compress( S, S->buf ); /* Compress */ ++ in += fill; inlen -= fill; ++ while(inlen > BLAKE2S_BLOCKBYTES) { ++ blake2s_increment_counter(S, BLAKE2S_BLOCKBYTES); ++ blake2s_compress( S, in ); ++ in += BLAKE2S_BLOCKBYTES; ++ inlen -= BLAKE2S_BLOCKBYTES; ++ } ++ } ++ memcpy( S->buf + S->buflen, in, inlen ); ++ S->buflen += inlen; ++ } ++ return 0; ++} ++ ++int blake2s_final( blake2s_state *S, void *out, size_t outlen ) ++{ ++ uint8_t buffer[BLAKE2S_OUTBYTES] = {0}; ++ size_t i; ++ ++ if( out == NULL || outlen < S->outlen ) ++ return -1; ++ ++ if( blake2s_is_lastblock( S ) ) ++ return -1; ++ ++ blake2s_increment_counter( S, (uint32_t)S->buflen ); ++ blake2s_set_lastblock( S ); ++ memset( S->buf + S->buflen, 0, BLAKE2S_BLOCKBYTES - S->buflen ); /* Padding */ ++ blake2s_compress( S, S->buf ); ++ ++ for( i = 0; i < 8; ++i ) /* Output full hash to temp buffer */ ++ store32( buffer + sizeof( S->h[i] ) * i, S->h[i] ); ++ ++ memcpy( out, buffer, S->outlen ); ++ secure_zero_memory( buffer, sizeof(buffer) ); ++ return 0; ++} ++ ++/* inlen, at least, should be uint64_t. Others can be size_t. */ ++int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ blake2s_state S[1]; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if ( NULL == key && keylen > 0) return -1; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ if( keylen > 0 ) ++ { ++ if( blake2s_init_key( S, outlen, key, keylen ) < 0 ) return -1; ++ } ++ else ++ { ++ if( blake2s_init( S, outlen ) < 0 ) return -1; ++ } ++ ++ blake2s_update( S, ( const uint8_t * )in, inlen ); ++ blake2s_final( S, out, outlen ); ++ return 0; ++} ++ ++#if defined(SUPERCOP) ++int crypto_hash( unsigned char *out, unsigned char *in, unsigned long long inlen ) ++{ ++ return blake2s( out, BLAKE2S_OUTBYTES, in, inlen, NULL, 0 ); ++} ++#endif ++ ++#if defined(BLAKE2S_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2S_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2s( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2s_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2s_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2s_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2s_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2s_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/sse/blake2sp.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2sp.c +@@ -0,0 +1,358 @@ ++/* ++ BLAKE2 reference source code package - optimized C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdlib.h> ++#include <string.h> ++#include <stdio.h> ++ ++#if defined(_OPENMP) ++#include <omp.h> ++#endif ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++#define PARALLELISM_DEGREE 8 ++ ++/* ++ blake2sp_init_param defaults to setting the expecting output length ++ from the digest_length parameter block field. ++ ++ In some cases, however, we do not want this, as the output length ++ of these instances is given by inner_length instead. ++*/ ++static int blake2sp_init_leaf_param( blake2s_state *S, const blake2s_param *P ) ++{ ++ int err = blake2s_init_param(S, P); ++ S->outlen = P->inner_length; ++ return err; ++} ++ ++static int blake2sp_init_leaf( blake2s_state *S, size_t outlen, size_t keylen, uint64_t offset ) ++{ ++ blake2s_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ P->leaf_length = 0; ++ P->node_offset = offset; ++ P->xof_length = 0; ++ P->node_depth = 0; ++ P->inner_length = BLAKE2S_OUTBYTES; ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2sp_init_leaf_param( S, P ); ++} ++ ++static int blake2sp_init_root( blake2s_state *S, size_t outlen, size_t keylen ) ++{ ++ blake2s_param P[1]; ++ P->digest_length = (uint8_t)outlen; ++ P->key_length = (uint8_t)keylen; ++ P->fanout = PARALLELISM_DEGREE; ++ P->depth = 2; ++ P->leaf_length = 0; ++ P->node_offset = 0; ++ P->xof_length = 0; ++ P->node_depth = 1; ++ P->inner_length = BLAKE2S_OUTBYTES; ++ memset( P->salt, 0, sizeof( P->salt ) ); ++ memset( P->personal, 0, sizeof( P->personal ) ); ++ return blake2s_init_param( S, P ); ++} ++ ++ ++int blake2sp_init( blake2sp_state *S, size_t outlen ) ++{ ++ size_t i; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2sp_init_root( S->R, outlen, 0 ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2sp_init_leaf( S->S[i], outlen, 0, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ return 0; ++} ++ ++int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ) ++{ ++ size_t i; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ if( !key || !keylen || keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ memset( S->buf, 0, sizeof( S->buf ) ); ++ S->buflen = 0; ++ S->outlen = outlen; ++ ++ if( blake2sp_init_root( S->R, outlen, keylen ) < 0 ) ++ return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2sp_init_leaf( S->S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S->R->last_node = 1; ++ S->S[PARALLELISM_DEGREE - 1]->last_node = 1; ++ { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset( block, 0, BLAKE2S_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S->S[i], block, BLAKE2S_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ return 0; ++} ++ ++ ++int blake2sp_update( blake2sp_state *S, const void *pin, size_t inlen ) ++{ ++ const unsigned char * in = (const unsigned char *)pin; ++ size_t left = S->buflen; ++ size_t fill = sizeof( S->buf ) - left; ++ size_t i; ++ ++ if( left && inlen >= fill ) ++ { ++ memcpy( S->buf + left, in, fill ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, BLAKE2S_BLOCKBYTES ); ++ ++ in += fill; ++ inlen -= fill; ++ left = 0; ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) ++#else ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2S_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ) ++ { ++ blake2s_update( S->S[i], in__, BLAKE2S_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ } ++ } ++ ++ in += inlen - inlen % ( PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ); ++ inlen %= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ ++ if( inlen > 0 ) ++ memcpy( S->buf + left, in, inlen ); ++ ++ S->buflen = left + inlen; ++ return 0; ++} ++ ++ ++int blake2sp_final( blake2sp_state *S, void *out, size_t outlen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; ++ size_t i; ++ ++ if(out == NULL || outlen < S->outlen) { ++ return -1; ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ { ++ if( S->buflen > i * BLAKE2S_BLOCKBYTES ) ++ { ++ size_t left = S->buflen - i * BLAKE2S_BLOCKBYTES; ++ ++ if( left > BLAKE2S_BLOCKBYTES ) left = BLAKE2S_BLOCKBYTES; ++ ++ blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, left ); ++ } ++ ++ blake2s_final( S->S[i], hash[i], BLAKE2S_OUTBYTES ); ++ } ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S->R, hash[i], BLAKE2S_OUTBYTES ); ++ ++ return blake2s_final( S->R, out, S->outlen ); ++} ++ ++ ++int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ) ++{ ++ uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; ++ blake2s_state S[PARALLELISM_DEGREE][1]; ++ blake2s_state FS[1]; ++ size_t i; ++ ++ /* Verify parameters */ ++ if ( NULL == in && inlen > 0 ) return -1; ++ ++ if ( NULL == out ) return -1; ++ ++ if ( NULL == key && keylen > 0) return -1; ++ ++ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1; ++ ++ if( keylen > BLAKE2S_KEYBYTES ) return -1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ if( blake2sp_init_leaf( S[i], outlen, keylen, i ) < 0 ) return -1; ++ ++ S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ ++ ++ if( keylen > 0 ) ++ { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset( block, 0, BLAKE2S_BLOCKBYTES ); ++ memcpy( block, key, keylen ); ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( S[i], block, BLAKE2S_BLOCKBYTES ); ++ ++ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */ ++ } ++ ++#if defined(_OPENMP) ++ #pragma omp parallel shared(S,hash), num_threads(PARALLELISM_DEGREE) ++#else ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++#endif ++ { ++#if defined(_OPENMP) ++ size_t i = omp_get_thread_num(); ++#endif ++ size_t inlen__ = inlen; ++ const unsigned char *in__ = ( const unsigned char * )in; ++ in__ += i * BLAKE2S_BLOCKBYTES; ++ ++ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES ) ++ { ++ blake2s_update( S[i], in__, BLAKE2S_BLOCKBYTES ); ++ in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; ++ } ++ ++ if( inlen__ > i * BLAKE2S_BLOCKBYTES ) ++ { ++ const size_t left = inlen__ - i * BLAKE2S_BLOCKBYTES; ++ const size_t len = left <= BLAKE2S_BLOCKBYTES ? left : BLAKE2S_BLOCKBYTES; ++ blake2s_update( S[i], in__, len ); ++ } ++ ++ blake2s_final( S[i], hash[i], BLAKE2S_OUTBYTES ); ++ } ++ ++ if( blake2sp_init_root( FS, outlen, keylen ) < 0 ) ++ return -1; ++ ++ FS->last_node = 1; ++ ++ for( i = 0; i < PARALLELISM_DEGREE; ++i ) ++ blake2s_update( FS, hash[i], BLAKE2S_OUTBYTES ); ++ ++ return blake2s_final( FS, out, outlen ); ++} ++ ++#if defined(BLAKE2SP_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2S_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step; ++ ++ for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) ++ key[i] = ( uint8_t )i; ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ buf[i] = ( uint8_t )i; ++ ++ /* Test simple API */ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) ++ { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2sp( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES ); ++ ++ if( 0 != memcmp( hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { ++ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) { ++ uint8_t hash[BLAKE2S_OUTBYTES]; ++ blake2sp_state S; ++ uint8_t * p = buf; ++ size_t mlen = i; ++ int err = 0; ++ ++ if( (err = blake2sp_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2sp_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2sp_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2sp_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/sse/blake2xb.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2xb.c +@@ -0,0 +1,241 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2016, JP Aumasson <jeanphilippe.aumasson@gmail.com>. ++ Copyright 2016, Samuel Neves <sneves@dei.uc.pt>. ++ ++ You may use this under the terms of the CC0, the OpenSSL Licence, or ++ the Apache Public License 2.0, at your option. The terms of these ++ licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++int blake2xb_init( blake2xb_state *S, const size_t outlen ) { ++ return blake2xb_init_key(S, outlen, NULL, 0); ++} ++ ++int blake2xb_init_key( blake2xb_state *S, const size_t outlen, const void *key, size_t keylen) ++{ ++ if ( outlen == 0 || outlen > 0xFFFFFFFFUL ) { ++ return -1; ++ } ++ ++ if (NULL != key && keylen > BLAKE2B_KEYBYTES) { ++ return -1; ++ } ++ ++ if (NULL == key && keylen > 0) { ++ return -1; ++ } ++ ++ /* Initialize parameter block */ ++ S->P->digest_length = BLAKE2B_OUTBYTES; ++ S->P->key_length = keylen; ++ S->P->fanout = 1; ++ S->P->depth = 1; ++ store32( &S->P->leaf_length, 0 ); ++ store32( &S->P->node_offset, 0 ); ++ store32( &S->P->xof_length, outlen ); ++ S->P->node_depth = 0; ++ S->P->inner_length = 0; ++ memset( S->P->reserved, 0, sizeof( S->P->reserved ) ); ++ memset( S->P->salt, 0, sizeof( S->P->salt ) ); ++ memset( S->P->personal, 0, sizeof( S->P->personal ) ); ++ ++ if( blake2b_init_param( S->S, S->P ) < 0 ) { ++ return -1; ++ } ++ ++ if (keylen > 0) { ++ uint8_t block[BLAKE2B_BLOCKBYTES]; ++ memset(block, 0, BLAKE2B_BLOCKBYTES); ++ memcpy(block, key, keylen); ++ blake2b_update(S->S, block, BLAKE2B_BLOCKBYTES); ++ secure_zero_memory(block, BLAKE2B_BLOCKBYTES); ++ } ++ return 0; ++} ++ ++int blake2xb_update( blake2xb_state *S, const void *in, size_t inlen ) { ++ return blake2b_update( S->S, in, inlen ); ++} ++ ++int blake2xb_final( blake2xb_state *S, void *out, size_t outlen) { ++ ++ blake2b_state C[1]; ++ blake2b_param P[1]; ++ uint32_t xof_length = load32(&S->P->xof_length); ++ uint8_t root[BLAKE2B_BLOCKBYTES]; ++ size_t i; ++ ++ if (NULL == out) { ++ return -1; ++ } ++ ++ /* outlen must match the output size defined in xof_length, */ ++ /* unless it was -1, in which case anything goes except 0. */ ++ if(xof_length == 0xFFFFFFFFUL) { ++ if(outlen == 0) { ++ return -1; ++ } ++ } else { ++ if(outlen != xof_length) { ++ return -1; ++ } ++ } ++ ++ /* Finalize the root hash */ ++ if (blake2b_final(S->S, root, BLAKE2B_OUTBYTES) < 0) { ++ return -1; ++ } ++ ++ /* Set common block structure values */ ++ /* Copy values from parent instance, and only change the ones below */ ++ memcpy(P, S->P, sizeof(blake2b_param)); ++ P->key_length = 0; ++ P->fanout = 0; ++ P->depth = 0; ++ store32(&P->leaf_length, BLAKE2B_OUTBYTES); ++ P->inner_length = BLAKE2B_OUTBYTES; ++ P->node_depth = 0; ++ ++ for (i = 0; outlen > 0; ++i) { ++ const size_t block_size = (outlen < BLAKE2B_OUTBYTES) ? outlen : BLAKE2B_OUTBYTES; ++ /* Initialize state */ ++ P->digest_length = block_size; ++ store32(&P->node_offset, i); ++ blake2b_init_param(C, P); ++ /* Process key if needed */ ++ blake2b_update(C, root, BLAKE2B_OUTBYTES); ++ if (blake2b_final(C, (uint8_t *)out + i * BLAKE2B_OUTBYTES, block_size) < 0 ) { ++ return -1; ++ } ++ outlen -= block_size; ++ } ++ secure_zero_memory(root, sizeof(root)); ++ secure_zero_memory(P, sizeof(P)); ++ secure_zero_memory(C, sizeof(C)); ++ /* Put blake2xb in an invalid state? cf. blake2s_is_lastblock */ ++ return 0; ++ ++} ++ ++int blake2xb(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) ++{ ++ blake2xb_state S[1]; ++ ++ /* Verify parameters */ ++ if (NULL == in && inlen > 0) ++ return -1; ++ ++ if (NULL == out) ++ return -1; ++ ++ if (NULL == key && keylen > 0) ++ return -1; ++ ++ if (keylen > BLAKE2B_KEYBYTES) ++ return -1; ++ ++ if (outlen == 0) ++ return -1; ++ ++ /* Initialize the root block structure */ ++ if (blake2xb_init_key(S, outlen, key, keylen) < 0) { ++ return -1; ++ } ++ ++ /* Absorb the input message */ ++ blake2xb_update(S, in, inlen); ++ ++ /* Compute the root node of the tree and the final hash using the counter construction */ ++ return blake2xb_final(S, out, outlen); ++} ++ ++#if defined(BLAKE2XB_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2B_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step, outlen; ++ ++ for( i = 0; i < BLAKE2B_KEYBYTES; ++i ) { ++ key[i] = ( uint8_t )i; ++ } ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) { ++ buf[i] = ( uint8_t )i; ++ } ++ ++ /* Testing length of ouputs rather than inputs */ ++ /* (Test of input lengths mostly covered by blake2s tests) */ ++ ++ /* Test simple API */ ++ for( outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen ) ++ { ++ uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; ++ if( blake2xb( hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2B_KEYBYTES ) < 0 ) { ++ goto fail; ++ } ++ ++ if( 0 != memcmp( hash, blake2xb_keyed_kat[outlen-1], outlen ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { ++ for (outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { ++ uint8_t hash[BLAKE2_KAT_LENGTH]; ++ blake2xb_state S; ++ uint8_t * p = buf; ++ size_t mlen = BLAKE2_KAT_LENGTH; ++ int err = 0; ++ ++ if( (err = blake2xb_init_key(&S, outlen, key, BLAKE2B_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2xb_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2xb_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2xb_final(&S, hash, outlen)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2xb_keyed_kat[outlen-1], outlen)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/sse/blake2xs.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/blake2xs.c +@@ -0,0 +1,239 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2016, JP Aumasson <jeanphilippe.aumasson@gmail.com>. ++ Copyright 2016, Samuel Neves <sneves@dei.uc.pt>. ++ ++ You may use this under the terms of the CC0, the OpenSSL Licence, or ++ the Apache Public License 2.0, at your option. The terms of these ++ licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <string.h> ++#include <stdio.h> ++ ++#include "blake2.h" ++#include "blake2-impl.h" ++ ++int blake2xs_init( blake2xs_state *S, const size_t outlen ) { ++ return blake2xs_init_key(S, outlen, NULL, 0); ++} ++ ++int blake2xs_init_key( blake2xs_state *S, const size_t outlen, const void *key, size_t keylen ) ++{ ++ if ( outlen == 0 || outlen > 0xFFFFUL ) { ++ return -1; ++ } ++ ++ if (NULL != key && keylen > BLAKE2B_KEYBYTES) { ++ return -1; ++ } ++ ++ if (NULL == key && keylen > 0) { ++ return -1; ++ } ++ ++ /* Initialize parameter block */ ++ S->P->digest_length = BLAKE2S_OUTBYTES; ++ S->P->key_length = keylen; ++ S->P->fanout = 1; ++ S->P->depth = 1; ++ store32( &S->P->leaf_length, 0 ); ++ store32( &S->P->node_offset, 0 ); ++ store16( &S->P->xof_length, outlen ); ++ S->P->node_depth = 0; ++ S->P->inner_length = 0; ++ memset( S->P->salt, 0, sizeof( S->P->salt ) ); ++ memset( S->P->personal, 0, sizeof( S->P->personal ) ); ++ ++ if( blake2s_init_param( S->S, S->P ) < 0 ) { ++ return -1; ++ } ++ ++ if (keylen > 0) { ++ uint8_t block[BLAKE2S_BLOCKBYTES]; ++ memset(block, 0, BLAKE2S_BLOCKBYTES); ++ memcpy(block, key, keylen); ++ blake2s_update(S->S, block, BLAKE2S_BLOCKBYTES); ++ secure_zero_memory(block, BLAKE2S_BLOCKBYTES); ++ } ++ return 0; ++} ++ ++int blake2xs_update( blake2xs_state *S, const void *in, size_t inlen ) { ++ return blake2s_update( S->S, in, inlen ); ++} ++ ++int blake2xs_final(blake2xs_state *S, void *out, size_t outlen) { ++ ++ blake2s_state C[1]; ++ blake2s_param P[1]; ++ uint16_t xof_length = load16(&S->P->xof_length); ++ uint8_t root[BLAKE2S_BLOCKBYTES]; ++ size_t i; ++ ++ if (NULL == out) { ++ return -1; ++ } ++ ++ /* outlen must match the output size defined in xof_length, */ ++ /* unless it was -1, in which case anything goes except 0. */ ++ if(xof_length == 0xFFFFUL) { ++ if(outlen == 0) { ++ return -1; ++ } ++ } else { ++ if(outlen != xof_length) { ++ return -1; ++ } ++ } ++ ++ /* Finalize the root hash */ ++ if (blake2s_final(S->S, root, BLAKE2S_OUTBYTES) < 0) { ++ return -1; ++ } ++ ++ /* Set common block structure values */ ++ /* Copy values from parent instance, and only change the ones below */ ++ memcpy(P, S->P, sizeof(blake2s_param)); ++ P->key_length = 0; ++ P->fanout = 0; ++ P->depth = 0; ++ store32(&P->leaf_length, BLAKE2S_OUTBYTES); ++ P->inner_length = BLAKE2S_OUTBYTES; ++ P->node_depth = 0; ++ ++ for (i = 0; outlen > 0; ++i) { ++ const size_t block_size = (outlen < BLAKE2S_OUTBYTES) ? outlen : BLAKE2S_OUTBYTES; ++ /* Initialize state */ ++ P->digest_length = block_size; ++ store32(&P->node_offset, i); ++ blake2s_init_param(C, P); ++ /* Process key if needed */ ++ blake2s_update(C, root, BLAKE2S_OUTBYTES); ++ if (blake2s_final(C, (uint8_t *)out + i * BLAKE2S_OUTBYTES, block_size) < 0) { ++ return -1; ++ } ++ outlen -= block_size; ++ } ++ secure_zero_memory(root, sizeof(root)); ++ secure_zero_memory(P, sizeof(P)); ++ secure_zero_memory(C, sizeof(C)); ++ /* Put blake2xs in an invalid state? cf. blake2s_is_lastblock */ ++ return 0; ++} ++ ++int blake2xs(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) ++{ ++ blake2xs_state S[1]; ++ ++ /* Verify parameters */ ++ if (NULL == in && inlen > 0) ++ return -1; ++ ++ if (NULL == out) ++ return -1; ++ ++ if (NULL == key && keylen > 0) ++ return -1; ++ ++ if (keylen > BLAKE2S_KEYBYTES) ++ return -1; ++ ++ if (outlen == 0) ++ return -1; ++ ++ /* Initialize the root block structure */ ++ if (blake2xs_init_key(S, outlen, key, keylen) < 0) { ++ return -1; ++ } ++ ++ /* Absorb the input message */ ++ blake2xs_update(S, in, inlen); ++ ++ /* Compute the root node of the tree and the final hash using the counter construction */ ++ return blake2xs_final(S, out, outlen); ++} ++ ++#if defined(BLAKE2XS_SELFTEST) ++#include <string.h> ++#include "blake2-kat.h" ++int main( void ) ++{ ++ uint8_t key[BLAKE2S_KEYBYTES]; ++ uint8_t buf[BLAKE2_KAT_LENGTH]; ++ size_t i, step, outlen; ++ ++ for( i = 0; i < BLAKE2S_KEYBYTES; ++i ) { ++ key[i] = ( uint8_t )i; ++ } ++ ++ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i ) { ++ buf[i] = ( uint8_t )i; ++ } ++ ++ /* Testing length of ouputs rather than inputs */ ++ /* (Test of input lengths mostly covered by blake2s tests) */ ++ ++ /* Test simple API */ ++ for( outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen ) ++ { ++ uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; ++ if( blake2xs( hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2S_KEYBYTES ) < 0 ) { ++ goto fail; ++ } ++ ++ if( 0 != memcmp( hash, blake2xs_keyed_kat[outlen-1], outlen ) ) ++ { ++ goto fail; ++ } ++ } ++ ++ /* Test streaming API */ ++ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { ++ for (outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { ++ uint8_t hash[BLAKE2_KAT_LENGTH]; ++ blake2xs_state S; ++ uint8_t * p = buf; ++ size_t mlen = BLAKE2_KAT_LENGTH; ++ int err = 0; ++ ++ if( (err = blake2xs_init_key(&S, outlen, key, BLAKE2S_KEYBYTES)) < 0 ) { ++ goto fail; ++ } ++ ++ while (mlen >= step) { ++ if ( (err = blake2xs_update(&S, p, step)) < 0 ) { ++ goto fail; ++ } ++ mlen -= step; ++ p += step; ++ } ++ if ( (err = blake2xs_update(&S, p, mlen)) < 0) { ++ goto fail; ++ } ++ if ( (err = blake2xs_final(&S, hash, outlen)) < 0) { ++ goto fail; ++ } ++ ++ if (0 != memcmp(hash, blake2xs_keyed_kat[outlen-1], outlen)) { ++ goto fail; ++ } ++ } ++ } ++ ++ puts( "ok" ); ++ return 0; ++fail: ++ puts("error"); ++ return -1; ++} ++#endif +--- thirdparty/blake2/sse/genkat-c.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/genkat-c.c +@@ -0,0 +1,139 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++ ++#include "blake2.h" ++ ++#define STR_(x) #x ++#define STR(x) STR_(x) ++ ++#define LENGTH 256 ++ ++#define MAKE_KAT(name, size_prefix) \ ++ do { \ ++ printf("static const uint8_t " #name "_kat[BLAKE2_KAT_LENGTH][" #size_prefix \ ++ "_OUTBYTES] = \n{\n"); \ ++ \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ name(hash, size_prefix##_OUTBYTES, in, i, NULL, 0); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == size_prefix##_OUTBYTES ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++#define MAKE_KEYED_KAT(name, size_prefix) \ ++ do { \ ++ printf("static const uint8_t " #name "_keyed_kat[BLAKE2_KAT_LENGTH][" #size_prefix \ ++ "_OUTBYTES] = \n{\n"); \ ++ \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ name(hash, size_prefix##_OUTBYTES, in, i, key, size_prefix##_KEYBYTES); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == size_prefix##_OUTBYTES ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++#define MAKE_XOF_KAT(name) \ ++ do { \ ++ printf("static const uint8_t " #name "_kat[BLAKE2_KAT_LENGTH][BLAKE2_KAT_LENGTH] = \n{\n"); \ ++ \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ name(hash, i, in, LENGTH, NULL, 0); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ for (j = i; j < LENGTH; ++j) \ ++ printf("0x00%s", (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++#define MAKE_XOF_KEYED_KAT(name, size_prefix) \ ++ do { \ ++ printf("static const uint8_t " #name \ ++ "_keyed_kat[BLAKE2_KAT_LENGTH][BLAKE2_KAT_LENGTH] = \n{\n"); \ ++ \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ name(hash, i, in, LENGTH, key, size_prefix##_KEYBYTES); \ ++ printf("\t{\n\t\t"); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("0x%02X%s", hash[j], \ ++ (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ for (j = i; j < LENGTH; ++j) \ ++ printf("0x00%s", (j + 1) == LENGTH ? "\n" : j && !((j + 1) % 8) ? ",\n\t\t" : ", "); \ ++ \ ++ printf("\t},\n"); \ ++ } \ ++ \ ++ printf("};\n\n\n\n\n"); \ ++ } while (0) ++ ++int main() { ++ uint8_t key[64] = {0}; ++ uint8_t in[LENGTH] = {0}; ++ uint8_t hash[LENGTH] = {0}; ++ size_t i, j; ++ ++ for (i = 0; i < sizeof(in); ++i) ++ in[i] = i; ++ ++ for (i = 0; i < sizeof(key); ++i) ++ key[i] = i; ++ ++ puts("#ifndef BLAKE2_KAT_H\n" ++ "#define BLAKE2_KAT_H\n\n\n" ++ "#include <stdint.h>\n\n" ++ "#define BLAKE2_KAT_LENGTH " STR(LENGTH) "\n\n\n"); ++ MAKE_KAT(blake2s, BLAKE2S); ++ MAKE_KEYED_KAT(blake2s, BLAKE2S); ++ MAKE_KAT(blake2b, BLAKE2B); ++ MAKE_KEYED_KAT(blake2b, BLAKE2B); ++ MAKE_KAT(blake2sp, BLAKE2S); ++ MAKE_KEYED_KAT(blake2sp, BLAKE2S); ++ MAKE_KAT(blake2bp, BLAKE2B); ++ MAKE_KEYED_KAT(blake2bp, BLAKE2B); ++ MAKE_XOF_KAT(blake2xs); ++ MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S); ++ MAKE_XOF_KAT(blake2xb); ++ MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B); ++ puts("#endif"); ++ return 0; ++} +--- thirdparty/blake2/sse/genkat-json.c.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/genkat-json.c +@@ -0,0 +1,154 @@ ++/* ++ BLAKE2 reference source code package - reference C implementations ++ ++ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the ++ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at ++ your option. The terms of these licenses can be found at: ++ ++ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 ++ - OpenSSL license : https://www.openssl.org/source/license.html ++ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 ++ ++ More information about the BLAKE2 hash function can be found at ++ https://blake2.net. ++*/ ++ ++#include <stdint.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++ ++#include "blake2.h" ++ ++#define STR_(x) #x ++#define STR(x) STR_(x) ++ ++#define LENGTH 256 ++ ++#define MAKE_KAT(name, size_prefix, first) \ ++ do { \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 0 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \"\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, size_prefix##_OUTBYTES, in, i, NULL, 0); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++#define MAKE_KEYED_KAT(name, size_prefix, first) \ ++ do { \ ++ for (i = 0; i < LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 0 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \""); \ ++ for (j = 0; j < size_prefix##_KEYBYTES; ++j) \ ++ printf("%02x", key[j]); \ ++ printf("\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, size_prefix##_OUTBYTES, in, i, key, size_prefix##_KEYBYTES); \ ++ \ ++ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++#define MAKE_XOF_KAT(name, first) \ ++ do { \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 1 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < LENGTH; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \"\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, i, in, LENGTH, NULL, 0); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++#define MAKE_XOF_KEYED_KAT(name, size_prefix, first) \ ++ do { \ ++ for (i = 1; i <= LENGTH; ++i) { \ ++ printf("%s\n{\n", i == 1 && first ? "" : ","); \ ++ \ ++ printf(" \"hash\": \"" #name "\",\n"); \ ++ printf(" \"in\": \""); \ ++ for (j = 0; j < LENGTH; ++j) \ ++ printf("%02x", in[j]); \ ++ \ ++ printf("\",\n"); \ ++ printf(" \"key\": \""); \ ++ for (j = 0; j < size_prefix##_KEYBYTES; ++j) \ ++ printf("%02x", key[j]); \ ++ printf("\",\n"); \ ++ printf(" \"out\": \""); \ ++ \ ++ name(hash, i, in, LENGTH, key, size_prefix##_KEYBYTES); \ ++ \ ++ for (j = 0; j < i; ++j) \ ++ printf("%02x", hash[j]); \ ++ printf("\"\n"); \ ++ printf("}"); \ ++ } \ ++ } while (0) ++ ++int main() { ++ uint8_t key[64] = {0}; ++ uint8_t in[LENGTH] = {0}; ++ uint8_t hash[LENGTH] = {0}; ++ size_t i, j; ++ ++ for (i = 0; i < sizeof(in); ++i) ++ in[i] = i; ++ ++ for (i = 0; i < sizeof(key); ++i) ++ key[i] = i; ++ ++ printf("["); ++ MAKE_KAT(blake2s, BLAKE2S, 1); ++ MAKE_KEYED_KAT(blake2s, BLAKE2S, 0); ++ MAKE_KAT(blake2b, BLAKE2B, 0); ++ MAKE_KEYED_KAT(blake2b, BLAKE2B, 0); ++ MAKE_KAT(blake2sp, BLAKE2S, 0); ++ MAKE_KEYED_KAT(blake2sp, BLAKE2S, 0); ++ MAKE_KAT(blake2bp, BLAKE2B, 0); ++ MAKE_KEYED_KAT(blake2bp, BLAKE2B, 0); ++ MAKE_XOF_KAT(blake2xs, 0); ++ MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S, 0); ++ MAKE_XOF_KAT(blake2xb, 0); ++ MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B, 0); ++ printf("\n]\n"); ++ fflush(stdout); ++ return 0; ++} +--- thirdparty/blake2/sse/makefile.orig 2025-09-03 12:27:32 UTC ++++ thirdparty/blake2/sse/makefile +@@ -0,0 +1,40 @@ ++CC=gcc ++CFLAGS=-O3 -I../testvectors -Wall -Wextra -std=c89 -pedantic -Wno-long-long ++BLAKEBINS=blake2s blake2b blake2sp blake2bp blake2xs blake2xb ++ ++all: $(BLAKEBINS) check ++ ++blake2s: blake2s.c ++ $(CC) blake2s.c -o $@ $(CFLAGS) -DBLAKE2S_SELFTEST ++ ++blake2b: blake2b.c ++ $(CC) blake2b.c -o $@ $(CFLAGS) -DBLAKE2B_SELFTEST ++ ++blake2sp: blake2sp.c blake2s.c ++ $(CC) blake2sp.c blake2s.c -o $@ $(CFLAGS) -DBLAKE2SP_SELFTEST ++ ++blake2bp: blake2bp.c blake2b.c ++ $(CC) blake2bp.c blake2b.c -o $@ $(CFLAGS) -DBLAKE2BP_SELFTEST ++ ++blake2xs: blake2xs.c blake2s.c ++ $(CC) blake2xs.c blake2s.c -o $@ $(CFLAGS) -DBLAKE2XS_SELFTEST ++ ++blake2xb: blake2xb.c blake2b.c ++ $(CC) blake2xb.c blake2b.c -o $@ $(CFLAGS) -DBLAKE2XB_SELFTEST ++ ++check: blake2s blake2b blake2sp blake2bp blake2xs blake2xb ++ ./blake2s ++ ./blake2b ++ ./blake2sp ++ ./blake2bp ++ ./blake2xs ++ ./blake2xb ++ ++kat: ++ $(CC) $(CFLAGS) -o genkat-c genkat-c.c blake2b.c blake2s.c blake2sp.c blake2bp.c blake2xs.c blake2xb.c ++ $(CC) $(CFLAGS) -g -o genkat-json genkat-json.c blake2b.c blake2s.c blake2sp.c blake2bp.c blake2xs.c blake2xb.c ++ ./genkat-c > blake2-kat.h ++ ./genkat-json > blake2-kat.json ++ ++clean: ++ rm -rf *.o genkat-c genkat-json blake2-kat.h blake2-kat.json $(BLAKEBINS) diff --git a/games/palomino/Makefile b/games/palomino/Makefile deleted file mode 100644 index bfb7415f4539..000000000000 --- a/games/palomino/Makefile +++ /dev/null @@ -1,112 +0,0 @@ -PORTNAME= palomino -PORTVERSION= 20131231 -PORTREVISION= 10 -CATEGORIES= games -MASTER_SITES= SF/palomino-sim -DISTFILES= ${PORTNAME}_src_${PORTVERSION}.txz \ - ${PORTNAME}_data_misc_${MISC_VER}${EXTRACT_SUFX} \ - ${PORTNAME}_data_models_${MODELS_VER}${EXTRACT_SUFX} \ - ${PORTNAME}_data_sounds_${SOUNDS_VER}${EXTRACT_SUFX} \ - ${PORTNAME}_data_terrain_${TERRAIN_VER}${EXTRACT_SUFX} - -MAINTAINER= ports@FreeBSD.org -COMMENT= Action flight simulation computer program using OSG -WWW= https://www.palomino3d.org/ - -LICENSE= GPLv2 -LICENSE_FILE= ${WRKSRC}/LICENSE_GNU_GPL_2.txt - -DEPRECATED= Obsolete and abandoneed, last release in 2013, not playable -EXPIRATION_DATE=2025-09-10 - -LIB_DEPENDS= libosg.so:graphics/osg34 - -USES= alias compiler:c++11-lang cmake:insource,noninja gl lua:51 tar:xz -USE_CXXSTD= gnu++98 -USE_GL= gl glu - -DESKTOP_ENTRIES= "Palomino" "" "${PORTNAME}" \ - "${PORTNAME}" "Game;ArcadeGame;" "" - -WRKSRC= ${WRKDIR}/${PORTNAME} - -PORTDOCS= * - -OPTIONS_DEFINE= DOCS GUI PLIB SDL -OPTIONS_DEFAULT=GUI SDL -OPTIONS_SUB= yes - -GUI_DESC= Enable FLTK GUI -PLIB_DESC= Enable sound support through plib - -GUI_LIB_DEPENDS= libfltk.so:x11-toolkits/fltk -PLIB_BUILD_DEPENDS= ${LOCALBASE}/lib/libplibsl.a:x11-toolkits/plib -SDL_USES= sdl -SDL_USE= SDL=sdl,mixer - -MISC_VER= 20091027 -MODELS_VER= 20090615 -SOUNDS_VER= 20080704 -TERRAIN_VER= 20080206 - -post-patch: - @${FIND} ${WRKSRC}/CMakeModules -type f -print0 | ${XARGS} -0 \ - ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' - @${REINPLACE_CMD} -e '/ rt / d' ${WRKSRC}/CMakeModules/libraries.cmake - @${REINPLACE_CMD} -e '/COMMAND/ s|lua|${LUA_CMD}|' \ - ${WRKSRC}/build/lua_bind/CMakeLists.txt - @${REINPLACE_CMD} -e '/FIND_PACKAGE(/ s|)| REQUIRED)|' \ - ${WRKSRC}/CMakeModules/libraries.cmake - @${REINPLACE_CMD} -e '/COMPILE_WITH_OSSIM/ d' ${WRKSRC}/CMakeLists.txt - -# Please see MOVED entry devel/linux-js||2013-06-04 - @${REINPLACE_CMD} -e '/COMPILE_WITH_LINUX_JOYSTICK/ d' ${WRKSRC}/CMakeLists.txt - - @${REINPLACE_CMD} -e 's|string sDataDir|&="${DATADIR}/data/"|'\ - ${WRKSRC}/src/base/conf.cc - @${REINPLACE_CMD} -e '/LUABIND_SCRIPTS_DIR/ s|scripts|${DATADIR}/&|' \ - ${WRKSRC}/src/lua_bind/defs.hh - @${REINPLACE_CMD} -e 's|doc/html/|${DOCSDIR}/|' ${WRKSRC}/src/gui/gui.cc - - @${REINPLACE_CMD} -e 's/computeBound/computeBoundingBox/g' \ - ${WRKSRC}/src/object/object.cc \ - ${WRKSRC}/src/fx/partsys_medium.cc - - @${REINPLACE_CMD} -e 's/CameraNode/Camera/g' \ - ${WRKSRC}/src/hud/hud.cc \ - ${WRKSRC}/src/hud/hud.hh \ - ${WRKSRC}/src/hud/hud_text.cc - - @${REINPLACE_CMD} -e '/std::make_pair/ s,<.*>,,' \ - ${WRKSRC}/src/collision/collision.cc \ - ${WRKSRC}/src/fx/image_cache.cc \ - ${WRKSRC}/src/graph/model_cache.cc \ - ${WRKSRC}/src/hud/font.cc \ - ${WRKSRC}/src/lua_bind/lua.cc \ - ${WRKSRC}/src/object/dyna.cc \ - ${WRKSRC}/src/sky/sky.cc \ - ${WRKSRC}/src/sky/sky_dome.cc \ - ${WRKSRC}/src/sky/sky_dome.hh \ - ${WRKSRC}/src/sky/sun.hh \ - ${WRKSRC}/src/sound/sound_base.cc - -post-patch-SDL-off: - @${REINPLACE_CMD} -e '/COMPILE_WITH_SDL/ d' ${WRKSRC}/CMakeLists.txt - -post-patch-PLIB-off: - @${REINPLACE_CMD} -e '/COMPILE_WITH_PLIB/ d' ${WRKSRC}/CMakeLists.txt - -post-patch-GUI-off: - @${REINPLACE_CMD} -e '/COMPILE_WITH_FLTK/ d' ${WRKSRC}/CMakeLists.txt - -post-install: - @${MKDIR} ${STAGEDIR}${DATADIR} - @(cd ${WRKSRC} && ${COPYTREE_SHARE} "data scripts" ${STAGEDIR}${DATADIR}) -# DOCS are used from within the game, so this is unconditional - @${MKDIR} ${STAGEDIR}${DOCSDIR} - @(cd ${WRKSRC}/doc/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) - - ${LN} -sf ../../${DOCSDIR_REL}/images/palominoLogo.png \ - ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.png - -.include <bsd.port.mk> diff --git a/games/palomino/distinfo b/games/palomino/distinfo deleted file mode 100644 index 752cb47c1f07..000000000000 --- a/games/palomino/distinfo +++ /dev/null @@ -1,10 +0,0 @@ -SHA256 (palomino_src_20131231.txz) = 9dfa62f3a340637518e346824643e75fa8f320fe0dee951e028df6b64b9d1e2c -SIZE (palomino_src_20131231.txz) = 572412 -SHA256 (palomino_data_misc_20091027.tar.xz) = 63bee11652e227c0e37b08bf82b395ef7d2a50671ec4b8803242ba2415a6418d -SIZE (palomino_data_misc_20091027.tar.xz) = 616848 -SHA256 (palomino_data_models_20090615.tar.xz) = 9a7915ce64df46a780ce4b869665b10e3071d0b4499a46b03f3bf08613402894 -SIZE (palomino_data_models_20090615.tar.xz) = 28110056 -SHA256 (palomino_data_sounds_20080704.tar.xz) = 3ca093744cf3056f3ea2b5eebf62127c30e57e8c233c9e17af4fed4f33b61bae -SIZE (palomino_data_sounds_20080704.tar.xz) = 488576 -SHA256 (palomino_data_terrain_20080206.tar.xz) = b2818e3a56fcedfdcf8dde4de106b04b5cf696db09a1fb743f6b5f4c7e4a496c -SIZE (palomino_data_terrain_20080206.tar.xz) = 35801076 diff --git a/games/palomino/files/patch-src_input_device__keyboard__osg.cc b/games/palomino/files/patch-src_input_device__keyboard__osg.cc deleted file mode 100644 index ffdbbc17b941..000000000000 --- a/games/palomino/files/patch-src_input_device__keyboard__osg.cc +++ /dev/null @@ -1,15 +0,0 @@ ---- src/input/device_keyboard_osg.cc.orig 2012-10-26 01:35:57 UTC -+++ src/input/device_keyboard_osg.cc -@@ -105,12 +105,6 @@ KeyboardDeviceOSG::HandlerOSG::handle( c - } - } - --void --KeyboardDeviceOSG::HandlerOSG::accept( osgGA::GUIEventHandlerVisitor& v ) --{ -- v.visit( *this ); --} -- - } // namespace input - - #endif // COMPILE_OSG diff --git a/games/palomino/files/patch-src_input_device__keyboard__osg.hh b/games/palomino/files/patch-src_input_device__keyboard__osg.hh deleted file mode 100644 index 2d9e18b13ff8..000000000000 --- a/games/palomino/files/patch-src_input_device__keyboard__osg.hh +++ /dev/null @@ -1,10 +0,0 @@ ---- src/input/device_keyboard_osg.hh.orig 2009-11-22 23:05:48 UTC -+++ src/input/device_keyboard_osg.hh -@@ -57,7 +57,6 @@ private: - HandlerOSG( void ) { } - virtual ~HandlerOSG() { } - virtual bool handle( const osgGA::GUIEventAdapter& event, osgGA::GUIActionAdapter& action ); -- virtual void accept( osgGA::GUIEventHandlerVisitor& visitor ); - }; - }; - diff --git a/games/palomino/files/patch-src_input_device__mouse__osg.cc b/games/palomino/files/patch-src_input_device__mouse__osg.cc deleted file mode 100644 index 18c0ce5f3fa3..000000000000 --- a/games/palomino/files/patch-src_input_device__mouse__osg.cc +++ /dev/null @@ -1,15 +0,0 @@ ---- src/input/device_mouse_osg.cc.orig 2012-10-26 01:35:57 UTC -+++ src/input/device_mouse_osg.cc -@@ -145,12 +145,6 @@ MouseDeviceOSG::HandlerOSG::handle( cons - } - } - --void --MouseDeviceOSG::HandlerOSG::accept( osgGA::GUIEventHandlerVisitor& v ) --{ -- v.visit( *this ); --} -- - } // namespace input - - #endif // COMPILE_OSG diff --git a/games/palomino/files/patch-src_input_device__mouse__osg.hh b/games/palomino/files/patch-src_input_device__mouse__osg.hh deleted file mode 100644 index aa7b51ed381e..000000000000 --- a/games/palomino/files/patch-src_input_device__mouse__osg.hh +++ /dev/null @@ -1,10 +0,0 @@ ---- src/input/device_mouse_osg.hh.orig 2011-12-14 01:56:48 UTC -+++ src/input/device_mouse_osg.hh -@@ -41,7 +41,6 @@ private: - HandlerOSG( void ) { } - virtual ~HandlerOSG() { } - virtual bool handle( const osgGA::GUIEventAdapter& event, osgGA::GUIActionAdapter& action ); -- virtual void accept( osgGA::GUIEventHandlerVisitor& visitor ); - }; - }; - diff --git a/games/palomino/pkg-descr b/games/palomino/pkg-descr deleted file mode 100644 index 1732e3a11b30..000000000000 --- a/games/palomino/pkg-descr +++ /dev/null @@ -1,2 +0,0 @@ -Palomino is a flight simulation computer program. Version 3 renders using -OpenSceneGraph. OSG provides the ability to render satellite imagery. diff --git a/games/palomino/pkg-plist b/games/palomino/pkg-plist deleted file mode 100644 index 1a0a36884aa8..000000000000 --- a/games/palomino/pkg-plist +++ /dev/null @@ -1,442 +0,0 @@ -bin/palomino -%%DATADIR%%/data/fonts/README.txt -%%DATADIR%%/data/fonts/arial.ttf -%%DATADIR%%/data/fonts/masque.ttf -%%DATADIR%%/data/joystick.conf -%%DATADIR%%/data/models/README.txt -%%DATADIR%%/data/models/a4/README.txt -%%DATADIR%%/data/models/a4/a4-blue-0.png -%%DATADIR%%/data/models/a4/a4-blue-1.png -%%DATADIR%%/data/models/a4/a4-blue-2.png -%%DATADIR%%/data/models/a4/a4-blue-3.png -%%DATADIR%%/data/models/a4/a4-blue-4.png -%%DATADIR%%/data/models/a4/a4-blue-5.png -%%DATADIR%%/data/models/a4/a4-blue-6.png -%%DATADIR%%/data/models/a4/a4-blue-7.png -%%DATADIR%%/data/models/a4/a4.ac.gz -%%DATADIR%%/data/models/corsair/README.txt -%%DATADIR%%/data/models/corsair/alt.ac -%%DATADIR%%/data/models/corsair/asi.ac -%%DATADIR%%/data/models/corsair/blackout.ac -%%DATADIR%%/data/models/corsair/blaze.ac -%%DATADIR%%/data/models/corsair/blaze.png -%%DATADIR%%/data/models/corsair/clock.ac -%%DATADIR%%/data/models/corsair/corsair.ac.gz -%%DATADIR%%/data/models/corsair/crosshair.png -%%DATADIR%%/data/models/corsair/f4u-1.png -%%DATADIR%%/data/models/corsair/f4u-2.png -%%DATADIR%%/data/models/corsair/f4u-3.png -%%DATADIR%%/data/models/corsair/f4u-4.png -%%DATADIR%%/data/models/corsair/fastpdisk.png -%%DATADIR%%/data/models/corsair/gunsight.ac -%%DATADIR%%/data/models/corsair/hunter-asi.png -%%DATADIR%%/data/models/corsair/hunter-large-bezel.png -%%DATADIR%%/data/models/corsair/logo.png -%%DATADIR%%/data/models/corsair/logo1.png -%%DATADIR%%/data/models/corsair/logos.ac -%%DATADIR%%/data/models/corsair/man.ac -%%DATADIR%%/data/models/corsair/number.png -%%DATADIR%%/data/models/corsair/pdisk.ac -%%DATADIR%%/data/models/corsair/pilot-b.ac -%%DATADIR%%/data/models/corsair/pilot1.png -%%DATADIR%%/data/models/corsair/puff.ac -%%DATADIR%%/data/models/corsair/puff.png -%%DATADIR%%/data/models/corsair/remote.ac -%%DATADIR%%/data/models/corsair/slowpdisk.png -%%DATADIR%%/data/models/corsair/tach.ac -%%DATADIR%%/data/models/corsair/temp.ac -%%DATADIR%%/data/models/corsair/tracer.ac -%%DATADIR%%/data/models/corsair/transparent.ac -%%DATADIR%%/data/models/corsair/turn.ac -%%DATADIR%%/data/models/corsair/vac.ac -%%DATADIR%%/data/models/corsair/vsi.ac -%%DATADIR%%/data/models/f14/README.txt -%%DATADIR%%/data/models/f14/common.png -%%DATADIR%%/data/models/f14/common2.png -%%DATADIR%%/data/models/f14/f14b.osg.gz -%%DATADIR%%/data/models/f14/grip.png -%%DATADIR%%/data/models/f14/pilot-handle.png -%%DATADIR%%/data/models/f14/side1.png -%%DATADIR%%/data/models/f14/side2.png -%%DATADIR%%/data/models/f14/topbottom1.png -%%DATADIR%%/data/models/f14/topbottom2.png -%%DATADIR%%/data/models/f15/F15CCockpit.png -%%DATADIR%%/data/models/f15/F15CNose.png -%%DATADIR%%/data/models/f15/F15CRudder.png -%%DATADIR%%/data/models/f15/F15CSide.png -%%DATADIR%%/data/models/f15/f15c.osg.gz -%%DATADIR%%/data/models/f16/README.txt -%%DATADIR%%/data/models/f16/f16.osg.gz -%%DATADIR%%/data/models/f16/f16.png -%%DATADIR%%/data/models/f16/f16trans.png -%%DATADIR%%/data/models/f16/sidewinder.ac -%%DATADIR%%/data/models/f18/f18.osg.gz -%%DATADIR%%/data/models/f18/f18cockpit.png -%%DATADIR%%/data/models/f18/f18tail.png -%%DATADIR%%/data/models/f18/f18top.png -%%DATADIR%%/data/models/f86/README.txt -%%DATADIR%%/data/models/f86/blackout.ac -%%DATADIR%%/data/models/f86/droptank.ac -%%DATADIR%%/data/models/f86/f86f.ac.gz -%%DATADIR%%/data/models/f86/pylon.ac -%%DATADIR%%/data/models/f86/sabre-1.png -%%DATADIR%%/data/models/f86/sabre-3.png -%%DATADIR%%/data/models/f86/transparent.ac -%%DATADIR%%/data/models/kc135/kc135.ac.gz -%%DATADIR%%/data/models/kc135/kc135.png -%%DATADIR%%/data/models/mirage2000/mirage2000.osg.gz -%%DATADIR%%/data/models/mirage2000/mirage2000.png -%%DATADIR%%/data/models/mirage2000/mirage2000bottom.png -%%DATADIR%%/data/models/misc/aim9.ac.gz -%%DATADIR%%/data/models/misc/aim9.png -%%DATADIR%%/data/models/misc/crashTruck.ac.gz -%%DATADIR%%/data/models/misc/lighthouse.ac.gz -%%DATADIR%%/data/models/misc/lighthouse.png -%%DATADIR%%/data/models/misc/missileLauncher.osg.gz -%%DATADIR%%/data/models/misc/observatory.ac.gz -%%DATADIR%%/data/models/misc/observatory.png -%%DATADIR%%/data/models/misc/parachute.osg.gz -%%DATADIR%%/data/models/misc/parachute.png -%%DATADIR%%/data/models/misc/radar.ac.gz -%%DATADIR%%/data/models/misc/radome.ac.gz -%%DATADIR%%/data/models/misc/radome.png -%%DATADIR%%/data/models/misc/sailboat.ac.gz -%%DATADIR%%/data/models/misc/sailboat.png -%%DATADIR%%/data/models/misc/trailerLauncher.osg.gz -%%DATADIR%%/data/models/misc/ufo.ac.gz -%%DATADIR%%/data/models/misc/warehouse.ac.gz -%%DATADIR%%/data/models/misc/warehouse.png -%%DATADIR%%/data/models/nimitz/catapult.png -%%DATADIR%%/data/models/nimitz/crew_1.png -%%DATADIR%%/data/models/nimitz/crew_2.png -%%DATADIR%%/data/models/nimitz/crew_3.png -%%DATADIR%%/data/models/nimitz/deck-stripe.png -%%DATADIR%%/data/models/nimitz/deck_1.png -%%DATADIR%%/data/models/nimitz/flag.png -%%DATADIR%%/data/models/nimitz/holdback_marking.png -%%DATADIR%%/data/models/nimitz/hull_left.png -%%DATADIR%%/data/models/nimitz/hull_left1.png -%%DATADIR%%/data/models/nimitz/hullright.png -%%DATADIR%%/data/models/nimitz/hullright2.png -%%DATADIR%%/data/models/nimitz/island1.png -%%DATADIR%%/data/models/nimitz/island2_lm.png -%%DATADIR%%/data/models/nimitz/island3.png -%%DATADIR%%/data/models/nimitz/island_68.png -%%DATADIR%%/data/models/nimitz/island_69.png -%%DATADIR%%/data/models/nimitz/nimitz.osg.gz -%%DATADIR%%/data/models/nimitz/rainbow_10.png -%%DATADIR%%/data/models/nimitz/rainbow_11.png -%%DATADIR%%/data/models/nimitz/rainbow_2.png -%%DATADIR%%/data/models/nimitz/rainbow_21.png -%%DATADIR%%/data/models/nimitz/rainbow_31.png -%%DATADIR%%/data/models/nimitz/rainbow_4.png -%%DATADIR%%/data/models/nimitz/rainbow_41.png -%%DATADIR%%/data/models/nimitz/rainbow_5.png -%%DATADIR%%/data/models/nimitz/rainbow_6.png -%%DATADIR%%/data/models/nimitz/rainbow_61.png -%%DATADIR%%/data/models/nimitz/rainbow_7.png -%%DATADIR%%/data/models/nimitz/rainbow_71.png -%%DATADIR%%/data/models/nimitz/rainbow_8.png -%%DATADIR%%/data/models/nimitz/rainbow_81.png -%%DATADIR%%/data/models/nimitz/rainbow_9.png -%%DATADIR%%/data/models/nimitz/saratoga.png -%%DATADIR%%/data/models/p51/README.txt -%%DATADIR%%/data/models/p51/f82-jw-05.png -%%DATADIR%%/data/models/p51/f82.ac.gz -%%DATADIR%%/data/models/p51/hotspotgrid.png -%%DATADIR%%/data/models/p51/metal.png -%%DATADIR%%/data/models/p51/p51d-jw-01.png -%%DATADIR%%/data/models/p51/p51d-jw-02.png -%%DATADIR%%/data/models/p51/p51d-jw-03.png -%%DATADIR%%/data/models/p51/p51d-jw-05.png -%%DATADIR%%/data/models/p51/p51d-jw-acc.ac -%%DATADIR%%/data/models/p51/p51d-jw-acc.png -%%DATADIR%%/data/models/p51/p51d-jw-alt.ac -%%DATADIR%%/data/models/p51/p51d-jw-alt.png -%%DATADIR%%/data/models/p51/p51d-jw-altpress.png -%%DATADIR%%/data/models/p51/p51d-jw-arrows.png -%%DATADIR%%/data/models/p51/p51d-jw-asi.ac -%%DATADIR%%/data/models/p51/p51d-jw-asi.png -%%DATADIR%%/data/models/p51/p51d-jw-attitude-bezel.png -%%DATADIR%%/data/models/p51/p51d-jw-attitude.ac -%%DATADIR%%/data/models/p51/p51d-jw-attitude.png -%%DATADIR%%/data/models/p51/p51d-jw-clock.ac -%%DATADIR%%/data/models/p51/p51d-jw-clock.png -%%DATADIR%%/data/models/p51/p51d-jw-compass-bezel.png -%%DATADIR%%/data/models/p51/p51d-jw-compass.ac -%%DATADIR%%/data/models/p51/p51d-jw-compass.png -%%DATADIR%%/data/models/p51/p51d-jw-engine.ac -%%DATADIR%%/data/models/p51/p51d-jw-engine.png -%%DATADIR%%/data/models/p51/p51d-jw-gearwarn.ac -%%DATADIR%%/data/models/p51/p51d-jw-gearwarn.png -%%DATADIR%%/data/models/p51/p51d-jw-gunsight.ac -%%DATADIR%%/data/models/p51/p51d-jw-gunsight.png -%%DATADIR%%/data/models/p51/p51d-jw-ignition.ac -%%DATADIR%%/data/models/p51/p51d-jw-ignition.png -%%DATADIR%%/data/models/p51/p51d-jw-large-bezel.png -%%DATADIR%%/data/models/p51/p51d-jw-magcompass.ac -%%DATADIR%%/data/models/p51/p51d-jw-magcompass.png -%%DATADIR%%/data/models/p51/p51d-jw-man.ac -%%DATADIR%%/data/models/p51/p51d-jw-man.png -%%DATADIR%%/data/models/p51/p51d-jw-med-bezel.png -%%DATADIR%%/data/models/p51/p51d-jw-remote.ac -%%DATADIR%%/data/models/p51/p51d-jw-remote.png -%%DATADIR%%/data/models/p51/p51d-jw-remotearrow.png -%%DATADIR%%/data/models/p51/p51d-jw-tach.ac -%%DATADIR%%/data/models/p51/p51d-jw-tach.png -%%DATADIR%%/data/models/p51/p51d-jw-temp.ac -%%DATADIR%%/data/models/p51/p51d-jw-temp.png -%%DATADIR%%/data/models/p51/p51d-jw-throttle.ac -%%DATADIR%%/data/models/p51/p51d-jw-throttle.png -%%DATADIR%%/data/models/p51/p51d-jw-trimknob.png -%%DATADIR%%/data/models/p51/p51d-jw-trimknobaileron.ac -%%DATADIR%%/data/models/p51/p51d-jw-trimknobrudder.ac -%%DATADIR%%/data/models/p51/p51d-jw-trimwheel.png -%%DATADIR%%/data/models/p51/p51d-jw-trimwheelelevator.ac -%%DATADIR%%/data/models/p51/p51d-jw-turn.ac -%%DATADIR%%/data/models/p51/p51d-jw-turn.png -%%DATADIR%%/data/models/p51/p51d-jw-vac.ac -%%DATADIR%%/data/models/p51/p51d-jw-vac.png -%%DATADIR%%/data/models/p51/p51d-jw-vsi.ac -%%DATADIR%%/data/models/p51/p51d-jw-vsi.png -%%DATADIR%%/data/models/p51/p51d-jw.ac.gz -%%DATADIR%%/data/models/p51/transparent-bg.png -%%DATADIR%%/data/models/scenery/GoldenGateBridge.osg.gz -%%DATADIR%%/data/models/scenery/GoldenGateBridge_redLight.png -%%DATADIR%%/data/models/scenery/GoldenGateBridge_road3.png -%%DATADIR%%/data/models/scenery/GoldenGateBridge_struct.png -%%DATADIR%%/data/models/scenery/GoldenGateBridge_struct2.png -%%DATADIR%%/data/models/scenery/GoldenGateBridge_susp.png -%%DATADIR%%/data/models/scenery/GoldenGateBridge_wall.png -%%DATADIR%%/data/models/scenery/GoldenGateBridge_yellowLight.png -%%DATADIR%%/data/models/scenery/alcatraz.ac.gz -%%DATADIR%%/data/models/scenery/alcatraz.jpg -%%DATADIR%%/data/models/sikorsky76/S76livery.png -%%DATADIR%%/data/models/sikorsky76/blur.png -%%DATADIR%%/data/models/sikorsky76/chrome1.png -%%DATADIR%%/data/models/sikorsky76/panel.png -%%DATADIR%%/data/models/sikorsky76/s76c.ac.gz -%%DATADIR%%/data/models/spaceShuttle/NASA_images_permission.txt -%%DATADIR%%/data/models/spaceShuttle/SpaceShuttle.osg.gz -%%DATADIR%%/data/models/spaceShuttle/spstob_1.png -%%DATADIR%%/data/models/spaceShuttle/spstob_2.png -%%DATADIR%%/data/models/spaceShuttle/spstob_3.png -%%DATADIR%%/data/models/spaceShuttle/spstob_4.png -%%DATADIR%%/data/models/spaceShuttle/spstob_e.png -%%DATADIR%%/data/models/spitfire/Pilot_1.png -%%DATADIR%%/data/models/spitfire/Pilot_2.png -%%DATADIR%%/data/models/spitfire/Pilot_2n.png -%%DATADIR%%/data/models/spitfire/UC-up-down.png -%%DATADIR%%/data/models/spitfire/altimeter.ac -%%DATADIR%%/data/models/spitfire/asi.ac -%%DATADIR%%/data/models/spitfire/attitude-bezel.png -%%DATADIR%%/data/models/spitfire/attitude.ac -%%DATADIR%%/data/models/spitfire/attitude.png -%%DATADIR%%/data/models/spitfire/blackout.ac -%%DATADIR%%/data/models/spitfire/boost.ac -%%DATADIR%%/data/models/spitfire/clock.ac -%%DATADIR%%/data/models/spitfire/clock.png -%%DATADIR%%/data/models/spitfire/compass-bezel.png -%%DATADIR%%/data/models/spitfire/compass.ac -%%DATADIR%%/data/models/spitfire/compass.png -%%DATADIR%%/data/models/spitfire/control-stick.ac -%%DATADIR%%/data/models/spitfire/cut-off.ac -%%DATADIR%%/data/models/spitfire/dimmer.ac -%%DATADIR%%/data/models/spitfire/dimmer.png -%%DATADIR%%/data/models/spitfire/engine-start.png -%%DATADIR%%/data/models/spitfire/flaps.ac -%%DATADIR%%/data/models/spitfire/flaps.png -%%DATADIR%%/data/models/spitfire/fuel-cocks.ac -%%DATADIR%%/data/models/spitfire/fuel-pressure.ac -%%DATADIR%%/data/models/spitfire/fuel-pressure.png -%%DATADIR%%/data/models/spitfire/fuel.ac -%%DATADIR%%/data/models/spitfire/fuel.png -%%DATADIR%%/data/models/spitfire/green.png -%%DATADIR%%/data/models/spitfire/hotspotgrid.png -%%DATADIR%%/data/models/spitfire/hunter-alt.png -%%DATADIR%%/data/models/spitfire/hunter-altpress.png -%%DATADIR%%/data/models/spitfire/hunter-turn-face.png -%%DATADIR%%/data/models/spitfire/hunter-turn.png -%%DATADIR%%/data/models/spitfire/hunter-vsi.png -%%DATADIR%%/data/models/spitfire/hunter__a.png -%%DATADIR%%/data/models/spitfire/hurricane-starter.png -%%DATADIR%%/data/models/spitfire/hurricane-turn-a.png -%%DATADIR%%/data/models/spitfire/large-bezel.png -%%DATADIR%%/data/models/spitfire/light-green-flare.ac -%%DATADIR%%/data/models/spitfire/light-red-flare.ac -%%DATADIR%%/data/models/spitfire/light-white-flare.ac -%%DATADIR%%/data/models/spitfire/magcompass.png -%%DATADIR%%/data/models/spitfire/magneto.ac -%%DATADIR%%/data/models/spitfire/magneto.png -%%DATADIR%%/data/models/spitfire/nav-light-switch.ac -%%DATADIR%%/data/models/spitfire/navigation-lights-switch.png -%%DATADIR%%/data/models/spitfire/oil-pressure.ac -%%DATADIR%%/data/models/spitfire/oil-pressure.png -%%DATADIR%%/data/models/spitfire/primer.ac -%%DATADIR%%/data/models/spitfire/puff-new.png -%%DATADIR%%/data/models/spitfire/puff.ac -%%DATADIR%%/data/models/spitfire/puff.png -%%DATADIR%%/data/models/spitfire/red.png -%%DATADIR%%/data/models/spitfire/reflector_gun_sight-01.png -%%DATADIR%%/data/models/spitfire/reflector_gun_sight.png -%%DATADIR%%/data/models/spitfire/rgs-dimmer-switch.ac -%%DATADIR%%/data/models/spitfire/rgs-dimmer-switch.png -%%DATADIR%%/data/models/spitfire/rgs-main-switch.ac -%%DATADIR%%/data/models/spitfire/rgs-main-switch.png -%%DATADIR%%/data/models/spitfire/rgs.ac -%%DATADIR%%/data/models/spitfire/ring-pull.ac -%%DATADIR%%/data/models/spitfire/rpm.ac -%%DATADIR%%/data/models/spitfire/seafire-boost.ac -%%DATADIR%%/data/models/spitfire/seafire-boost.png -%%DATADIR%%/data/models/spitfire/seafire-tx-00.png -%%DATADIR%%/data/models/spitfire/seafire-tx-01.png -%%DATADIR%%/data/models/spitfire/seafire-tx-02.png -%%DATADIR%%/data/models/spitfire/seafire-tx-03.png -%%DATADIR%%/data/models/spitfire/seafire-tx-04.png -%%DATADIR%%/data/models/spitfire/seafire-tx-05.png -%%DATADIR%%/data/models/spitfire/seafireIIIc.osg.gz -%%DATADIR%%/data/models/spitfire/spitfire-asi.png -%%DATADIR%%/data/models/spitfire/spitfire-attitude.png -%%DATADIR%%/data/models/spitfire/spitfire-boost.png -%%DATADIR%%/data/models/spitfire/spitfire-rpm.png -%%DATADIR%%/data/models/spitfire/spitfire-trim.png -%%DATADIR%%/data/models/spitfire/spitfire-triple.png -%%DATADIR%%/data/models/spitfire/spitfire-turn.png -%%DATADIR%%/data/models/spitfire/spitfire-tx-00.png -%%DATADIR%%/data/models/spitfire/spitfire-tx-01.png -%%DATADIR%%/data/models/spitfire/spitfire-tx-02.png -%%DATADIR%%/data/models/spitfire/spitfire-tx-03.png -%%DATADIR%%/data/models/spitfire/spitfire-tx-04.png -%%DATADIR%%/data/models/spitfire/spitfire-tx-05.png -%%DATADIR%%/data/models/spitfire/spitfire-vsi.png -%%DATADIR%%/data/models/spitfire/starter.ac -%%DATADIR%%/data/models/spitfire/switch.png -%%DATADIR%%/data/models/spitfire/throttle.ac -%%DATADIR%%/data/models/spitfire/transparent-bg.png -%%DATADIR%%/data/models/spitfire/trim-knob-rudder.ac -%%DATADIR%%/data/models/spitfire/trim-knob.png -%%DATADIR%%/data/models/spitfire/trim-wheel-elev.ac -%%DATADIR%%/data/models/spitfire/trim.ac -%%DATADIR%%/data/models/spitfire/triple.ac -%%DATADIR%%/data/models/spitfire/turn.ac -%%DATADIR%%/data/models/spitfire/undercarriage-up-down.ac -%%DATADIR%%/data/models/spitfire/vsi.ac -%%DATADIR%%/data/models/spitfire/white.png -%%DATADIR%%/data/models/sr71/Halos.png -%%DATADIR%%/data/models/sr71/RedLight1.ac -%%DATADIR%%/data/models/sr71/colors.png -%%DATADIR%%/data/models/sr71/fire.png -%%DATADIR%%/data/models/sr71/glass.png -%%DATADIR%%/data/models/sr71/grey-blue-flood.png -%%DATADIR%%/data/models/sr71/parachut.png -%%DATADIR%%/data/models/sr71/sr71.osg.gz -%%DATADIR%%/data/models/sr71/wheels.png -%%DATADIR%%/data/models/su37/SU-37-Intake-Screen.png -%%DATADIR%%/data/models/su37/SU-37-Petal.png -%%DATADIR%%/data/models/su37/SU-37-reheat.png -%%DATADIR%%/data/models/su37/SU-37-top.png -%%DATADIR%%/data/models/su37/Trajectory-Marker.ac -%%DATADIR%%/data/models/su37/su37.osg.gz -%%DATADIR%%/data/ossim.kwl -%%DATADIR%%/data/palomino.conf -%%DATADIR%%/data/physics_a4.conf -%%DATADIR%%/data/physics_corsair.conf -%%DATADIR%%/data/physics_f14.conf -%%DATADIR%%/data/physics_f15.conf -%%DATADIR%%/data/physics_f16.conf -%%DATADIR%%/data/physics_f18.conf -%%DATADIR%%/data/physics_f82.conf -%%DATADIR%%/data/physics_f86.conf -%%DATADIR%%/data/physics_mirage2000.conf -%%DATADIR%%/data/physics_p51.conf -%%DATADIR%%/data/physics_sikorsky.conf -%%DATADIR%%/data/physics_spaceShuttle.conf -%%DATADIR%%/data/physics_spitfire.conf -%%DATADIR%%/data/physics_sr71.conf -%%DATADIR%%/data/physics_su37.conf -%%DATADIR%%/data/replays/replayTakeoffFrontSlot.dat.gz -%%DATADIR%%/data/replays/replayTakeoffRearSlot.dat.gz -%%DATADIR%%/data/shaders/aircraft_frag.glsl -%%DATADIR%%/data/shaders/aircraft_highSpecular_frag.glsl -%%DATADIR%%/data/shaders/aircraft_highSpecular_vert.glsl -%%DATADIR%%/data/shaders/aircraft_lowSpecular_frag.glsl -%%DATADIR%%/data/shaders/aircraft_lowSpecular_vert.glsl -%%DATADIR%%/data/shaders/aircraft_sr71_frag.glsl -%%DATADIR%%/data/shaders/aircraft_sr71_vert.glsl -%%DATADIR%%/data/shaders/aircraft_vert.glsl -%%DATADIR%%/data/shaders/color_frag.glsl -%%DATADIR%%/data/shaders/color_vert.glsl -%%DATADIR%%/data/shaders/default_frag.glsl -%%DATADIR%%/data/shaders/default_vert.glsl -%%DATADIR%%/data/shaders/inc_ComputeDiffuseSpecular_vert.glsl -%%DATADIR%%/data/shaders/inc_aircraft_frag.glsl -%%DATADIR%%/data/shaders/inc_brightness_frag.glsl -%%DATADIR%%/data/shaders/inc_color_vert.glsl -%%DATADIR%%/data/shaders/inc_fog_frag.glsl -%%DATADIR%%/data/shaders/inc_fog_vert.glsl -%%DATADIR%%/data/shaders/inc_frag.glsl -%%DATADIR%%/data/shaders/inc_shadow_frag.glsl -%%DATADIR%%/data/shaders/inc_shadow_vert.glsl -%%DATADIR%%/data/shaders/inc_vert.glsl -%%DATADIR%%/data/shaders/module.txt -%%DATADIR%%/data/shaders/nop_frag.glsl -%%DATADIR%%/data/shaders/nop_vert.glsl -%%DATADIR%%/data/shaders/reference/inc_DirectionalLight_vert.glsl -%%DATADIR%%/data/shaders/reference/inc_PointLight_vert.glsl -%%DATADIR%%/data/shaders/reference/inc_SpotLight_vert.glsl -%%DATADIR%%/data/shaders/reference/inc_color_vert.glsl -%%DATADIR%%/data/sounds/README.txt -%%DATADIR%%/data/sounds/beep1.wav.gz -%%DATADIR%%/data/sounds/beep2.wav.gz -%%DATADIR%%/data/sounds/crash.wav.gz -%%DATADIR%%/data/sounds/gear.wav.gz -%%DATADIR%%/data/sounds/hit.wav.gz -%%DATADIR%%/data/sounds/jet.wav.gz -%%DATADIR%%/data/sounds/jet_whine.wav.gz -%%DATADIR%%/data/sounds/laser.wav.gz -%%DATADIR%%/data/sounds/missile.wav.gz -%%DATADIR%%/data/sounds/piston.wav.gz -%%DATADIR%%/data/sounds/piston_cough.wav.gz -%%DATADIR%%/data/sounds/rotor.wav.gz -%%DATADIR%%/data/sounds/rumble.wav.gz -%%DATADIR%%/data/sounds/stall.wav.gz -%%DATADIR%%/data/sounds/thunder.wav.gz -%%DATADIR%%/data/sounds/turboprop1.wav.gz -%%DATADIR%%/data/terrain/GoldenGate.osga -%%DATADIR%%/data/textures/README.txt -%%DATADIR%%/data/textures/cloud0.png -%%DATADIR%%/data/textures/cloud1.png -%%DATADIR%%/data/textures/cloud2.png -%%DATADIR%%/data/textures/cloud3.png -%%DATADIR%%/data/textures/cloudRain0.png -%%DATADIR%%/data/textures/moon.png -%%DATADIR%%/data/textures/smoke.png -%%DATADIR%%/scripts/actors.lua -%%DATADIR%%/scripts/cmd.lua -%%DATADIR%%/scripts/defs.lua -%%DATADIR%%/scripts/events.lua -%%DATADIR%%/scripts/game.lua -%%DATADIR%%/scripts/gfx.lua -%%DATADIR%%/scripts/hud.lua -%%DATADIR%%/scripts/joystick.lua -%%DATADIR%%/scripts/keyboard.lua -%%DATADIR%%/scripts/keyboard_defs.lua -%%DATADIR%%/scripts/lib.lua -%%DATADIR%%/scripts/manipulator_mode.lua -%%DATADIR%%/scripts/mission.lua -%%DATADIR%%/scripts/mission_carrier.lua -%%DATADIR%%/scripts/mission_ossim.lua -%%DATADIR%%/scripts/module.txt -%%DATADIR%%/scripts/module_lua_coding.txt -%%DATADIR%%/scripts/replay.lua -%%DATADIR%%/scripts/scene.lua -%%DATADIR%%/scripts/scene_GoldenGate.lua -%%DATADIR%%/scripts/sim_generic.lua -%%DATADIR%%/scripts/sim_specific.lua -%%DATADIR%%/scripts/sound.lua -%%DATADIR%%/scripts/startup.lua -%%DATADIR%%/scripts/tick.lua -%%DATADIR%%/scripts/timer.lua -%%DATADIR%%/scripts/views.lua -%%DATADIR%%/scripts/weapons.lua -share/pixmaps/palomino.png diff --git a/games/veloren-weekly/Makefile b/games/veloren-weekly/Makefile index 4b3642d8d259..c7c4e2e226c3 100644 --- a/games/veloren-weekly/Makefile +++ b/games/veloren-weekly/Makefile @@ -1,5 +1,5 @@ PORTNAME= veloren -PORTVERSION= s20250903 +PORTVERSION= s20250910 CATEGORIES= games wayland PKGNAMESUFFIX= -weekly @@ -24,7 +24,7 @@ RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-pl USES= cargo xorg USE_XORG= xcb USE_GITLAB= yes -GL_TAGNAME= v0.17.0-1018-g15f3d6725e # git describe --match='v[0-9]*' weekly +GL_TAGNAME= v0.17.0-1107-g188d737f06 # git describe --match='v[0-9]*' weekly CARGO_ENV= VELOREN_USERDATA_STRATEGY=system SHADERC_LIB_DIR="${LOCALBASE}/lib" PLIST_FILES= bin/${PORTNAME}-server-cli \ bin/${PORTNAME}-voxygen \ @@ -43,10 +43,6 @@ CARGO_ENV+= RUSTC_BOOTSTRAP=1 # XXX https://github.com/rust-lang/cargo/issues/4101 CARGO_INSTALL_PATH= server-cli voxygen -# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289016 -CARGO_BUILDDEP= no -BUILD_DEPENDS+= rust188>0:lang/rust188 - post-patch: # .git/ directory is missing, so don't abort if git binary is also missing @${REINPLACE_CMD} -e 's/"git"/"${TRUE}"/' \ diff --git a/games/veloren-weekly/Makefile.crates b/games/veloren-weekly/Makefile.crates index 9c6510d82c7c..f757af1a098e 100644 --- a/games/veloren-weekly/Makefile.crates +++ b/games/veloren-weekly/Makefile.crates @@ -1,7 +1,8 @@ -CARGO_CRATES= ab_glyph-0.2.29 \ - ab_glyph_rasterizer-0.1.8 \ +CARGO_CRATES= ab_glyph-0.2.31 \ + ab_glyph_rasterizer-0.1.10 \ addr2line-0.24.2 \ - adler2-2.0.0 \ + addr2line-0.25.0 \ + adler2-2.0.1 \ adler32-1.2.0 \ ahash-0.4.8 \ ahash-0.8.12 \ @@ -12,21 +13,20 @@ CARGO_CRATES= ab_glyph-0.2.29 \ ambient-authority-0.0.2 \ android-activity-0.6.0 \ android-properties-0.2.2 \ - android-tzdata-0.1.1 \ android_system_properties-0.1.5 \ anes-0.1.6 \ - anstream-0.6.18 \ - anstyle-1.0.10 \ - anstyle-parse-0.2.6 \ - anstyle-query-1.1.2 \ - anstyle-wincon-3.0.7 \ - anyhow-1.0.98 \ + anstream-0.6.20 \ + anstyle-1.0.11 \ + anstyle-parse-0.2.7 \ + anstyle-query-1.1.4 \ + anstyle-wincon-3.0.10 \ + anyhow-1.0.99 \ anymap2-0.13.0 \ app_dirs2-2.5.5 \ approx-0.3.2 \ approx-0.4.0 \ approx-0.5.1 \ - arbitrary-1.4.1 \ + arbitrary-1.4.2 \ arr_macro-0.2.1 \ arr_macro_impl-0.2.1 \ arrayref-0.3.9 \ @@ -34,35 +34,36 @@ CARGO_CRATES= ab_glyph-0.2.29 \ as-raw-xcb-connection-1.0.1 \ ascii-1.1.0 \ ash-0.38.0+1.3.281 \ - assets_manager-0.12.5 \ - async-channel-2.3.1 \ - async-trait-0.1.88 \ + assets_manager-0.13.2 \ + async-channel-2.5.0 \ + async-trait-0.1.89 \ atomic-arena-0.1.2 \ atomic-waker-1.1.2 \ atomic_refcell-0.1.13 \ atomicwrites-0.4.4 \ - autocfg-1.4.0 \ + autocfg-1.5.0 \ axum-0.8.4 \ axum-core-0.5.2 \ az-1.2.1 \ - backtrace-0.3.74 \ + backtrace-0.3.75 \ base64-0.21.7 \ base64-0.22.1 \ - bincode-1.3.3 \ - bindgen-0.70.1 \ + bincode-2.0.1 \ + bincode_derive-2.0.1 \ + bindgen-0.72.1 \ bit-set-0.8.0 \ bit-vec-0.8.0 \ bitflags-1.3.2 \ - bitflags-2.9.0 \ + bitflags-2.9.4 \ bitvec-1.0.1 \ blake2b_simd-1.0.3 \ block-0.1.6 \ block-buffer-0.10.4 \ block2-0.5.1 \ block2-0.6.1 \ - bumpalo-3.17.0 \ - bytemuck-1.23.0 \ - bytemuck_derive-1.9.3 \ + bumpalo-3.19.0 \ + bytemuck-1.23.2 \ + bytemuck_derive-1.10.1 \ byteorder-1.5.0 \ byteorder-lite-0.1.0 \ bytes-1.10.1 \ @@ -77,66 +78,69 @@ CARGO_CRATES= ab_glyph-0.2.29 \ cap-time-ext-3.4.4 \ cassowary-0.3.0 \ cast-0.3.0 \ - castaway-0.2.3 \ - cc-1.2.21 \ + castaway-0.2.4 \ + cc-1.2.36 \ censor-0.3.0 \ cesu8-1.1.0 \ cexpr-0.6.0 \ cfg-if-0.1.10 \ - cfg-if-1.0.0 \ + cfg-if-1.0.3 \ cfg_aliases-0.2.1 \ - chrono-0.4.41 \ - chrono-tz-0.10.3 \ - chrono-tz-build-0.4.1 \ - chumsky-0.9.3 \ + chrono-0.4.42 \ + chrono-tz-0.10.4 \ + chumsky-0.10.1 \ ciborium-0.2.2 \ ciborium-io-0.2.2 \ ciborium-ll-0.2.2 \ clang-sys-1.8.1 \ - clap-4.5.37 \ - clap_builder-4.5.37 \ - clap_derive-4.5.32 \ - clap_lex-0.7.4 \ + clap-4.5.47 \ + clap_builder-4.5.47 \ + clap_derive-4.5.47 \ + clap_lex-0.7.5 \ clipboard-win-3.1.1 \ - clipboard-win-5.4.0 \ + clipboard-win-5.4.1 \ clipboard_macos-0.1.1 \ clipboard_wayland-0.2.2 \ clipboard_x11-0.4.2 \ cmake-0.1.54 \ - cobs-0.2.3 \ + cobs-0.3.0 \ codespan-reporting-0.12.0 \ - colorchoice-1.0.3 \ + colorchoice-1.0.4 \ combine-4.6.7 \ compact_str-0.8.1 \ concurrent-queue-2.5.0 \ - console-0.15.11 \ + console-0.16.1 \ console_error_panic_hook-0.1.7 \ constant_time_eq-0.3.1 \ + convert_case-0.7.1 \ copypasta-0.8.2 \ core-foundation-0.9.4 \ - core-foundation-0.10.0 \ + core-foundation-0.10.1 \ core-foundation-sys-0.8.7 \ core-graphics-0.23.2 \ core-graphics-types-0.1.3 \ core-graphics-types-0.2.0 \ coreaudio-rs-0.11.3 \ - coreaudio-sys-0.2.16 \ + coreaudio-sys-0.2.17 \ cpal-0.15.3 \ cpp_demangle-0.4.4 \ cpufeatures-0.2.17 \ - cranelift-bforest-0.116.1 \ - cranelift-bitset-0.116.1 \ - cranelift-codegen-0.116.1 \ - cranelift-codegen-meta-0.116.1 \ - cranelift-codegen-shared-0.116.1 \ - cranelift-control-0.116.1 \ - cranelift-entity-0.116.1 \ - cranelift-frontend-0.116.1 \ - cranelift-isle-0.116.1 \ - cranelift-native-0.116.1 \ - crc32fast-1.4.2 \ - criterion-0.5.1 \ - criterion-plot-0.5.0 \ + cranelift-assembler-x64-0.123.2 \ + cranelift-assembler-x64-meta-0.123.2 \ + cranelift-bforest-0.123.2 \ + cranelift-bitset-0.123.2 \ + cranelift-codegen-0.123.2 \ + cranelift-codegen-meta-0.123.2 \ + cranelift-codegen-shared-0.123.2 \ + cranelift-control-0.123.2 \ + cranelift-entity-0.123.2 \ + cranelift-frontend-0.123.2 \ + cranelift-isle-0.123.2 \ + cranelift-native-0.123.2 \ + cranelift-srcgen-0.123.2 \ + crc32fast-1.5.0 \ + criterion-0.7.0 \ + criterion-plot-0.6.0 \ critical-section-1.2.0 \ crossbeam-channel-0.5.15 \ crossbeam-deque-0.7.4 \ @@ -147,29 +151,33 @@ CARGO_CRATES= ab_glyph-0.2.29 \ crossbeam-utils-0.7.2 \ crossbeam-utils-0.8.21 \ crossterm-0.28.1 \ + crossterm-0.29.0 \ crossterm_winapi-0.9.1 \ - crunchy-0.2.3 \ + crunchy-0.2.4 \ crypto-common-0.1.6 \ csv-1.3.1 \ csv-core-0.1.12 \ culpa-1.0.2 \ culpa-macros-1.0.2 \ - cursor-icon-1.1.0 \ + cursor-icon-1.2.0 \ daggy-0.5.0 \ darling-0.20.11 \ + darling-0.21.3 \ darling_core-0.20.11 \ + darling_core-0.21.3 \ darling_macro-0.20.11 \ + darling_macro-0.21.3 \ dasp_sample-0.11.0 \ data-encoding-2.9.0 \ debugid-0.8.0 \ deflate-1.0.0 \ delaunator-1.0.2 \ - deranged-0.4.0 \ + deranged-0.5.3 \ + derive_more-2.0.1 \ + derive_more-impl-2.0.1 \ digest-0.10.7 \ directories-next-2.0.0 \ - dirs-4.0.0 \ dirs-6.0.0 \ - dirs-sys-0.3.7 \ dirs-sys-0.5.0 \ dirs-sys-next-0.1.2 \ discord-sdk-0.4.0 \ @@ -184,14 +192,15 @@ CARGO_CRATES= ab_glyph-0.2.29 \ downcast-rs-1.2.1 \ dpi-0.1.2 \ drop_guard-0.3.0 \ - ecolor-0.32.1 \ - egui-0.32.1 \ + dyn-clone-1.0.20 \ + ecolor-0.32.2 \ + egui-0.32.2 \ egui_plot-0.33.0 \ egui_wgpu_backend-0.35.0 \ egui_winit_platform-0.27.0 \ either-1.15.0 \ elapsed-0.1.2 \ - emath-0.32.1 \ + emath-0.32.2 \ embedded-io-0.4.0 \ embedded-io-0.6.1 \ encode_unicode-1.0.0 \ @@ -200,41 +209,44 @@ CARGO_CRATES= ab_glyph-0.2.29 \ enum-as-inner-0.6.1 \ enum-map-2.7.3 \ enum-map-derive-0.17.0 \ - enumset-1.1.6 \ - enumset_derive-0.11.0 \ + enumset-1.1.10 \ + enumset_derive-0.14.0 \ env_home-0.1.0 \ - epaint-0.32.1 \ - epaint_default_fonts-0.32.1 \ + epaint-0.32.2 \ + epaint_default_fonts-0.32.2 \ equivalent-1.0.2 \ - errno-0.3.11 \ + errno-0.3.14 \ error-chain-0.12.4 \ - error-code-3.3.1 \ + error-code-3.3.2 \ euc-0.5.3 \ euclid-0.22.11 \ - event-listener-5.4.0 \ + event-listener-5.4.1 \ event-listener-strategy-0.5.4 \ fallible-iterator-0.3.0 \ fallible-streaming-iterator-0.1.9 \ + fastbloom-0.14.0 \ fastrand-2.3.0 \ fd-lock-4.0.4 \ fdeflate-0.3.7 \ - filetime-0.2.25 \ + filetime-0.2.26 \ + find-msvc-tools-0.1.1 \ find_folder-0.3.0 \ fixed-1.29.0 \ fixedbitset-0.1.9 \ fixedbitset-0.5.7 \ - flate2-1.1.1 \ + flate2-1.1.2 \ float-cmp-0.10.0 \ - fluent-0.16.1 \ - fluent-bundle-0.15.3 \ + fluent-0.17.0 \ + fluent-bundle-0.16.0 \ fluent-langneg-0.13.0 \ - fluent-syntax-0.11.1 \ + fluent-syntax-0.12.0 \ fnv-1.0.7 \ foldhash-0.1.5 \ + foldhash-0.2.0 \ foreign-types-0.5.0 \ foreign-types-macros-0.2.3 \ foreign-types-shared-0.3.1 \ - form_urlencoded-1.2.1 \ + form_urlencoded-1.2.2 \ formatx-0.2.4 \ fs-set-times-0.20.3 \ fsevent-sys-4.1.0 \ @@ -251,18 +263,19 @@ CARGO_CRATES= ab_glyph-0.2.29 \ fxhash-0.2.1 \ fxprof-processed-profile-0.6.0 \ generator-0.7.5 \ - generator-0.8.4 \ + generator-0.8.7 \ generic-array-0.14.7 \ gethostname-0.2.3 \ - gethostname-0.4.3 \ + gethostname-1.0.2 \ getrandom-0.2.16 \ - getrandom-0.3.2 \ + getrandom-0.3.3 \ gilrs-0.10.2 \ gilrs-core-0.5.7 \ gimli-0.31.1 \ + gimli-0.32.2 \ gl_generator-0.14.0 \ - glam-0.30.3 \ - glob-0.3.2 \ + glam-0.30.5 \ + glob-0.3.3 \ glow-0.16.0 \ glutin_wgl_sys-0.6.1 \ glyph_brush-0.7.12 \ @@ -280,12 +293,12 @@ CARGO_CRATES= ab_glyph-0.2.29 \ hashbrown-0.12.3 \ hashbrown-0.13.2 \ hashbrown-0.14.5 \ - hashbrown-0.15.3 \ + hashbrown-0.15.5 \ + hashbrown-0.16.0 \ hashlink-0.9.1 \ heapless-0.8.0 \ heck-0.5.0 \ - hermit-abi-0.4.0 \ - hermit-abi-0.5.0 \ + hermit-abi-0.5.2 \ hex-0.4.3 \ hexf-parse-0.2.1 \ hibitset-0.6.4 \ @@ -298,50 +311,45 @@ CARGO_CRATES= ab_glyph-0.2.29 \ httparse-1.10.1 \ httpdate-1.0.3 \ humantime-2.2.0 \ - hyper-1.6.0 \ - hyper-rustls-0.27.5 \ - hyper-util-0.1.11 \ + hyper-1.7.0 \ + hyper-rustls-0.27.7 \ + hyper-util-0.1.16 \ iana-time-zone-0.1.63 \ iana-time-zone-haiku-0.1.2 \ - icu_collections-1.5.0 \ - icu_locid-1.5.0 \ - icu_locid_transform-1.5.0 \ - icu_locid_transform_data-1.5.1 \ - icu_normalizer-1.5.0 \ - icu_normalizer_data-1.5.1 \ - icu_properties-1.5.1 \ - icu_properties_data-1.5.1 \ - icu_provider-1.5.0 \ - icu_provider_macros-1.5.0 \ + icu_collections-2.0.0 \ + icu_locale_core-2.0.0 \ + icu_normalizer-2.0.0 \ + icu_normalizer_data-2.0.0 \ + icu_properties-2.0.1 \ + icu_properties_data-2.0.1 \ + icu_provider-2.0.0 \ id-arena-2.2.1 \ ident_case-1.0.1 \ - idna-1.0.3 \ - idna_adapter-1.2.0 \ - image-0.25.6 \ + idna-1.1.0 \ + idna_adapter-1.2.1 \ + image-0.25.8 \ indexmap-1.9.3 \ - indexmap-2.9.0 \ - indicatif-0.17.11 \ + indexmap-2.11.1 \ + indicatif-0.18.0 \ indoc-2.0.6 \ init_with-1.1.0 \ inline_tweak-1.2.2 \ inline_tweak_derive-4.0.0 \ - inotify-0.9.6 \ inotify-0.11.0 \ inotify-sys-0.1.5 \ - instability-0.3.7 \ + instability-0.3.9 \ instant-0.1.13 \ - intl-memoizer-0.5.2 \ + intl-memoizer-0.5.3 \ intl_pluralrules-7.0.2 \ io-extras-0.18.4 \ io-kit-sys-0.3.0 \ io-lifetimes-2.0.4 \ + io-uring-0.7.10 \ ipconfig-0.3.2 \ ipnet-2.11.0 \ is-docker-0.2.0 \ - is-terminal-0.4.16 \ is-wsl-0.4.0 \ is_terminal_polyfill-1.70.1 \ - itertools-0.10.5 \ itertools-0.12.1 \ itertools-0.13.0 \ itertools-0.14.0 \ @@ -350,47 +358,48 @@ CARGO_CRATES= ab_glyph-0.2.29 \ ittapi-sys-0.4.0 \ jni-0.21.1 \ jni-sys-0.3.0 \ - jobserver-0.1.33 \ - js-sys-0.3.77 \ + jobserver-0.1.34 \ + js-sys-0.3.78 \ khronos-egl-6.0.0 \ khronos_api-3.1.0 \ kiddo-4.2.0 \ - kqueue-1.0.8 \ + kqueue-1.1.1 \ kqueue-sys-1.0.4 \ lazy-bytes-cast-5.0.1 \ lazy_static-1.5.0 \ leb128-0.2.5 \ leb128fmt-0.1.0 \ levenshtein-1.0.5 \ - libc-0.2.172 \ - libloading-0.8.6 \ - libm-0.2.14 \ + libc-0.2.175 \ + libloading-0.8.8 \ + libm-0.2.15 \ libmimalloc-sys-0.1.39 \ - libredox-0.1.3 \ + libredox-0.1.9 \ libsqlite3-sys-0.28.0 \ libudev-sys-0.1.4 \ linked-hash-map-0.5.6 \ linux-raw-sys-0.4.15 \ - linux-raw-sys-0.9.4 \ - litemap-0.7.5 \ + linux-raw-sys-0.11.0 \ + litemap-0.8.0 \ litrs-0.4.2 \ - lock_api-0.4.12 \ - log-0.4.27 \ + lock_api-0.4.13 \ + log-0.4.28 \ loom-0.7.2 \ lru-0.12.5 \ + lru-slab-0.1.2 \ lz-fear-0.2.0 \ - mach2-0.4.2 \ + mach2-0.4.3 \ macro_rules_attribute-0.1.3 \ macro_rules_attribute-proc_macro-0.1.3 \ malloc_buf-0.0.6 \ - matchers-0.1.0 \ + matchers-0.2.0 \ matchit-0.8.4 \ maybe-owned-0.3.4 \ maybe-uninit-2.0.0 \ - memchr-2.7.4 \ - memfd-0.6.4 \ + memchr-2.7.5 \ + memfd-0.6.5 \ memmap2-0.5.10 \ - memmap2-0.9.5 \ + memmap2-0.9.8 \ memoffset-0.5.6 \ memoffset-0.6.5 \ metal-0.32.0 \ @@ -398,11 +407,11 @@ CARGO_CRATES= ab_glyph-0.2.29 \ mime-0.3.17 \ minifb-0.28.0 \ minimal-lexical-0.2.1 \ - miniz_oxide-0.8.8 \ + miniz_oxide-0.8.9 \ mint-0.5.9 \ - mio-0.8.11 \ - mio-1.0.3 \ + mio-1.0.4 \ moka-0.12.10 \ + moxcms-0.7.5 \ mumble-link-0.2.0 \ naga-26.0.0 \ native-dialog-0.9.0 \ @@ -414,17 +423,16 @@ CARGO_CRATES= ab_glyph-0.2.29 \ nibble_vec-0.1.0 \ nix-0.24.3 \ nix-0.26.4 \ - nix-0.29.0 \ + nix-0.30.1 \ nohash-hasher-0.2.0 \ noise-0.9.0 \ nom-7.1.3 \ nom-8.0.0 \ - notify-6.1.1 \ - notify-8.0.0 \ + notify-8.2.0 \ notify-types-2.0.0 \ nougat-0.2.4 \ nougat-proc_macros-0.2.4 \ - nu-ansi-term-0.46.0 \ + nu-ansi-term-0.50.1 \ num-0.2.1 \ num-0.4.3 \ num-bigint-0.2.6 \ @@ -439,14 +447,13 @@ CARGO_CRATES= ab_glyph-0.2.29 \ num-rational-0.4.2 \ num-traits-0.2.19 \ num_cpus-1.17.0 \ - num_enum-0.7.3 \ - num_enum_derive-0.7.3 \ - number_prefix-0.4.0 \ + num_enum-0.7.4 \ + num_enum_derive-0.7.4 \ objc-0.2.7 \ objc-foundation-0.1.1 \ objc-sys-0.3.5 \ objc2-0.5.2 \ - objc2-0.6.1 \ + objc2-0.6.2 \ objc2-app-kit-0.2.2 \ objc2-app-kit-0.3.1 \ objc2-cloud-kit-0.2.2 \ @@ -474,9 +481,11 @@ CARGO_CRATES= ab_glyph-0.2.29 \ objc2-user-notifications-0.2.2 \ objc_id-0.1.1 \ object-0.36.7 \ + object-0.37.3 \ oboe-0.6.1 \ oboe-sys-0.6.1 \ once_cell-1.21.3 \ + once_cell_polyfill-1.70.1 \ oorandom-11.1.5 \ open-5.3.2 \ openssl-probe-0.1.6 \ @@ -485,22 +494,18 @@ CARGO_CRATES= ab_glyph-0.2.29 \ ordered-float-1.1.1 \ ordered-float-4.6.0 \ ordered-float-5.0.0 \ - overload-0.1.1 \ - owned_ttf_parser-0.25.0 \ + owned_ttf_parser-0.25.1 \ parking-2.2.1 \ - parking_lot-0.12.3 \ - parking_lot_core-0.9.10 \ - parse-zoneinfo-0.3.1 \ + parking_lot-0.12.4 \ + parking_lot_core-0.9.11 \ paste-1.0.15 \ pathdiff-0.2.3 \ pem-3.0.5 \ - percent-encoding-2.3.1 \ + percent-encoding-2.3.2 \ petgraph-0.4.13 \ - petgraph-0.8.1 \ - phf-0.11.3 \ - phf_codegen-0.11.3 \ - phf_generator-0.11.3 \ - phf_shared-0.11.3 \ + petgraph-0.8.2 \ + phf-0.12.1 \ + phf_shared-0.12.1 \ pin-project-1.1.10 \ pin-project-internal-1.1.10 \ pin-project-lite-0.2.16 \ @@ -510,10 +515,12 @@ CARGO_CRATES= ab_glyph-0.2.29 \ pistoncore-input-0.24.0 \ pkg-config-0.3.32 \ png-0.17.16 \ - polling-3.7.4 \ - portable-atomic-1.11.0 \ + png-0.18.0 \ + polling-3.10.0 \ + portable-atomic-1.11.1 \ portable-atomic-util-0.2.4 \ - postcard-1.1.1 \ + postcard-1.1.3 \ + potential_utf-0.1.3 \ powerfmt-0.2.0 \ pp-rs-0.2.1 \ ppv-lite86-0.2.21 \ @@ -522,26 +529,28 @@ CARGO_CRATES= ab_glyph-0.2.29 \ proc-macro-hack-0.5.20+deprecated \ proc-macro-nested-0.1.7 \ proc-macro2-0.4.30 \ - proc-macro2-1.0.95 \ - profiling-1.0.16 \ - profiling-procmacros-1.0.16 \ + proc-macro2-1.0.101 \ + profiling-1.0.17 \ + profiling-procmacros-1.0.17 \ prometheus-0.14.0 \ prometheus-hyper-0.2.1 \ protocol-3.4.0 \ protocol-derive-3.4.0 \ psm-0.1.26 \ - pulley-interpreter-29.0.1 \ + pulley-interpreter-36.0.2 \ + pulley-macros-36.0.2 \ + pxfm-0.1.23 \ quick-xml-0.37.5 \ - quinn-0.11.7 \ - quinn-proto-0.11.11 \ - quinn-udp-0.5.12 \ + quinn-0.11.9 \ + quinn-proto-0.11.13 \ + quinn-udp-0.5.14 \ quote-0.6.13 \ quote-1.0.40 \ - r-efi-5.2.0 \ + r-efi-5.3.0 \ radium-0.7.0 \ radix_trie-0.2.1 \ rand-0.8.5 \ - rand-0.9.1 \ + rand-0.9.2 \ rand_chacha-0.3.1 \ rand_chacha-0.9.0 \ rand_core-0.6.4 \ @@ -550,66 +559,69 @@ CARGO_CRATES= ab_glyph-0.2.29 \ range-alloc-0.1.4 \ ratatui-0.29.0 \ raw-window-handle-0.6.2 \ - rayon-1.10.0 \ - rayon-core-1.12.1 \ - rcgen-0.13.2 \ + rayon-1.11.0 \ + rayon-core-1.13.0 \ + rcgen-0.14.3 \ redox_syscall-0.4.1 \ - redox_syscall-0.5.12 \ + redox_syscall-0.5.17 \ redox_users-0.4.6 \ - redox_users-0.5.0 \ + redox_users-0.5.2 \ + ref-cast-1.0.24 \ + ref-cast-impl-1.0.24 \ refinery-0.8.16 \ refinery-core-0.8.16 \ refinery-macros-0.8.16 \ - regalloc2-0.11.2 \ - regex-1.11.1 \ - regex-automata-0.1.10 \ - regex-automata-0.4.9 \ - regex-syntax-0.6.29 \ - regex-syntax-0.8.5 \ + regalloc2-0.12.2 \ + regex-1.11.2 \ + regex-automata-0.3.9 \ + regex-automata-0.4.10 \ + regex-syntax-0.7.5 \ + regex-syntax-0.8.6 \ renderdoc-sys-1.1.0 \ - resolv-conf-0.7.3 \ + resolv-conf-0.7.4 \ ring-0.17.14 \ rmp-0.8.14 \ rmp-serde-1.3.0 \ robust-0.2.3 \ - ron-0.8.1 \ + ron-0.11.0 \ roots-0.0.8 \ roxmltree-0.14.1 \ rstar-0.12.2 \ rtrb-0.3.2 \ rusqlite-0.31.0 \ rust-argon2-2.1.0 \ - rustc-demangle-0.1.24 \ + rustc-demangle-0.1.26 \ rustc-hash-1.1.0 \ rustc-hash-2.1.1 \ rustc_version-0.2.3 \ rustc_version-0.4.1 \ rustix-0.38.44 \ - rustix-1.0.7 \ + rustix-1.1.2 \ rustix-linux-procfs-0.1.1 \ - rustls-0.23.26 \ + rustls-0.23.31 \ rustls-native-certs-0.8.1 \ rustls-pemfile-2.2.0 \ - rustls-pki-types-1.11.0 \ - rustls-platform-verifier-0.5.2 \ + rustls-pki-types-1.12.0 \ + rustls-platform-verifier-0.6.1 \ rustls-platform-verifier-android-0.1.1 \ - rustls-webpki-0.103.1 \ + rustls-webpki-0.103.4 \ rusttype-0.7.9 \ rusttype-0.8.3 \ - rustversion-1.0.20 \ - rustyline-15.0.0 \ + rustversion-1.0.22 \ + rustyline-17.0.1 \ ryu-1.0.20 \ same-file-1.0.6 \ - schannel-0.1.27 \ + schannel-0.1.28 \ + schemars-0.9.0 \ + schemars-1.0.4 \ schnellru-0.2.4 \ scoped-tls-1.0.1 \ scopeguard-1.2.0 \ sctk-adwaita-0.10.1 \ sdl2-0.35.2 \ sdl2-sys-0.35.2 \ - security-framework-3.2.0 \ - security-framework-sys-2.14.0 \ - self_cell-0.10.3 \ + security-framework-3.4.0 \ + security-framework-sys-2.15.0 \ self_cell-1.2.0 \ semver-0.9.0 \ semver-1.0.26 \ @@ -617,42 +629,42 @@ CARGO_CRATES= ab_glyph-0.2.29 \ send_wrapper-0.6.0 \ serde-1.0.219 \ serde_derive-1.0.219 \ - serde_json-1.0.140 \ + serde_json-1.0.143 \ serde_path_to_error-0.1.17 \ serde_repr-0.1.20 \ - serde_spanned-0.6.8 \ + serde_spanned-0.6.9 \ + serde_spanned-1.0.0 \ serde_urlencoded-0.7.1 \ - serde_with-3.12.0 \ - serde_with_macros-3.12.0 \ + serde_with-3.14.0 \ + serde_with_macros-3.14.0 \ sha2-0.10.9 \ shaderc-0.8.3 \ shaderc-sys-0.8.3 \ sharded-slab-0.1.7 \ shell-words-1.1.0 \ - shellexpand-2.1.2 \ shellexpand-3.1.1 \ shlex-1.3.0 \ shred-0.16.1 \ shred-derive-0.7.0 \ shrev-1.1.3 \ - signal-hook-0.3.17 \ + signal-hook-0.3.18 \ signal-hook-mio-0.2.4 \ - signal-hook-registry-1.4.5 \ + signal-hook-registry-1.4.6 \ simd-adler32-0.3.7 \ siphasher-1.0.1 \ - slab-0.4.9 \ + slab-0.4.11 \ slotmap-1.0.7 \ - smallvec-1.15.0 \ + smallvec-1.15.1 \ smithay-client-toolkit-0.16.1 \ smithay-client-toolkit-0.19.2 \ smithay-clipboard-0.6.6 \ smithay-clipboard-0.7.2 \ smol_str-0.2.2 \ - socket2-0.5.9 \ - sorted-vec-0.8.6 \ - spin_sleep-1.3.1 \ + socket2-0.5.10 \ + socket2-0.6.0 \ + sorted-vec-0.8.10 \ + spin_sleep-1.3.3 \ spirv-0.3.0+sdk-1.3.268.0 \ - sptr-0.3.2 \ stable_deref_trait-1.2.0 \ stacker-0.1.21 \ static_assertions-1.1.0 \ @@ -660,7 +672,9 @@ CARGO_CRATES= ab_glyph-0.2.29 \ strict-num-0.1.1 \ strsim-0.11.1 \ strum-0.26.3 \ + strum-0.27.2 \ strum_macros-0.26.4 \ + strum_macros-0.27.2 \ subtle-2.6.1 \ sum_type-0.2.0 \ svg_fmt-0.4.5 \ @@ -672,68 +686,71 @@ CARGO_CRATES= ab_glyph-0.2.29 \ symphonia-utils-xiph-0.5.4 \ syn-0.15.44 \ syn-1.0.109 \ - syn-2.0.101 \ - sync_file-0.2.9 \ + syn-2.0.106 \ + sync_file-0.3.0 \ sync_wrapper-1.0.2 \ synstructure-0.13.2 \ system-interface-0.27.3 \ tagptr-0.2.0 \ - take-once-0.1.2 \ + take-once-0.1.3 \ tap-1.0.1 \ tar-0.4.44 \ - target-lexicon-0.13.2 \ - tempfile-3.19.1 \ + target-lexicon-0.13.3 \ + tempfile-3.22.0 \ termcolor-1.4.1 \ thiserror-1.0.69 \ - thiserror-2.0.12 \ + thiserror-2.0.16 \ thiserror-impl-1.0.69 \ - thiserror-impl-2.0.12 \ - thread_local-1.1.8 \ - time-0.3.41 \ - time-core-0.1.4 \ - time-macros-0.2.22 \ - timer-queue-0.1.0 \ + thiserror-impl-2.0.16 \ + thread_local-1.1.9 \ + time-0.3.43 \ + time-core-0.1.6 \ + time-macros-0.2.24 \ + timer-queue-0.1.1 \ tiny-skia-0.11.4 \ tiny-skia-path-0.11.4 \ - tinystr-0.7.6 \ + tinystr-0.8.1 \ tinytemplate-1.2.1 \ - tinyvec-1.9.0 \ + tinyvec-1.10.0 \ tinyvec_macros-0.1.1 \ - tokio-1.44.2 \ + tokio-1.47.1 \ tokio-macros-2.5.0 \ tokio-rustls-0.26.2 \ tokio-stream-0.1.17 \ toml-0.5.11 \ - toml-0.8.22 \ - toml_datetime-0.6.9 \ - toml_edit-0.22.26 \ - toml_write-0.1.1 \ + toml-0.8.23 \ + toml-0.9.5 \ + toml_datetime-0.6.11 \ + toml_datetime-0.7.0 \ + toml_edit-0.22.27 \ + toml_parser-1.0.2 \ + toml_write-0.1.2 \ + toml_writer-1.0.2 \ tower-0.5.2 \ tower-layer-0.3.3 \ tower-service-0.3.3 \ tracing-0.1.41 \ tracing-appender-0.2.3 \ - tracing-attributes-0.1.28 \ - tracing-core-0.1.33 \ + tracing-attributes-0.1.30 \ + tracing-core-0.1.34 \ tracing-log-0.2.0 \ - tracing-subscriber-0.3.19 \ - tracing-tracy-0.11.3 \ - tracy-client-0.17.6 \ - tracy-client-sys-0.24.3 \ - trait-variant-0.1.2 \ + tracing-subscriber-0.3.20 \ + tracing-tracy-0.11.4 \ + tracy-client-0.18.2 \ + tracy-client-sys-0.26.1 \ treeculler-0.4.0 \ triple_buffer-8.1.1 \ try-lock-0.2.5 \ ttf-parser-0.25.1 \ tuple_utils-0.4.0 \ twox-hash-1.6.3 \ - twox-hash-2.1.0 \ + twox-hash-2.1.2 \ tynm-0.1.10 \ - type-map-0.5.0 \ + type-map-0.5.1 \ typenum-1.18.0 \ ubyte-0.10.4 \ - unic-langid-0.9.5 \ - unic-langid-impl-0.9.5 \ + unic-langid-0.9.6 \ + unic-langid-impl-0.9.6 \ unicode-ident-1.0.18 \ unicode-segmentation-1.12.0 \ unicode-truncate-1.1.0 \ @@ -741,12 +758,13 @@ CARGO_CRATES= ab_glyph-0.2.29 \ unicode-width-0.2.0 \ unicode-xid-0.1.0 \ unicode-xid-0.2.6 \ + unit-prefix-0.5.1 \ untrusted-0.9.0 \ - url-2.5.4 \ - utf16_iter-1.0.5 \ + unty-0.0.4 \ + url-2.5.7 \ utf8_iter-1.0.4 \ utf8parse-0.2.2 \ - uuid-1.16.0 \ + uuid-1.18.1 \ valuable-0.1.1 \ vcpkg-0.2.15 \ vec_map-0.8.2 \ @@ -755,59 +773,63 @@ CARGO_CRATES= ab_glyph-0.2.29 \ version-compare-0.1.1 \ version_check-0.9.5 \ versions-7.0.0 \ + virtue-0.0.18 \ walkdir-2.5.0 \ want-0.3.1 \ - wasi-0.11.0+wasi-snapshot-preview1 \ - wasi-0.14.2+wasi-0.2.4 \ - wasm-bindgen-0.2.100 \ - wasm-bindgen-backend-0.2.100 \ - wasm-bindgen-futures-0.4.45 \ - wasm-bindgen-macro-0.2.100 \ - wasm-bindgen-macro-support-0.2.100 \ - wasm-bindgen-shared-0.2.100 \ - wasm-encoder-0.221.3 \ - wasm-encoder-0.229.0 \ - wasmparser-0.221.3 \ - wasmparser-0.229.0 \ - wasmprinter-0.221.3 \ - wasmtime-29.0.1 \ - wasmtime-asm-macros-29.0.1 \ - wasmtime-cache-29.0.1 \ - wasmtime-component-macro-29.0.1 \ - wasmtime-component-util-29.0.1 \ - wasmtime-cranelift-29.0.1 \ - wasmtime-environ-29.0.1 \ - wasmtime-fiber-29.0.1 \ - wasmtime-jit-debug-29.0.1 \ - wasmtime-jit-icache-coherence-29.0.1 \ - wasmtime-math-29.0.1 \ - wasmtime-slab-29.0.1 \ - wasmtime-versioned-export-macros-29.0.1 \ - wasmtime-wasi-29.0.1 \ - wasmtime-winch-29.0.1 \ - wasmtime-wit-bindgen-29.0.1 \ + wasi-0.11.1+wasi-snapshot-preview1 \ + wasi-0.14.5+wasi-0.2.4 \ + wasip2-1.0.0+wasi-0.2.4 \ + wasm-bindgen-0.2.101 \ + wasm-bindgen-backend-0.2.101 \ + wasm-bindgen-futures-0.4.51 \ + wasm-bindgen-macro-0.2.101 \ + wasm-bindgen-macro-support-0.2.101 \ + wasm-bindgen-shared-0.2.101 \ + wasm-encoder-0.236.1 \ + wasm-encoder-0.239.0 \ + wasmparser-0.236.1 \ + wasmparser-0.239.0 \ + wasmprinter-0.236.1 \ + wasmtime-36.0.2 \ + wasmtime-environ-36.0.2 \ + wasmtime-internal-asm-macros-36.0.2 \ + wasmtime-internal-cache-36.0.2 \ + wasmtime-internal-component-macro-36.0.2 \ + wasmtime-internal-component-util-36.0.2 \ + wasmtime-internal-cranelift-36.0.2 \ + wasmtime-internal-fiber-36.0.2 \ + wasmtime-internal-jit-debug-36.0.2 \ + wasmtime-internal-jit-icache-coherence-36.0.2 \ + wasmtime-internal-math-36.0.2 \ + wasmtime-internal-slab-36.0.2 \ + wasmtime-internal-unwinder-36.0.2 \ + wasmtime-internal-versioned-export-macros-36.0.2 \ + wasmtime-internal-winch-36.0.2 \ + wasmtime-internal-wit-bindgen-36.0.2 \ + wasmtime-wasi-36.0.2 \ + wasmtime-wasi-io-36.0.2 \ wast-35.0.2 \ - wast-229.0.0 \ - wat-1.229.0 \ + wast-239.0.0 \ + wat-1.239.0 \ wavefront-0.2.3 \ - wayland-backend-0.3.10 \ + wayland-backend-0.3.11 \ wayland-client-0.29.5 \ - wayland-client-0.31.10 \ + wayland-client-0.31.11 \ wayland-commons-0.29.5 \ wayland-csd-frame-0.3.0 \ wayland-cursor-0.29.5 \ - wayland-cursor-0.31.10 \ + wayland-cursor-0.31.11 \ wayland-protocols-0.29.5 \ - wayland-protocols-0.32.8 \ - wayland-protocols-plasma-0.3.8 \ - wayland-protocols-wlr-0.3.8 \ + wayland-protocols-0.32.9 \ + wayland-protocols-plasma-0.3.9 \ + wayland-protocols-wlr-0.3.9 \ wayland-scanner-0.29.5 \ - wayland-scanner-0.31.6 \ + wayland-scanner-0.31.7 \ wayland-sys-0.29.5 \ - wayland-sys-0.31.6 \ - web-sys-0.3.77 \ + wayland-sys-0.31.7 \ + web-sys-0.3.78 \ web-time-1.1.0 \ - webpki-root-certs-0.26.10 \ + webpki-root-certs-1.0.2 \ wfd-0.1.7 \ wgpu-26.0.1 \ wgpu-core-26.0.1 \ @@ -819,103 +841,120 @@ CARGO_CRATES= ab_glyph-0.2.29 \ wgpu-types-26.0.0 \ which-7.0.3 \ widestring-1.2.0 \ - wiggle-29.0.1 \ - wiggle-generate-29.0.1 \ - wiggle-macro-29.0.1 \ + wiggle-36.0.2 \ + wiggle-generate-36.0.2 \ + wiggle-macro-36.0.2 \ winapi-0.3.9 \ winapi-i686-pc-windows-gnu-0.4.0 \ - winapi-util-0.1.9 \ + winapi-util-0.1.11 \ winapi-wsapoll-0.1.2 \ winapi-x86_64-pc-windows-gnu-0.4.0 \ - winch-codegen-29.0.1 \ + winch-codegen-36.0.2 \ window_clipboard-0.4.1 \ windows-0.48.0 \ windows-0.54.0 \ windows-0.58.0 \ + windows-0.61.3 \ + windows-collections-0.2.0 \ windows-core-0.54.0 \ windows-core-0.58.0 \ - windows-core-0.61.0 \ + windows-core-0.61.2 \ + windows-future-0.2.1 \ windows-implement-0.58.0 \ windows-implement-0.60.0 \ windows-interface-0.58.0 \ windows-interface-0.59.1 \ - windows-link-0.1.1 \ + windows-link-0.1.3 \ + windows-link-0.2.0 \ + windows-numerics-0.2.0 \ windows-result-0.1.2 \ windows-result-0.2.0 \ - windows-result-0.3.2 \ + windows-result-0.3.4 \ windows-strings-0.1.0 \ - windows-strings-0.4.0 \ + windows-strings-0.4.2 \ windows-sys-0.45.0 \ windows-sys-0.48.0 \ windows-sys-0.52.0 \ windows-sys-0.59.0 \ + windows-sys-0.60.2 \ + windows-sys-0.61.0 \ windows-targets-0.42.2 \ windows-targets-0.48.5 \ windows-targets-0.52.6 \ + windows-targets-0.53.3 \ + windows-threading-0.1.0 \ windows_aarch64_gnullvm-0.42.2 \ windows_aarch64_gnullvm-0.48.5 \ windows_aarch64_gnullvm-0.52.6 \ + windows_aarch64_gnullvm-0.53.0 \ windows_aarch64_msvc-0.42.2 \ windows_aarch64_msvc-0.48.5 \ windows_aarch64_msvc-0.52.6 \ + windows_aarch64_msvc-0.53.0 \ windows_i686_gnu-0.42.2 \ windows_i686_gnu-0.48.5 \ windows_i686_gnu-0.52.6 \ + windows_i686_gnu-0.53.0 \ windows_i686_gnullvm-0.52.6 \ + windows_i686_gnullvm-0.53.0 \ windows_i686_msvc-0.42.2 \ windows_i686_msvc-0.48.5 \ windows_i686_msvc-0.52.6 \ + windows_i686_msvc-0.53.0 \ windows_x86_64_gnu-0.42.2 \ windows_x86_64_gnu-0.48.5 \ windows_x86_64_gnu-0.52.6 \ + windows_x86_64_gnu-0.53.0 \ windows_x86_64_gnullvm-0.42.2 \ windows_x86_64_gnullvm-0.48.5 \ windows_x86_64_gnullvm-0.52.6 \ + windows_x86_64_gnullvm-0.53.0 \ windows_x86_64_msvc-0.42.2 \ windows_x86_64_msvc-0.48.5 \ windows_x86_64_msvc-0.52.6 \ + windows_x86_64_msvc-0.53.0 \ winit-0.30.12 \ - winnow-0.7.9 \ + winnow-0.7.13 \ winreg-0.50.0 \ winreg-0.52.0 \ winres-0.1.12 \ winsafe-0.0.19 \ winx-0.36.4 \ - wit-bindgen-rt-0.39.0 \ - wit-parser-0.221.3 \ + wit-bindgen-0.45.1 \ + wit-parser-0.236.1 \ witx-0.9.1 \ - write16-1.0.0 \ - writeable-0.5.5 \ + writeable-0.6.1 \ wyz-0.5.1 \ x11-clipboard-0.7.1 \ x11-dl-2.21.0 \ x11rb-0.10.1 \ - x11rb-0.13.1 \ + x11rb-0.13.2 \ x11rb-protocol-0.10.0 \ - x11rb-protocol-0.13.1 \ - xattr-1.5.0 \ - xcursor-0.3.8 \ + x11rb-protocol-0.13.2 \ + xattr-1.5.1 \ + xcursor-0.3.10 \ xdg-2.5.2 \ xi-unicode-0.3.0 \ xkbcommon-dl-0.4.2 \ xkeysym-0.2.1 \ - xml-rs-0.8.26 \ + xml-rs-0.8.27 \ xmlparser-0.13.6 \ yasna-0.5.2 \ - yoke-0.7.5 \ - yoke-derive-0.7.5 \ - zerocopy-0.8.25 \ - zerocopy-derive-0.8.25 \ + yoke-0.8.0 \ + yoke-derive-0.8.0 \ + zerocopy-0.8.27 \ + zerocopy-derive-0.8.27 \ zerofrom-0.1.6 \ zerofrom-derive-0.1.6 \ zeroize-1.8.1 \ - zerovec-0.10.4 \ - zerovec-derive-0.10.3 \ + zerotrie-0.2.2 \ + zerovec-0.11.4 \ + zerovec-derive-0.11.1 \ zstd-0.13.3 \ zstd-safe-7.2.4 \ - zstd-sys-2.0.15+zstd.1.5.7 \ + zstd-sys-2.0.16+zstd.1.5.7 \ zune-core-0.4.12 \ - zune-jpeg-0.4.14 \ + zune-jpeg-0.4.21 \ specs,specs-derive@git+https://github.com/amethyst/specs.git?rev=4e2da1df29ee840baa9b936593c45592b7c9ae27\#4e2da1df29ee840baa9b936593c45592b7c9ae27 \ auth-common,authc@git+https://gitlab.com/veloren/auth.git?rev=ae0e16783a9f9041951296885f082308e155db79\#ae0e16783a9f9041951296885f082308e155db79 \ iced_core,iced_futures,iced_native@git+https://github.com/Imberflur/iced?tag=veloren-winit-0.28\#47243c257c8b8dd6c506b060804cb00b618aa0aa \ diff --git a/games/veloren-weekly/distinfo b/games/veloren-weekly/distinfo index b14522a498f5..9d0f967e977a 100644 --- a/games/veloren-weekly/distinfo +++ b/games/veloren-weekly/distinfo @@ -1,12 +1,14 @@ -TIMESTAMP = 1756940516 -SHA256 (rust/crates/ab_glyph-0.2.29.crate) = ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0 -SIZE (rust/crates/ab_glyph-0.2.29.crate) = 20011 -SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046 -SIZE (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = 11010 +TIMESTAMP = 1757497798 +SHA256 (rust/crates/ab_glyph-0.2.31.crate) = e074464580a518d16a7126262fffaaa47af89d4099d4cb403f8ed938ba12ee7d +SIZE (rust/crates/ab_glyph-0.2.31.crate) = 20909 +SHA256 (rust/crates/ab_glyph_rasterizer-0.1.10.crate) = 366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618 +SIZE (rust/crates/ab_glyph_rasterizer-0.1.10.crate) = 11206 SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1 SIZE (rust/crates/addr2line-0.24.2.crate) = 39015 -SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627 -SIZE (rust/crates/adler2-2.0.0.crate) = 13529 +SHA256 (rust/crates/addr2line-0.25.0.crate) = 9acbfca36652500c911ddb767ed433e3ed99b032b5d935be73c6923662db1d43 +SIZE (rust/crates/addr2line-0.25.0.crate) = 41982 +SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa +SIZE (rust/crates/adler2-2.0.1.crate) = 13366 SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234 SIZE (rust/crates/adler32-1.2.0.crate) = 6411 SHA256 (rust/crates/ahash-0.4.8.crate) = 0453232ace82dee0dd0b4c87a59bd90f7b53b314f3e0f61fe2ee7c8a16482289 @@ -27,24 +29,22 @@ SHA256 (rust/crates/android-activity-0.6.0.crate) = ef6978589202a00cd7e118380c44 SIZE (rust/crates/android-activity-0.6.0.crate) = 258597 SHA256 (rust/crates/android-properties-0.2.2.crate) = fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04 SIZE (rust/crates/android-properties-0.2.2.crate) = 4563 -SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0 -SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674 SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311 SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243 SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299 SIZE (rust/crates/anes-0.1.6.crate) = 23857 -SHA256 (rust/crates/anstream-0.6.18.crate) = 8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b -SIZE (rust/crates/anstream-0.6.18.crate) = 29681 -SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9 -SIZE (rust/crates/anstyle-1.0.10.crate) = 15725 -SHA256 (rust/crates/anstyle-parse-0.2.6.crate) = 3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9 -SIZE (rust/crates/anstyle-parse-0.2.6.crate) = 22343 -SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c -SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969 -SHA256 (rust/crates/anstyle-wincon-3.0.7.crate) = ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e -SIZE (rust/crates/anstyle-wincon-3.0.7.crate) = 12400 -SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487 -SIZE (rust/crates/anyhow-1.0.98.crate) = 53334 +SHA256 (rust/crates/anstream-0.6.20.crate) = 3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192 +SIZE (rust/crates/anstream-0.6.20.crate) = 28797 +SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd +SIZE (rust/crates/anstyle-1.0.11.crate) = 15880 +SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2 +SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707 +SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2 +SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192 +SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a +SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558 +SHA256 (rust/crates/anyhow-1.0.99.crate) = b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100 +SIZE (rust/crates/anyhow-1.0.99.crate) = 53809 SHA256 (rust/crates/anymap2-0.13.0.crate) = d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c SIZE (rust/crates/anymap2-0.13.0.crate) = 17337 SHA256 (rust/crates/app_dirs2-2.5.5.crate) = a7e7b35733e3a8c1ccb90385088dd5b6eaa61325cb4d1ad56e683b5224ff352e @@ -55,8 +55,8 @@ SHA256 (rust/crates/approx-0.4.0.crate) = 3f2a05fd1bd10b2527e20a2cd32d8873d115b8 SIZE (rust/crates/approx-0.4.0.crate) = 14280 SHA256 (rust/crates/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6 SIZE (rust/crates/approx-0.5.1.crate) = 15100 -SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223 -SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816 +SHA256 (rust/crates/arbitrary-1.4.2.crate) = c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1 +SIZE (rust/crates/arbitrary-1.4.2.crate) = 38307 SHA256 (rust/crates/arr_macro-0.2.1.crate) = c49336e062fa2ae8aca17a2f99c34d9c1a5d30827e8aff1cb4c294f253afe992 SIZE (rust/crates/arr_macro-0.2.1.crate) = 6504 SHA256 (rust/crates/arr_macro_impl-0.2.1.crate) = 9c6368f9ae5c6ec403ca910327ae0c9437b0a85255b6950c90d497e6177f6e5e @@ -71,12 +71,12 @@ SHA256 (rust/crates/ascii-1.1.0.crate) = d92bec98840b8f03a5ff5413de5293bfcd8bf96 SIZE (rust/crates/ascii-1.1.0.crate) = 36075 SHA256 (rust/crates/ash-0.38.0+1.3.281.crate) = 0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f SIZE (rust/crates/ash-0.38.0+1.3.281.crate) = 457775 -SHA256 (rust/crates/assets_manager-0.12.5.crate) = 017916aa0241c9944e5e7483d74e9d053edea690a77a36f3bf342c75ad23f7cb -SIZE (rust/crates/assets_manager-0.12.5.crate) = 68736 -SHA256 (rust/crates/async-channel-2.3.1.crate) = 89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a -SIZE (rust/crates/async-channel-2.3.1.crate) = 14576 -SHA256 (rust/crates/async-trait-0.1.88.crate) = e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5 -SIZE (rust/crates/async-trait-0.1.88.crate) = 32084 +SHA256 (rust/crates/assets_manager-0.13.2.crate) = 88efd382e54d403ac4bdf5841d8028f85ef207c8492a19f8427b72be6c3cfc94 +SIZE (rust/crates/assets_manager-0.13.2.crate) = 64678 +SHA256 (rust/crates/async-channel-2.5.0.crate) = 924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2 +SIZE (rust/crates/async-channel-2.5.0.crate) = 18624 +SHA256 (rust/crates/async-trait-0.1.89.crate) = 9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb +SIZE (rust/crates/async-trait-0.1.89.crate) = 32171 SHA256 (rust/crates/atomic-arena-0.1.2.crate) = 73e8ed45f88ed32e6827a96b62d8fd4086d72defc754c5c6bd08470c1aaf648e SIZE (rust/crates/atomic-arena-0.1.2.crate) = 12495 SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0 @@ -85,32 +85,34 @@ SHA256 (rust/crates/atomic_refcell-0.1.13.crate) = 41e67cd8309bbd06cd603a9e693a7 SIZE (rust/crates/atomic_refcell-0.1.13.crate) = 11760 SHA256 (rust/crates/atomicwrites-0.4.4.crate) = 3ef1bb8d1b645fe38d51dfc331d720fb5fc2c94b440c76cc79c80ff265ca33e3 SIZE (rust/crates/atomicwrites-0.4.4.crate) = 6598 -SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26 -SIZE (rust/crates/autocfg-1.4.0.crate) = 17712 +SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8 +SIZE (rust/crates/autocfg-1.5.0.crate) = 18729 SHA256 (rust/crates/axum-0.8.4.crate) = 021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5 SIZE (rust/crates/axum-0.8.4.crate) = 175159 SHA256 (rust/crates/axum-core-0.5.2.crate) = 68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6 SIZE (rust/crates/axum-core-0.5.2.crate) = 26212 SHA256 (rust/crates/az-1.2.1.crate) = 7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973 SIZE (rust/crates/az-1.2.1.crate) = 27842 -SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a -SIZE (rust/crates/backtrace-0.3.74.crate) = 88516 +SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002 +SIZE (rust/crates/backtrace-0.3.75.crate) = 92665 SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567 SIZE (rust/crates/base64-0.21.7.crate) = 82576 SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 SIZE (rust/crates/base64-0.22.1.crate) = 81597 -SHA256 (rust/crates/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad -SIZE (rust/crates/bincode-1.3.3.crate) = 28958 -SHA256 (rust/crates/bindgen-0.70.1.crate) = f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f -SIZE (rust/crates/bindgen-0.70.1.crate) = 226363 +SHA256 (rust/crates/bincode-2.0.1.crate) = 36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740 +SIZE (rust/crates/bincode-2.0.1.crate) = 70469 +SHA256 (rust/crates/bincode_derive-2.0.1.crate) = bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09 +SIZE (rust/crates/bincode_derive-2.0.1.crate) = 7404 +SHA256 (rust/crates/bindgen-0.72.1.crate) = 993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895 +SIZE (rust/crates/bindgen-0.72.1.crate) = 246071 SHA256 (rust/crates/bit-set-0.8.0.crate) = 08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3 SIZE (rust/crates/bit-set-0.8.0.crate) = 16289 SHA256 (rust/crates/bit-vec-0.8.0.crate) = 5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7 SIZE (rust/crates/bit-vec-0.8.0.crate) = 24132 SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a SIZE (rust/crates/bitflags-1.3.2.crate) = 23021 -SHA256 (rust/crates/bitflags-2.9.0.crate) = 5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd -SIZE (rust/crates/bitflags-2.9.0.crate) = 47654 +SHA256 (rust/crates/bitflags-2.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394 +SIZE (rust/crates/bitflags-2.9.4.crate) = 47950 SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c SIZE (rust/crates/bitvec-1.0.1.crate) = 224375 SHA256 (rust/crates/blake2b_simd-1.0.3.crate) = 06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99 @@ -123,12 +125,12 @@ SHA256 (rust/crates/block2-0.5.1.crate) = 2c132eebf10f5cad5289222520a4a058514204 SIZE (rust/crates/block2-0.5.1.crate) = 24191 SHA256 (rust/crates/block2-0.6.1.crate) = 340d2f0bdb2a43c1d3cd40513185b2bd7def0aa1052f956455114bc98f82dcf2 SIZE (rust/crates/block2-0.6.1.crate) = 34311 -SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf -SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975 -SHA256 (rust/crates/bytemuck-1.23.0.crate) = 9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c -SIZE (rust/crates/bytemuck-1.23.0.crate) = 52534 -SHA256 (rust/crates/bytemuck_derive-1.9.3.crate) = 7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1 -SIZE (rust/crates/bytemuck_derive-1.9.3.crate) = 23555 +SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43 +SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414 +SHA256 (rust/crates/bytemuck-1.23.2.crate) = 3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677 +SIZE (rust/crates/bytemuck-1.23.2.crate) = 53021 +SHA256 (rust/crates/bytemuck_derive-1.10.1.crate) = 4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29 +SIZE (rust/crates/bytemuck_derive-1.10.1.crate) = 25122 SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495 @@ -157,10 +159,10 @@ SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40 SIZE (rust/crates/cassowary-0.3.0.crate) = 22876 SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5 SIZE (rust/crates/cast-0.3.0.crate) = 11452 -SHA256 (rust/crates/castaway-0.2.3.crate) = 0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5 -SIZE (rust/crates/castaway-0.2.3.crate) = 11509 -SHA256 (rust/crates/cc-1.2.21.crate) = 8691782945451c1c383942c4874dbe63814f61cb57ef773cda2972682b7bb3c0 -SIZE (rust/crates/cc-1.2.21.crate) = 106117 +SHA256 (rust/crates/castaway-0.2.4.crate) = dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a +SIZE (rust/crates/castaway-0.2.4.crate) = 12546 +SHA256 (rust/crates/cc-1.2.36.crate) = 5252b3d2648e5eedbc1a6f501e3c795e07025c1e93bbf8bbdd6eef7f447a6d54 +SIZE (rust/crates/cc-1.2.36.crate) = 90198 SHA256 (rust/crates/censor-0.3.0.crate) = d41e3b9fdbb9b3edc10dc66a06dc255822f699c432e19403fb966e6d60e0dec4 SIZE (rust/crates/censor-0.3.0.crate) = 5627 SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c @@ -169,18 +171,16 @@ SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb62990 SIZE (rust/crates/cexpr-0.6.0.crate) = 17966 SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822 SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933 -SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd -SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9 +SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719 SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724 SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355 -SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d -SIZE (rust/crates/chrono-0.4.41.crate) = 234621 -SHA256 (rust/crates/chrono-tz-0.10.3.crate) = efdce149c370f133a071ca8ef6ea340b7b88748ab0810097a9e2976eaa34b4f3 -SIZE (rust/crates/chrono-tz-0.10.3.crate) = 380709 -SHA256 (rust/crates/chrono-tz-build-0.4.1.crate) = 8f10f8c9340e31fc120ff885fcdb54a0b48e474bbd77cab557f0c30a3e569402 -SIZE (rust/crates/chrono-tz-build-0.4.1.crate) = 11798 -SHA256 (rust/crates/chumsky-0.9.3.crate) = 8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9 -SIZE (rust/crates/chumsky-0.9.3.crate) = 75112 +SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2 +SIZE (rust/crates/chrono-0.4.42.crate) = 238174 +SHA256 (rust/crates/chrono-tz-0.10.4.crate) = a6139a8597ed92cf816dfb33f5dd6cf0bb93a6adc938f11039f371bc5bcd26c3 +SIZE (rust/crates/chrono-tz-0.10.4.crate) = 794377 +SHA256 (rust/crates/chumsky-0.10.1.crate) = 14377e276b2c8300513dff55ba4cc4142b44e5d6de6d00eb5b2307d650bb4ec1 +SIZE (rust/crates/chumsky-0.10.1.crate) = 175210 SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e SIZE (rust/crates/ciborium-0.2.2.crate) = 35611 SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757 @@ -189,18 +189,18 @@ SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5f SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695 SHA256 (rust/crates/clang-sys-1.8.1.crate) = 0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4 SIZE (rust/crates/clang-sys-1.8.1.crate) = 44009 -SHA256 (rust/crates/clap-4.5.37.crate) = eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071 -SIZE (rust/crates/clap-4.5.37.crate) = 56962 -SHA256 (rust/crates/clap_builder-4.5.37.crate) = efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2 -SIZE (rust/crates/clap_builder-4.5.37.crate) = 168761 -SHA256 (rust/crates/clap_derive-4.5.32.crate) = 09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7 -SIZE (rust/crates/clap_derive-4.5.32.crate) = 33441 -SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6 -SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858 +SHA256 (rust/crates/clap-4.5.47.crate) = 7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931 +SIZE (rust/crates/clap-4.5.47.crate) = 58354 +SHA256 (rust/crates/clap_builder-4.5.47.crate) = 2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6 +SIZE (rust/crates/clap_builder-4.5.47.crate) = 170016 +SHA256 (rust/crates/clap_derive-4.5.47.crate) = bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c +SIZE (rust/crates/clap_derive-4.5.47.crate) = 33550 +SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675 +SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469 SHA256 (rust/crates/clipboard-win-3.1.1.crate) = 9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342 SIZE (rust/crates/clipboard-win-3.1.1.crate) = 11964 -SHA256 (rust/crates/clipboard-win-5.4.0.crate) = 15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892 -SIZE (rust/crates/clipboard-win-5.4.0.crate) = 20559 +SHA256 (rust/crates/clipboard-win-5.4.1.crate) = bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4 +SIZE (rust/crates/clipboard-win-5.4.1.crate) = 20994 SHA256 (rust/crates/clipboard_macos-0.1.1.crate) = 9b7f4aaa047ba3c3630b080bb9860894732ff23e2aee290a418909aa6d5df38f SIZE (rust/crates/clipboard_macos-0.1.1.crate) = 6037 SHA256 (rust/crates/clipboard_wayland-0.2.2.crate) = 003f886bc4e2987729d10c1db3424e7f80809f3fc22dbc16c685738887cb37b8 @@ -209,30 +209,32 @@ SHA256 (rust/crates/clipboard_x11-0.4.2.crate) = 4274ea815e013e0f9f04a2633423e14 SIZE (rust/crates/clipboard_x11-0.4.2.crate) = 4912 SHA256 (rust/crates/cmake-0.1.54.crate) = e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0 SIZE (rust/crates/cmake-0.1.54.crate) = 18955 -SHA256 (rust/crates/cobs-0.2.3.crate) = 67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15 -SIZE (rust/crates/cobs-0.2.3.crate) = 12576 +SHA256 (rust/crates/cobs-0.3.0.crate) = 0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1 +SIZE (rust/crates/cobs-0.3.0.crate) = 15639 SHA256 (rust/crates/codespan-reporting-0.12.0.crate) = fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81 SIZE (rust/crates/codespan-reporting-0.12.0.crate) = 55796 -SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990 -SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923 +SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75 +SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196 SHA256 (rust/crates/combine-4.6.7.crate) = ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd SIZE (rust/crates/combine-4.6.7.crate) = 134808 SHA256 (rust/crates/compact_str-0.8.1.crate) = 3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32 SIZE (rust/crates/compact_str-0.8.1.crate) = 71371 SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973 SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654 -SHA256 (rust/crates/console-0.15.11.crate) = 054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8 -SIZE (rust/crates/console-0.15.11.crate) = 37822 +SHA256 (rust/crates/console-0.16.1.crate) = b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4 +SIZE (rust/crates/console-0.16.1.crate) = 39129 SHA256 (rust/crates/console_error_panic_hook-0.1.7.crate) = a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc SIZE (rust/crates/console_error_panic_hook-0.1.7.crate) = 507196 SHA256 (rust/crates/constant_time_eq-0.3.1.crate) = 7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6 SIZE (rust/crates/constant_time_eq-0.3.1.crate) = 11561 +SHA256 (rust/crates/convert_case-0.7.1.crate) = bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7 +SIZE (rust/crates/convert_case-0.7.1.crate) = 23816 SHA256 (rust/crates/copypasta-0.8.2.crate) = 133fc8675ee3a4ec9aa513584deda9aa0faeda3586b87f7f0f2ba082c66fb172 SIZE (rust/crates/copypasta-0.8.2.crate) = 13030 SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743 -SHA256 (rust/crates/core-foundation-0.10.0.crate) = b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63 -SIZE (rust/crates/core-foundation-0.10.0.crate) = 27023 +SHA256 (rust/crates/core-foundation-0.10.1.crate) = b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6 +SIZE (rust/crates/core-foundation-0.10.1.crate) = 28886 SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712 SHA256 (rust/crates/core-graphics-0.23.2.crate) = c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081 @@ -243,40 +245,46 @@ SHA256 (rust/crates/core-graphics-types-0.2.0.crate) = 3d44a101f213f6c4cdc1853d4 SIZE (rust/crates/core-graphics-types-0.2.0.crate) = 7098 SHA256 (rust/crates/coreaudio-rs-0.11.3.crate) = 321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace SIZE (rust/crates/coreaudio-rs-0.11.3.crate) = 42844 -SHA256 (rust/crates/coreaudio-sys-0.2.16.crate) = 2ce857aa0b77d77287acc1ac3e37a05a8c95a2af3647d23b15f263bdaeb7562b -SIZE (rust/crates/coreaudio-sys-0.2.16.crate) = 5480 +SHA256 (rust/crates/coreaudio-sys-0.2.17.crate) = ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6 +SIZE (rust/crates/coreaudio-sys-0.2.17.crate) = 7591 SHA256 (rust/crates/cpal-0.15.3.crate) = 873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779 SIZE (rust/crates/cpal-0.15.3.crate) = 100083 SHA256 (rust/crates/cpp_demangle-0.4.4.crate) = 96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d SIZE (rust/crates/cpp_demangle-0.4.4.crate) = 79650 SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280 SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466 -SHA256 (rust/crates/cranelift-bforest-0.116.1.crate) = e15d04a0ce86cb36ead88ad68cf693ffd6cda47052b9e0ac114bc47fd9cd23c4 -SIZE (rust/crates/cranelift-bforest-0.116.1.crate) = 30861 -SHA256 (rust/crates/cranelift-bitset-0.116.1.crate) = 7c6e3969a7ce267259ce244b7867c5d3bc9e65b0a87e81039588dfdeaede9f34 -SIZE (rust/crates/cranelift-bitset-0.116.1.crate) = 8056 -SHA256 (rust/crates/cranelift-codegen-0.116.1.crate) = 2c22032c4cb42558371cf516bb47f26cdad1819d3475c133e93c49f50ebf304e -SIZE (rust/crates/cranelift-codegen-0.116.1.crate) = 1051844 -SHA256 (rust/crates/cranelift-codegen-meta-0.116.1.crate) = c904bc71c61b27fc57827f4a1379f29de64fe95653b620a3db77d59655eee0b8 -SIZE (rust/crates/cranelift-codegen-meta-0.116.1.crate) = 80475 -SHA256 (rust/crates/cranelift-codegen-shared-0.116.1.crate) = 40180f5497572f644ce88c255480981ae2ec1d7bb4d8e0c0136a13b87a2f2ceb -SIZE (rust/crates/cranelift-codegen-shared-0.116.1.crate) = 6155 -SHA256 (rust/crates/cranelift-control-0.116.1.crate) = 26d132c6d0bd8a489563472afc171759da0707804a65ece7ceb15a8c6d7dd5ef -SIZE (rust/crates/cranelift-control-0.116.1.crate) = 8253 -SHA256 (rust/crates/cranelift-entity-0.116.1.crate) = 4b2d0d9618275474fbf679dd018ac6e009acbd6ae6850f6a67be33fb3b00b323 -SIZE (rust/crates/cranelift-entity-0.116.1.crate) = 29325 -SHA256 (rust/crates/cranelift-frontend-0.116.1.crate) = 4fac41e16729107393174b0c9e3730fb072866100e1e64e80a1a963b2e484d57 -SIZE (rust/crates/cranelift-frontend-0.116.1.crate) = 54378 -SHA256 (rust/crates/cranelift-isle-0.116.1.crate) = 1ca20d576e5070044d0a72a9effc2deacf4d6aa650403189d8ea50126483944d -SIZE (rust/crates/cranelift-isle-0.116.1.crate) = 75233 -SHA256 (rust/crates/cranelift-native-0.116.1.crate) = b8dee82f3f1f2c4cba9177f1cc5e350fe98764379bcd29340caa7b01f85076c7 -SIZE (rust/crates/cranelift-native-0.116.1.crate) = 10709 -SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3 -SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491 -SHA256 (rust/crates/criterion-0.5.1.crate) = f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f -SIZE (rust/crates/criterion-0.5.1.crate) = 110088 -SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1 -SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706 +SHA256 (rust/crates/cranelift-assembler-x64-0.123.2.crate) = 0920ef6863433fa28ece7e53925be4cd39a913adba2dc3738f4edd182f76d168 +SIZE (rust/crates/cranelift-assembler-x64-0.123.2.crate) = 25503 +SHA256 (rust/crates/cranelift-assembler-x64-meta-0.123.2.crate) = 8990a217e2529a378af1daf4f8afa889f928f07ebbde6ae2f058ae60e40e2c20 +SIZE (rust/crates/cranelift-assembler-x64-meta-0.123.2.crate) = 45912 +SHA256 (rust/crates/cranelift-bforest-0.123.2.crate) = 62225596b687f69a42c038485a28369badc186cb7c74bd9436eeec9f539011b1 +SIZE (rust/crates/cranelift-bforest-0.123.2.crate) = 30977 +SHA256 (rust/crates/cranelift-bitset-0.123.2.crate) = c23914fc4062558650a6f0d8c1846c97b541215a291fdeabc85f68bdc9bbcca3 +SIZE (rust/crates/cranelift-bitset-0.123.2.crate) = 8528 +SHA256 (rust/crates/cranelift-codegen-0.123.2.crate) = 41a238b2f7e7ec077eb170145fa15fd8b3d0f36cc83d8e354e29ca550f339ca7 +SIZE (rust/crates/cranelift-codegen-0.123.2.crate) = 1063626 +SHA256 (rust/crates/cranelift-codegen-meta-0.123.2.crate) = 9315ddcc2512513a9d66455ec89bb70ae5498cb472f5ed990230536f4cd5c011 +SIZE (rust/crates/cranelift-codegen-meta-0.123.2.crate) = 90269 +SHA256 (rust/crates/cranelift-codegen-shared-0.123.2.crate) = dc6acea40ef860f28cb36eaad479e26556c1e538b0a66fc44598cf1b1689393d +SIZE (rust/crates/cranelift-codegen-shared-0.123.2.crate) = 6184 +SHA256 (rust/crates/cranelift-control-0.123.2.crate) = 6b2af895da90761cfda4a4445960554fcec971e637882eda5a87337d993fe1b9 +SIZE (rust/crates/cranelift-control-0.123.2.crate) = 8295 +SHA256 (rust/crates/cranelift-entity-0.123.2.crate) = 6e8c542c856feb50d504e4fc0526b3db3a514f882a9f68f956164531517828ab +SIZE (rust/crates/cranelift-entity-0.123.2.crate) = 30369 +SHA256 (rust/crates/cranelift-frontend-0.123.2.crate) = 9996dd9c20929c03360fe0c4edf3594c0cbb94525bdbfa04b6bb639ec14573c7 +SIZE (rust/crates/cranelift-frontend-0.123.2.crate) = 57323 +SHA256 (rust/crates/cranelift-isle-0.123.2.crate) = 928b8dccad51b9e0ffe54accbd617da900239439b13d48f0f122ab61105ca6ad +SIZE (rust/crates/cranelift-isle-0.123.2.crate) = 79067 +SHA256 (rust/crates/cranelift-native-0.123.2.crate) = 7f75ef0a6a2efed3a2a14812318e28dc82c214eab5399c13d70878e2f88947b5 +SIZE (rust/crates/cranelift-native-0.123.2.crate) = 11223 +SHA256 (rust/crates/cranelift-srcgen-0.123.2.crate) = 673bd6d1c83cb41d60afb140a1474ef6caf1a3e02f3820fc522aefbc93ac67d6 +SIZE (rust/crates/cranelift-srcgen-0.123.2.crate) = 6068 +SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511 +SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723 +SHA256 (rust/crates/criterion-0.7.0.crate) = e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928 +SIZE (rust/crates/criterion-0.7.0.crate) = 119908 +SHA256 (rust/crates/criterion-plot-0.6.0.crate) = 9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338 +SIZE (rust/crates/criterion-plot-0.6.0.crate) = 24495 SHA256 (rust/crates/critical-section-1.2.0.crate) = 790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b SIZE (rust/crates/critical-section-1.2.0.crate) = 19133 SHA256 (rust/crates/crossbeam-channel-0.5.15.crate) = 82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2 @@ -297,10 +305,12 @@ SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aa SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691 SHA256 (rust/crates/crossterm-0.28.1.crate) = 829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6 SIZE (rust/crates/crossterm-0.28.1.crate) = 132275 +SHA256 (rust/crates/crossterm-0.29.0.crate) = d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b +SIZE (rust/crates/crossterm-0.29.0.crate) = 136635 SHA256 (rust/crates/crossterm_winapi-0.9.1.crate) = acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b SIZE (rust/crates/crossterm_winapi-0.9.1.crate) = 16027 -SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929 -SIZE (rust/crates/crunchy-0.2.3.crate) = 3775 +SHA256 (rust/crates/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5 +SIZE (rust/crates/crunchy-0.2.4.crate) = 3887 SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760 SHA256 (rust/crates/csv-1.3.1.crate) = acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf @@ -311,16 +321,22 @@ SHA256 (rust/crates/culpa-1.0.2.crate) = 5ae0bfe9317b1cb4ff5a56d766ee4b157b3e1f4 SIZE (rust/crates/culpa-1.0.2.crate) = 10733 SHA256 (rust/crates/culpa-macros-1.0.2.crate) = 1234e1717066d3c71dcf89b75e7b586299e41204d361db56ec51e6ded5014279 SIZE (rust/crates/culpa-macros-1.0.2.crate) = 3325 -SHA256 (rust/crates/cursor-icon-1.1.0.crate) = 96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991 -SIZE (rust/crates/cursor-icon-1.1.0.crate) = 11453 +SHA256 (rust/crates/cursor-icon-1.2.0.crate) = f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f +SIZE (rust/crates/cursor-icon-1.2.0.crate) = 14267 SHA256 (rust/crates/daggy-0.5.0.crate) = 9293a0da7d1bc1f30090ece4d9f9de79a07be7302ddb00e5eb1fefb6ee6409e2 SIZE (rust/crates/daggy-0.5.0.crate) = 17832 SHA256 (rust/crates/darling-0.20.11.crate) = fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee SIZE (rust/crates/darling-0.20.11.crate) = 37614 +SHA256 (rust/crates/darling-0.21.3.crate) = 9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0 +SIZE (rust/crates/darling-0.21.3.crate) = 41398 SHA256 (rust/crates/darling_core-0.20.11.crate) = 0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e SIZE (rust/crates/darling_core-0.20.11.crate) = 68006 +SHA256 (rust/crates/darling_core-0.21.3.crate) = 1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4 +SIZE (rust/crates/darling_core-0.21.3.crate) = 74471 SHA256 (rust/crates/darling_macro-0.20.11.crate) = fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead SIZE (rust/crates/darling_macro-0.20.11.crate) = 2532 +SHA256 (rust/crates/darling_macro-0.21.3.crate) = d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81 +SIZE (rust/crates/darling_macro-0.21.3.crate) = 2535 SHA256 (rust/crates/dasp_sample-0.11.0.crate) = 0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f SIZE (rust/crates/dasp_sample-0.11.0.crate) = 11617 SHA256 (rust/crates/data-encoding-2.9.0.crate) = 2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476 @@ -331,18 +347,18 @@ SHA256 (rust/crates/deflate-1.0.0.crate) = c86f7e25f518f4b81808a2cf1c50996a61f5c SIZE (rust/crates/deflate-1.0.0.crate) = 62722 SHA256 (rust/crates/delaunator-1.0.2.crate) = 0ab46e386c7a38300a0d93b0f3e484bc2ee0aded66c47b14762ec9ab383934fa SIZE (rust/crates/delaunator-1.0.2.crate) = 95108 -SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e -SIZE (rust/crates/deranged-0.4.0.crate) = 23235 +SHA256 (rust/crates/deranged-0.5.3.crate) = d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc +SIZE (rust/crates/deranged-0.5.3.crate) = 24353 +SHA256 (rust/crates/derive_more-2.0.1.crate) = 093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678 +SIZE (rust/crates/derive_more-2.0.1.crate) = 70127 +SHA256 (rust/crates/derive_more-impl-2.0.1.crate) = bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3 +SIZE (rust/crates/derive_more-impl-2.0.1.crate) = 78233 SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 SIZE (rust/crates/digest-0.10.7.crate) = 19557 SHA256 (rust/crates/directories-next-2.0.0.crate) = 339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc SIZE (rust/crates/directories-next-2.0.0.crate) = 15153 -SHA256 (rust/crates/dirs-4.0.0.crate) = ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059 -SIZE (rust/crates/dirs-4.0.0.crate) = 12503 SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e SIZE (rust/crates/dirs-6.0.0.crate) = 14190 -SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6 -SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597 SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157 SHA256 (rust/crates/dirs-sys-next-0.1.2.crate) = 4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d @@ -371,10 +387,12 @@ SHA256 (rust/crates/dpi-0.1.2.crate) = d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3 SIZE (rust/crates/dpi-0.1.2.crate) = 14812 SHA256 (rust/crates/drop_guard-0.3.0.crate) = 2c4a817d8b683f6e649aed359aab0c47a875377516bb5791d0f7e46d9066d209 SIZE (rust/crates/drop_guard-0.3.0.crate) = 4614 -SHA256 (rust/crates/ecolor-0.32.1.crate) = b6a7fc3172c2ef56966b2ce4f84177e159804c40b9a84de8861558ce4a59f422 -SIZE (rust/crates/ecolor-0.32.1.crate) = 16363 -SHA256 (rust/crates/egui-0.32.1.crate) = 49e2be082f77715496b4a39fdc6f5dc7491fefe2833111781b8697ea6ee919a7 -SIZE (rust/crates/egui-0.32.1.crate) = 390134 +SHA256 (rust/crates/dyn-clone-1.0.20.crate) = d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555 +SIZE (rust/crates/dyn-clone-1.0.20.crate) = 13134 +SHA256 (rust/crates/ecolor-0.32.2.crate) = ebb57dec02e4cca6d70d02e29865f7e52dbd471383f4c3444dda7ee78d467360 +SIZE (rust/crates/ecolor-0.32.2.crate) = 16361 +SHA256 (rust/crates/egui-0.32.2.crate) = 40df1115b8b0f3d4f1f9134a26287fd3d0e067fc18f879b8c9641aedf3eecef7 +SIZE (rust/crates/egui-0.32.2.crate) = 390290 SHA256 (rust/crates/egui_plot-0.33.0.crate) = 524318041a8ea90c81c738e8985f8ad9e3f9bed636b03c2ff37b218113ed5121 SIZE (rust/crates/egui_plot-0.33.0.crate) = 50709 SHA256 (rust/crates/egui_wgpu_backend-0.35.0.crate) = 00298a0625eba5b3a4f39444766d2590e45fa550446fb07dfefc90e84797f4f3 @@ -385,8 +403,8 @@ SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e SIZE (rust/crates/either-1.15.0.crate) = 20114 SHA256 (rust/crates/elapsed-0.1.2.crate) = 6f4e5af126dafd0741c2ad62d47f68b28602550102e5f0dd45c8a97fc8b49c29 SIZE (rust/crates/elapsed-0.1.2.crate) = 2377 -SHA256 (rust/crates/emath-0.32.1.crate) = 935df67dc48fdeef132f2f7ada156ddc79e021344dd42c17f066b956bb88dde3 -SIZE (rust/crates/emath-0.32.1.crate) = 32349 +SHA256 (rust/crates/emath-0.32.2.crate) = b5c95b6d5571099bfa0ae9f4fdaef2c239bccb01d55339a082070259dc6f3b05 +SIZE (rust/crates/emath-0.32.2.crate) = 32352 SHA256 (rust/crates/embedded-io-0.4.0.crate) = ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced SIZE (rust/crates/embedded-io-0.4.0.crate) = 12901 SHA256 (rust/crates/embedded-io-0.6.1.crate) = edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d @@ -403,44 +421,48 @@ SHA256 (rust/crates/enum-map-2.7.3.crate) = 6866f3bfdf8207509a033af1a75a7b08abda SIZE (rust/crates/enum-map-2.7.3.crate) = 21792 SHA256 (rust/crates/enum-map-derive-0.17.0.crate) = f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb SIZE (rust/crates/enum-map-derive-0.17.0.crate) = 10781 -SHA256 (rust/crates/enumset-1.1.6.crate) = 11a6b7c3d347de0a9f7bfd2f853be43fe32fa6fac30c70f6d6d67a1e936b87ee -SIZE (rust/crates/enumset-1.1.6.crate) = 29044 -SHA256 (rust/crates/enumset_derive-0.11.0.crate) = 6da3ea9e1d1a3b1593e15781f930120e72aa7501610b2f82e5b6739c72e8eac5 -SIZE (rust/crates/enumset_derive-0.11.0.crate) = 14602 +SHA256 (rust/crates/enumset-1.1.10.crate) = 25b07a8dfbbbfc0064c0a6bdf9edcf966de6b1c33ce344bdeca3b41615452634 +SIZE (rust/crates/enumset-1.1.10.crate) = 31353 +SHA256 (rust/crates/enumset_derive-0.14.0.crate) = f43e744e4ea338060faee68ed933e46e722fb7f3617e722a5772d7e856d8b3ce +SIZE (rust/crates/enumset_derive-0.14.0.crate) = 17657 SHA256 (rust/crates/env_home-0.1.0.crate) = c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe SIZE (rust/crates/env_home-0.1.0.crate) = 9006 -SHA256 (rust/crates/epaint-0.32.1.crate) = b66fc0a5a9d322917de9bd3ac7d426ca8aa3127fbf1e76fae5b6b25e051e06a3 -SIZE (rust/crates/epaint-0.32.1.crate) = 105241 -SHA256 (rust/crates/epaint_default_fonts-0.32.1.crate) = 4f6cf8ce0fb817000aa24f5e630bda904a353536bd430b83ebc1dceee95b4a3a -SIZE (rust/crates/epaint_default_fonts-0.32.1.crate) = 784120 +SHA256 (rust/crates/epaint-0.32.2.crate) = 695fd7b458f31fe515d6a308f46b2936cae9316dc40c960a7ee31ce3a97866b9 +SIZE (rust/crates/epaint-0.32.2.crate) = 105458 +SHA256 (rust/crates/epaint_default_fonts-0.32.2.crate) = bbc9f86ce3eaf9b7fc7179a578af21a6a5cd2d4fd21965564e82a2d009a7dab0 +SIZE (rust/crates/epaint_default_fonts-0.32.2.crate) = 784117 SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f SIZE (rust/crates/equivalent-1.0.2.crate) = 7419 -SHA256 (rust/crates/errno-0.3.11.crate) = 976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e -SIZE (rust/crates/errno-0.3.11.crate) = 12048 +SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb +SIZE (rust/crates/errno-0.3.14.crate) = 12002 SHA256 (rust/crates/error-chain-0.12.4.crate) = 2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc SIZE (rust/crates/error-chain-0.12.4.crate) = 29274 -SHA256 (rust/crates/error-code-3.3.1.crate) = a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f -SIZE (rust/crates/error-code-3.3.1.crate) = 7646 +SHA256 (rust/crates/error-code-3.3.2.crate) = dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59 +SIZE (rust/crates/error-code-3.3.2.crate) = 8516 SHA256 (rust/crates/euc-0.5.3.crate) = 0947d06646d28a4ac2862ac5eadc1062704d61ee398b3baba8b4a21e2f1ef5ed SIZE (rust/crates/euc-0.5.3.crate) = 70369 SHA256 (rust/crates/euclid-0.22.11.crate) = ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48 SIZE (rust/crates/euclid-0.22.11.crate) = 79261 -SHA256 (rust/crates/event-listener-5.4.0.crate) = 3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae -SIZE (rust/crates/event-listener-5.4.0.crate) = 43452 +SHA256 (rust/crates/event-listener-5.4.1.crate) = e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab +SIZE (rust/crates/event-listener-5.4.1.crate) = 43782 SHA256 (rust/crates/event-listener-strategy-0.5.4.crate) = 8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93 SIZE (rust/crates/event-listener-strategy-0.5.4.crate) = 16179 SHA256 (rust/crates/fallible-iterator-0.3.0.crate) = 2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649 SIZE (rust/crates/fallible-iterator-0.3.0.crate) = 19639 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/fastbloom-0.14.0.crate) = 18c1ddb9231d8554c2d6bdf4cfaabf0c59251658c68b6c95cd52dd0c513a912a +SIZE (rust/crates/fastbloom-0.14.0.crate) = 23827 SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be SIZE (rust/crates/fastrand-2.3.0.crate) = 15076 SHA256 (rust/crates/fd-lock-4.0.4.crate) = 0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78 SIZE (rust/crates/fd-lock-4.0.4.crate) = 15522 SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188 -SHA256 (rust/crates/filetime-0.2.25.crate) = 35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586 -SIZE (rust/crates/filetime-0.2.25.crate) = 14940 +SHA256 (rust/crates/filetime-0.2.26.crate) = bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed +SIZE (rust/crates/filetime-0.2.26.crate) = 17273 +SHA256 (rust/crates/find-msvc-tools-0.1.1.crate) = 7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d +SIZE (rust/crates/find-msvc-tools-0.1.1.crate) = 30228 SHA256 (rust/crates/find_folder-0.3.0.crate) = 9f6d018fb95a0b59f854aed68ecd96ce2b80af7911b92b1fed3c4b1fa516b91b SIZE (rust/crates/find_folder-0.3.0.crate) = 2617 SHA256 (rust/crates/fixed-1.29.0.crate) = 707070ccf8c4173548210893a0186e29c266901b71ed20cd9e2ca0193dfe95c3 @@ -449,30 +471,32 @@ SHA256 (rust/crates/fixedbitset-0.1.9.crate) = 86d4de0081402f5e88cdac65c8dcdcc73 SIZE (rust/crates/fixedbitset-0.1.9.crate) = 11974 SHA256 (rust/crates/fixedbitset-0.5.7.crate) = 1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99 SIZE (rust/crates/fixedbitset-0.5.7.crate) = 26537 -SHA256 (rust/crates/flate2-1.1.1.crate) = 7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece -SIZE (rust/crates/flate2-1.1.1.crate) = 77224 +SHA256 (rust/crates/flate2-1.1.2.crate) = 4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d +SIZE (rust/crates/flate2-1.1.2.crate) = 76495 SHA256 (rust/crates/float-cmp-0.10.0.crate) = b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8 SIZE (rust/crates/float-cmp-0.10.0.crate) = 10702 -SHA256 (rust/crates/fluent-0.16.1.crate) = bb74634707bebd0ce645a981148e8fb8c7bccd4c33c652aeffd28bf2f96d555a -SIZE (rust/crates/fluent-0.16.1.crate) = 8323 -SHA256 (rust/crates/fluent-bundle-0.15.3.crate) = 7fe0a21ee80050c678013f82edf4b705fe2f26f1f9877593d13198612503f493 -SIZE (rust/crates/fluent-bundle-0.15.3.crate) = 34507 +SHA256 (rust/crates/fluent-0.17.0.crate) = 8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477 +SIZE (rust/crates/fluent-0.17.0.crate) = 10282 +SHA256 (rust/crates/fluent-bundle-0.16.0.crate) = 01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4 +SIZE (rust/crates/fluent-bundle-0.16.0.crate) = 35301 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.1.crate) = 2a530c4694a6a8d528794ee9bbd8ba0122e779629ac908d15ad5a7ae7763a33d -SIZE (rust/crates/fluent-syntax-0.11.1.crate) = 32297 +SHA256 (rust/crates/fluent-syntax-0.12.0.crate) = 54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198 +SIZE (rust/crates/fluent-syntax-0.12.0.crate) = 32438 SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 SIZE (rust/crates/fnv-1.0.7.crate) = 11266 SHA256 (rust/crates/foldhash-0.1.5.crate) = d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2 SIZE (rust/crates/foldhash-0.1.5.crate) = 21901 +SHA256 (rust/crates/foldhash-0.2.0.crate) = 77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb +SIZE (rust/crates/foldhash-0.2.0.crate) = 23329 SHA256 (rust/crates/foreign-types-0.5.0.crate) = d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965 SIZE (rust/crates/foreign-types-0.5.0.crate) = 7824 SHA256 (rust/crates/foreign-types-macros-0.2.3.crate) = 1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742 SIZE (rust/crates/foreign-types-macros-0.2.3.crate) = 7635 SHA256 (rust/crates/foreign-types-shared-0.3.1.crate) = aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b SIZE (rust/crates/foreign-types-shared-0.3.1.crate) = 6006 -SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 -SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969 +SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf +SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347 SHA256 (rust/crates/formatx-0.2.4.crate) = d8866fac38f53fc87fa3ae1b09ddd723e0482f8fa74323518b4c59df2c55a00a SIZE (rust/crates/formatx-0.2.4.crate) = 15119 SHA256 (rust/crates/fs-set-times-0.20.3.crate) = 94e7099f6313ecacbe1256e8ff9d617b75d1bcb16a6fddef94866d225a01a14a @@ -505,30 +529,32 @@ SHA256 (rust/crates/fxprof-processed-profile-0.6.0.crate) = 27d12c0aed7f1e24276a SIZE (rust/crates/fxprof-processed-profile-0.6.0.crate) = 29860 SHA256 (rust/crates/generator-0.7.5.crate) = 5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e SIZE (rust/crates/generator-0.7.5.crate) = 29947 -SHA256 (rust/crates/generator-0.8.4.crate) = cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd -SIZE (rust/crates/generator-0.8.4.crate) = 34400 +SHA256 (rust/crates/generator-0.8.7.crate) = 605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2 +SIZE (rust/crates/generator-0.8.7.crate) = 37332 SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a SIZE (rust/crates/generic-array-0.14.7.crate) = 15950 SHA256 (rust/crates/gethostname-0.2.3.crate) = c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e SIZE (rust/crates/gethostname-0.2.3.crate) = 8174 -SHA256 (rust/crates/gethostname-0.4.3.crate) = 0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818 -SIZE (rust/crates/gethostname-0.4.3.crate) = 9336 +SHA256 (rust/crates/gethostname-1.0.2.crate) = fc257fdb4038301ce4b9cd1b3b51704509692bb3ff716a410cbd07925d9dae55 +SIZE (rust/crates/gethostname-1.0.2.crate) = 9914 SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592 SIZE (rust/crates/getrandom-0.2.16.crate) = 40163 -SHA256 (rust/crates/getrandom-0.3.2.crate) = 73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0 -SIZE (rust/crates/getrandom-0.3.2.crate) = 49140 +SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4 +SIZE (rust/crates/getrandom-0.3.3.crate) = 49493 SHA256 (rust/crates/gilrs-0.10.2.crate) = 62fd19844d0eb919aca41d3e4ea0e0b6bf60e1e827558b101c269015b8f5f27a SIZE (rust/crates/gilrs-0.10.2.crate) = 122308 SHA256 (rust/crates/gilrs-core-0.5.7.crate) = 5ccc99e9b8d63ffcaa334c4babfa31f46e156618a11f63efb6e8e6bcb37b830d SIZE (rust/crates/gilrs-core-0.5.7.crate) = 45141 SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f SIZE (rust/crates/gimli-0.31.1.crate) = 279515 +SHA256 (rust/crates/gimli-0.32.2.crate) = cc6298e594375a7fead9efd5568f0a46e6a154fb6a9bdcbe3c06946ffd81a5f6 +SIZE (rust/crates/gimli-0.32.2.crate) = 289060 SHA256 (rust/crates/gl_generator-0.14.0.crate) = 1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d SIZE (rust/crates/gl_generator-0.14.0.crate) = 22330 -SHA256 (rust/crates/glam-0.30.3.crate) = 6b46b9ca4690308844c644e7c634d68792467260e051c8543e0c7871662b3ba7 -SIZE (rust/crates/glam-0.30.3.crate) = 687669 -SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2 -SIZE (rust/crates/glob-0.3.2.crate) = 22359 +SHA256 (rust/crates/glam-0.30.5.crate) = f2d1aab06663bdce00d6ca5e5ed586ec8d18033a771906c993a1e3755b368d85 +SIZE (rust/crates/glam-0.30.5.crate) = 760688 +SHA256 (rust/crates/glob-0.3.3.crate) = 0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280 +SIZE (rust/crates/glob-0.3.3.crate) = 22861 SHA256 (rust/crates/glow-0.16.0.crate) = c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08 SIZE (rust/crates/glow-0.16.0.crate) = 162118 SHA256 (rust/crates/glutin_wgl_sys-0.6.1.crate) = 2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e @@ -563,18 +589,18 @@ SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b2 SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265 SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498 -SHA256 (rust/crates/hashbrown-0.15.3.crate) = 84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3 -SIZE (rust/crates/hashbrown-0.15.3.crate) = 140413 +SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1 +SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908 +SHA256 (rust/crates/hashbrown-0.16.0.crate) = 5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d +SIZE (rust/crates/hashbrown-0.16.0.crate) = 141708 SHA256 (rust/crates/hashlink-0.9.1.crate) = 6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af SIZE (rust/crates/hashlink-0.9.1.crate) = 28928 SHA256 (rust/crates/heapless-0.8.0.crate) = 0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad SIZE (rust/crates/heapless-0.8.0.crate) = 77802 SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea SIZE (rust/crates/heck-0.5.0.crate) = 11517 -SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc -SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310 -SHA256 (rust/crates/hermit-abi-0.5.0.crate) = fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e -SIZE (rust/crates/hermit-abi-0.5.0.crate) = 17480 +SHA256 (rust/crates/hermit-abi-0.5.2.crate) = fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c +SIZE (rust/crates/hermit-abi-0.5.2.crate) = 17435 SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70 SIZE (rust/crates/hex-0.4.3.crate) = 13299 SHA256 (rust/crates/hexf-parse-0.2.1.crate) = dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df @@ -599,52 +625,46 @@ SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994 SIZE (rust/crates/httpdate-1.0.3.crate) = 10639 SHA256 (rust/crates/humantime-2.2.0.crate) = 9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f SIZE (rust/crates/humantime-2.2.0.crate) = 20646 -SHA256 (rust/crates/hyper-1.6.0.crate) = cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80 -SIZE (rust/crates/hyper-1.6.0.crate) = 153923 -SHA256 (rust/crates/hyper-rustls-0.27.5.crate) = 2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2 -SIZE (rust/crates/hyper-rustls-0.27.5.crate) = 34660 -SHA256 (rust/crates/hyper-util-0.1.11.crate) = 497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2 -SIZE (rust/crates/hyper-util-0.1.11.crate) = 75973 +SHA256 (rust/crates/hyper-1.7.0.crate) = eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e +SIZE (rust/crates/hyper-1.7.0.crate) = 157006 +SHA256 (rust/crates/hyper-rustls-0.27.7.crate) = e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58 +SIZE (rust/crates/hyper-rustls-0.27.7.crate) = 35435 +SHA256 (rust/crates/hyper-util-0.1.16.crate) = 8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e +SIZE (rust/crates/hyper-util-0.1.16.crate) = 101184 SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8 SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919 SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185 -SHA256 (rust/crates/icu_collections-1.5.0.crate) = db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526 -SIZE (rust/crates/icu_collections-1.5.0.crate) = 82762 -SHA256 (rust/crates/icu_locid-1.5.0.crate) = 13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637 -SIZE (rust/crates/icu_locid-1.5.0.crate) = 55131 -SHA256 (rust/crates/icu_locid_transform-1.5.0.crate) = 01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e -SIZE (rust/crates/icu_locid_transform-1.5.0.crate) = 29094 -SHA256 (rust/crates/icu_locid_transform_data-1.5.1.crate) = 7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d -SIZE (rust/crates/icu_locid_transform_data-1.5.1.crate) = 42937 -SHA256 (rust/crates/icu_normalizer-1.5.0.crate) = 19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f -SIZE (rust/crates/icu_normalizer-1.5.0.crate) = 53113 -SHA256 (rust/crates/icu_normalizer_data-1.5.1.crate) = c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7 -SIZE (rust/crates/icu_normalizer_data-1.5.1.crate) = 50737 -SHA256 (rust/crates/icu_properties-1.5.1.crate) = 93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5 -SIZE (rust/crates/icu_properties-1.5.1.crate) = 64479 -SHA256 (rust/crates/icu_properties_data-1.5.1.crate) = 85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2 -SIZE (rust/crates/icu_properties_data-1.5.1.crate) = 229231 -SHA256 (rust/crates/icu_provider-1.5.0.crate) = 6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9 -SIZE (rust/crates/icu_provider-1.5.0.crate) = 52722 -SHA256 (rust/crates/icu_provider_macros-1.5.0.crate) = 1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6 -SIZE (rust/crates/icu_provider_macros-1.5.0.crate) = 6436 +SHA256 (rust/crates/icu_collections-2.0.0.crate) = 200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47 +SIZE (rust/crates/icu_collections-2.0.0.crate) = 83033 +SHA256 (rust/crates/icu_locale_core-2.0.0.crate) = 0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a +SIZE (rust/crates/icu_locale_core-2.0.0.crate) = 74430 +SHA256 (rust/crates/icu_normalizer-2.0.0.crate) = 436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979 +SIZE (rust/crates/icu_normalizer-2.0.0.crate) = 61543 +SHA256 (rust/crates/icu_normalizer_data-2.0.0.crate) = 00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3 +SIZE (rust/crates/icu_normalizer_data-2.0.0.crate) = 68101 +SHA256 (rust/crates/icu_properties-2.0.1.crate) = 016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b +SIZE (rust/crates/icu_properties-2.0.1.crate) = 58165 +SHA256 (rust/crates/icu_properties_data-2.0.1.crate) = 298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632 +SIZE (rust/crates/icu_properties_data-2.0.1.crate) = 159735 +SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af +SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966 SHA256 (rust/crates/id-arena-2.2.1.crate) = 25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005 SIZE (rust/crates/id-arena-2.2.1.crate) = 12203 SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39 SIZE (rust/crates/ident_case-1.0.1.crate) = 3492 -SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e -SIZE (rust/crates/idna-1.0.3.crate) = 142515 -SHA256 (rust/crates/idna_adapter-1.2.0.crate) = daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71 -SIZE (rust/crates/idna_adapter-1.2.0.crate) = 8206 -SHA256 (rust/crates/image-0.25.6.crate) = db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a -SIZE (rust/crates/image-0.25.6.crate) = 242367 +SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de +SIZE (rust/crates/idna-1.1.0.crate) = 148747 +SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344 +SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389 +SHA256 (rust/crates/image-0.25.8.crate) = 529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7 +SIZE (rust/crates/image-0.25.8.crate) = 292229 SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99 SIZE (rust/crates/indexmap-1.9.3.crate) = 54653 -SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e -SIZE (rust/crates/indexmap-2.9.0.crate) = 91214 -SHA256 (rust/crates/indicatif-0.17.11.crate) = 183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235 -SIZE (rust/crates/indicatif-0.17.11.crate) = 66577 +SHA256 (rust/crates/indexmap-2.11.1.crate) = 206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921 +SIZE (rust/crates/indexmap-2.11.1.crate) = 99966 +SHA256 (rust/crates/indicatif-0.18.0.crate) = 70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd +SIZE (rust/crates/indicatif-0.18.0.crate) = 67969 SHA256 (rust/crates/indoc-2.0.6.crate) = f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd SIZE (rust/crates/indoc-2.0.6.crate) = 17164 SHA256 (rust/crates/init_with-1.1.0.crate) = 0175f63815ce00183bf755155ad0cb48c65226c5d17a724e369c25418d2b7699 @@ -653,18 +673,16 @@ SHA256 (rust/crates/inline_tweak-1.2.2.crate) = e09cc2491a8419aa3d0b03b92297cfaf SIZE (rust/crates/inline_tweak-1.2.2.crate) = 15843 SHA256 (rust/crates/inline_tweak_derive-4.0.0.crate) = 6864ad6962b49a8fc7ce8cfa60ee0725aa543f15fc7e5f34753ccfa881dd6759 SIZE (rust/crates/inline_tweak_derive-4.0.0.crate) = 2535 -SHA256 (rust/crates/inotify-0.9.6.crate) = f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff -SIZE (rust/crates/inotify-0.9.6.crate) = 22971 SHA256 (rust/crates/inotify-0.11.0.crate) = f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3 SIZE (rust/crates/inotify-0.11.0.crate) = 26241 SHA256 (rust/crates/inotify-sys-0.1.5.crate) = e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb SIZE (rust/crates/inotify-sys-0.1.5.crate) = 6965 -SHA256 (rust/crates/instability-0.3.7.crate) = 0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d -SIZE (rust/crates/instability-0.3.7.crate) = 13682 +SHA256 (rust/crates/instability-0.3.9.crate) = 435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a +SIZE (rust/crates/instability-0.3.9.crate) = 14451 SHA256 (rust/crates/instant-0.1.13.crate) = e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222 SIZE (rust/crates/instant-0.1.13.crate) = 6305 -SHA256 (rust/crates/intl-memoizer-0.5.2.crate) = fe22e020fce238ae18a6d5d8c502ee76a52a6e880d99477657e6acc30ec57bda -SIZE (rust/crates/intl-memoizer-0.5.2.crate) = 11708 +SHA256 (rust/crates/intl-memoizer-0.5.3.crate) = 310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f +SIZE (rust/crates/intl-memoizer-0.5.3.crate) = 12171 SHA256 (rust/crates/intl_pluralrules-7.0.2.crate) = 078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972 SIZE (rust/crates/intl_pluralrules-7.0.2.crate) = 9201 SHA256 (rust/crates/io-extras-0.18.4.crate) = 2285ddfe3054097ef4b2fe909ef8c3bcd1ea52a8f0d274416caebeef39f04a65 @@ -673,20 +691,18 @@ SHA256 (rust/crates/io-kit-sys-0.3.0.crate) = 9b2d4429acc1deff0fbdece0325b4997bd SIZE (rust/crates/io-kit-sys-0.3.0.crate) = 38799 SHA256 (rust/crates/io-lifetimes-2.0.4.crate) = 06432fb54d3be7964ecd3649233cddf80db2832f47fec34c01f65b3d9d774983 SIZE (rust/crates/io-lifetimes-2.0.4.crate) = 28501 +SHA256 (rust/crates/io-uring-0.7.10.crate) = 046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b +SIZE (rust/crates/io-uring-0.7.10.crate) = 103070 SHA256 (rust/crates/ipconfig-0.3.2.crate) = b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f SIZE (rust/crates/ipconfig-0.3.2.crate) = 24468 SHA256 (rust/crates/ipnet-2.11.0.crate) = 469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130 SIZE (rust/crates/ipnet-2.11.0.crate) = 29718 SHA256 (rust/crates/is-docker-0.2.0.crate) = 928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3 SIZE (rust/crates/is-docker-0.2.0.crate) = 2664 -SHA256 (rust/crates/is-terminal-0.4.16.crate) = e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9 -SIZE (rust/crates/is-terminal-0.4.16.crate) = 7811 SHA256 (rust/crates/is-wsl-0.4.0.crate) = 173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5 SIZE (rust/crates/is-wsl-0.4.0.crate) = 3264 SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492 -SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473 -SIZE (rust/crates/itertools-0.10.5.crate) = 115354 SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569 SIZE (rust/crates/itertools-0.12.1.crate) = 137761 SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186 @@ -703,18 +719,18 @@ SHA256 (rust/crates/jni-0.21.1.crate) = 1a87aa2bb7d2af34197c04845522473242e1aa17 SIZE (rust/crates/jni-0.21.1.crate) = 105028 SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130 SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232 -SHA256 (rust/crates/jobserver-0.1.33.crate) = 38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a -SIZE (rust/crates/jobserver-0.1.33.crate) = 29136 -SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f -SIZE (rust/crates/js-sys-0.3.77.crate) = 55538 +SHA256 (rust/crates/jobserver-0.1.34.crate) = 9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33 +SIZE (rust/crates/jobserver-0.1.34.crate) = 29013 +SHA256 (rust/crates/js-sys-0.3.78.crate) = 0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738 +SIZE (rust/crates/js-sys-0.3.78.crate) = 56010 SHA256 (rust/crates/khronos-egl-6.0.0.crate) = 6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76 SIZE (rust/crates/khronos-egl-6.0.0.crate) = 29315 SHA256 (rust/crates/khronos_api-3.1.0.crate) = e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc SIZE (rust/crates/khronos_api-3.1.0.crate) = 599718 SHA256 (rust/crates/kiddo-4.2.0.crate) = 9d2f8d9e1bc7c6919ad2cdc83472a9a4b5ed2ea2c5392c9514fdf958a7920f9a SIZE (rust/crates/kiddo-4.2.0.crate) = 147212 -SHA256 (rust/crates/kqueue-1.0.8.crate) = 7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c -SIZE (rust/crates/kqueue-1.0.8.crate) = 12642 +SHA256 (rust/crates/kqueue-1.1.1.crate) = eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a +SIZE (rust/crates/kqueue-1.1.1.crate) = 21504 SHA256 (rust/crates/kqueue-sys-1.0.4.crate) = ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b SIZE (rust/crates/kqueue-sys-1.0.4.crate) = 7160 SHA256 (rust/crates/lazy-bytes-cast-5.0.1.crate) = 10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b @@ -727,16 +743,16 @@ SHA256 (rust/crates/leb128fmt-0.1.0.crate) = 09edd9e8b54e49e587e4f6295a7d29c3ea9 SIZE (rust/crates/leb128fmt-0.1.0.crate) = 14138 SHA256 (rust/crates/levenshtein-1.0.5.crate) = db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760 SIZE (rust/crates/levenshtein-1.0.5.crate) = 1389 -SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa -SIZE (rust/crates/libc-0.2.172.crate) = 791646 -SHA256 (rust/crates/libloading-0.8.6.crate) = fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34 -SIZE (rust/crates/libloading-0.8.6.crate) = 28922 -SHA256 (rust/crates/libm-0.2.14.crate) = a25169bd5913a4b437588a7e3d127cd6e90127b60e0ffbd834a38f1599e016b8 -SIZE (rust/crates/libm-0.2.14.crate) = 155948 +SHA256 (rust/crates/libc-0.2.175.crate) = 6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543 +SIZE (rust/crates/libc-0.2.175.crate) = 788728 +SHA256 (rust/crates/libloading-0.8.8.crate) = 07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667 +SIZE (rust/crates/libloading-0.8.8.crate) = 31345 +SHA256 (rust/crates/libm-0.2.15.crate) = f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de +SIZE (rust/crates/libm-0.2.15.crate) = 156108 SHA256 (rust/crates/libmimalloc-sys-0.1.39.crate) = 23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44 SIZE (rust/crates/libmimalloc-sys-0.1.39.crate) = 198523 -SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d -SIZE (rust/crates/libredox-0.1.3.crate) = 6068 +SHA256 (rust/crates/libredox-0.1.9.crate) = 391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3 +SIZE (rust/crates/libredox-0.1.9.crate) = 7281 SHA256 (rust/crates/libsqlite3-sys-0.28.0.crate) = 0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f SIZE (rust/crates/libsqlite3-sys-0.28.0.crate) = 4975624 SHA256 (rust/crates/libudev-sys-0.1.4.crate) = 3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324 @@ -745,46 +761,48 @@ SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09 SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049 SHA256 (rust/crates/linux-raw-sys-0.4.15.crate) = d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab SIZE (rust/crates/linux-raw-sys-0.4.15.crate) = 2150898 -SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12 -SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088 -SHA256 (rust/crates/litemap-0.7.5.crate) = 23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856 -SIZE (rust/crates/litemap-0.7.5.crate) = 29962 +SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039 +SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624 +SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956 +SIZE (rust/crates/litemap-0.8.0.crate) = 34344 SHA256 (rust/crates/litrs-0.4.2.crate) = f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed SIZE (rust/crates/litrs-0.4.2.crate) = 43399 -SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17 -SIZE (rust/crates/lock_api-0.4.12.crate) = 27591 -SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94 -SIZE (rust/crates/log-0.4.27.crate) = 48120 +SHA256 (rust/crates/lock_api-0.4.13.crate) = 96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765 +SIZE (rust/crates/lock_api-0.4.13.crate) = 28565 +SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432 +SIZE (rust/crates/log-0.4.28.crate) = 51131 SHA256 (rust/crates/loom-0.7.2.crate) = 419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca SIZE (rust/crates/loom-0.7.2.crate) = 73989 SHA256 (rust/crates/lru-0.12.5.crate) = 234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38 SIZE (rust/crates/lru-0.12.5.crate) = 16047 +SHA256 (rust/crates/lru-slab-0.1.2.crate) = 112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154 +SIZE (rust/crates/lru-slab-0.1.2.crate) = 9090 SHA256 (rust/crates/lz-fear-0.2.0.crate) = 26a280471e5ff9dda51cf34863c338ffde7df78139210f9c819943b29cdb091d SIZE (rust/crates/lz-fear-0.2.0.crate) = 142438 -SHA256 (rust/crates/mach2-0.4.2.crate) = 19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709 -SIZE (rust/crates/mach2-0.4.2.crate) = 21889 +SHA256 (rust/crates/mach2-0.4.3.crate) = d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44 +SIZE (rust/crates/mach2-0.4.3.crate) = 22180 SHA256 (rust/crates/macro_rules_attribute-0.1.3.crate) = cf0c9b980bf4f3a37fd7b1c066941dd1b1d0152ce6ee6e8fe8c49b9f6810d862 SIZE (rust/crates/macro_rules_attribute-0.1.3.crate) = 15228 SHA256 (rust/crates/macro_rules_attribute-proc_macro-0.1.3.crate) = 58093314a45e00c77d5c508f76e77c3396afbbc0d01506e7fae47b018bac2b1d SIZE (rust/crates/macro_rules_attribute-proc_macro-0.1.3.crate) = 8249 SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239 -SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558 -SIZE (rust/crates/matchers-0.1.0.crate) = 6948 +SHA256 (rust/crates/matchers-0.2.0.crate) = d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9 +SIZE (rust/crates/matchers-0.2.0.crate) = 7075 SHA256 (rust/crates/matchit-0.8.4.crate) = 47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3 SIZE (rust/crates/matchit-0.8.4.crate) = 33986 SHA256 (rust/crates/maybe-owned-0.3.4.crate) = 4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4 SIZE (rust/crates/maybe-owned-0.3.4.crate) = 14308 SHA256 (rust/crates/maybe-uninit-2.0.0.crate) = 60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00 SIZE (rust/crates/maybe-uninit-2.0.0.crate) = 11809 -SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 -SIZE (rust/crates/memchr-2.7.4.crate) = 96670 -SHA256 (rust/crates/memfd-0.6.4.crate) = b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64 -SIZE (rust/crates/memfd-0.6.4.crate) = 12820 +SHA256 (rust/crates/memchr-2.7.5.crate) = 32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0 +SIZE (rust/crates/memchr-2.7.5.crate) = 97603 +SHA256 (rust/crates/memfd-0.6.5.crate) = ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227 +SIZE (rust/crates/memfd-0.6.5.crate) = 12909 SHA256 (rust/crates/memmap2-0.5.10.crate) = 83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327 SIZE (rust/crates/memmap2-0.5.10.crate) = 26847 -SHA256 (rust/crates/memmap2-0.9.5.crate) = fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f -SIZE (rust/crates/memmap2-0.9.5.crate) = 33280 +SHA256 (rust/crates/memmap2-0.9.8.crate) = 843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7 +SIZE (rust/crates/memmap2-0.9.8.crate) = 34478 SHA256 (rust/crates/memoffset-0.5.6.crate) = 043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa SIZE (rust/crates/memoffset-0.5.6.crate) = 7382 SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce @@ -799,16 +817,16 @@ SHA256 (rust/crates/minifb-0.28.0.crate) = d1a093126f2ed9012fc0b146934c97eb0273e SIZE (rust/crates/minifb-0.28.0.crate) = 99664 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.8.8.crate) = 3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a -SIZE (rust/crates/miniz_oxide-0.8.8.crate) = 67065 +SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316 +SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132 SHA256 (rust/crates/mint-0.5.9.crate) = e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff SIZE (rust/crates/mint-0.5.9.crate) = 8399 -SHA256 (rust/crates/mio-0.8.11.crate) = a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c -SIZE (rust/crates/mio-0.8.11.crate) = 102983 -SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd -SIZE (rust/crates/mio-1.0.3.crate) = 103703 +SHA256 (rust/crates/mio-1.0.4.crate) = 78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c +SIZE (rust/crates/mio-1.0.4.crate) = 104212 SHA256 (rust/crates/moka-0.12.10.crate) = a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926 SIZE (rust/crates/moka-0.12.10.crate) = 253622 +SHA256 (rust/crates/moxcms-0.7.5.crate) = ddd32fa8935aeadb8a8a6b6b351e40225570a37c43de67690383d87ef170cd08 +SIZE (rust/crates/moxcms-0.7.5.crate) = 184232 SHA256 (rust/crates/mumble-link-0.2.0.crate) = c7f4c53745d4e7afd0faaf6ee46c0c3114d4b7d0db63bef96917751906453285 SIZE (rust/crates/mumble-link-0.2.0.crate) = 11204 SHA256 (rust/crates/naga-26.0.0.crate) = 916cbc7cb27db60be930a4e2da243cf4bc39569195f22fd8ee419cd31d5b662c @@ -831,8 +849,8 @@ SHA256 (rust/crates/nix-0.24.3.crate) = fa52e972a9a719cecb6864fb88568781eb706bac SIZE (rust/crates/nix-0.24.3.crate) = 266843 SHA256 (rust/crates/nix-0.26.4.crate) = 598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b SIZE (rust/crates/nix-0.26.4.crate) = 279099 -SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46 -SIZE (rust/crates/nix-0.29.0.crate) = 318248 +SHA256 (rust/crates/nix-0.30.1.crate) = 74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6 +SIZE (rust/crates/nix-0.30.1.crate) = 342015 SHA256 (rust/crates/nohash-hasher-0.2.0.crate) = 2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451 SIZE (rust/crates/nohash-hasher-0.2.0.crate) = 8051 SHA256 (rust/crates/noise-0.9.0.crate) = 6da45c8333f2e152fc665d78a380be060eb84fad8ca4c9f7ac8ca29216cff0cc @@ -841,18 +859,16 @@ SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b SIZE (rust/crates/nom-7.1.3.crate) = 117570 SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405 SIZE (rust/crates/nom-8.0.0.crate) = 135590 -SHA256 (rust/crates/notify-6.1.1.crate) = 6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d -SIZE (rust/crates/notify-6.1.1.crate) = 40117 -SHA256 (rust/crates/notify-8.0.0.crate) = 2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943 -SIZE (rust/crates/notify-8.0.0.crate) = 35590 +SHA256 (rust/crates/notify-8.2.0.crate) = 4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3 +SIZE (rust/crates/notify-8.2.0.crate) = 39067 SHA256 (rust/crates/notify-types-2.0.0.crate) = 5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d SIZE (rust/crates/notify-types-2.0.0.crate) = 14495 SHA256 (rust/crates/nougat-0.2.4.crate) = 97b57b9ced431322f054fc673f1d3c7fa52d80efd9df74ad2fc759f044742510 SIZE (rust/crates/nougat-0.2.4.crate) = 15141 SHA256 (rust/crates/nougat-proc_macros-0.2.4.crate) = c84f77a45e99a2f9b492695d99e1c23844619caa5f3e57647cffacad773ca257 SIZE (rust/crates/nougat-proc_macros-0.2.4.crate) = 10082 -SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84 -SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311 +SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399 +SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536 SHA256 (rust/crates/num-0.2.1.crate) = b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36 SIZE (rust/crates/num-0.2.1.crate) = 9082 SHA256 (rust/crates/num-0.4.3.crate) = 35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23 @@ -881,12 +897,10 @@ SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0 SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 SHA256 (rust/crates/num_cpus-1.17.0.crate) = 91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b SIZE (rust/crates/num_cpus-1.17.0.crate) = 15874 -SHA256 (rust/crates/num_enum-0.7.3.crate) = 4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179 -SIZE (rust/crates/num_enum-0.7.3.crate) = 18603 -SHA256 (rust/crates/num_enum_derive-0.7.3.crate) = af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56 -SIZE (rust/crates/num_enum_derive-0.7.3.crate) = 17092 -SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3 -SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922 +SHA256 (rust/crates/num_enum-0.7.4.crate) = a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a +SIZE (rust/crates/num_enum-0.7.4.crate) = 21553 +SHA256 (rust/crates/num_enum_derive-0.7.4.crate) = 77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d +SIZE (rust/crates/num_enum_derive-0.7.4.crate) = 18167 SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1 SIZE (rust/crates/objc-0.2.7.crate) = 22036 SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9 @@ -895,8 +909,8 @@ SHA256 (rust/crates/objc-sys-0.3.5.crate) = cdb91bdd390c7ce1a8607f35f3ca7151b65a SIZE (rust/crates/objc-sys-0.3.5.crate) = 20560 SHA256 (rust/crates/objc2-0.5.2.crate) = 46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804 SIZE (rust/crates/objc2-0.5.2.crate) = 199204 -SHA256 (rust/crates/objc2-0.6.1.crate) = 88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551 -SIZE (rust/crates/objc2-0.6.1.crate) = 270980 +SHA256 (rust/crates/objc2-0.6.2.crate) = 561f357ba7f3a2a61563a186a163d0a3a5247e1089524a3981d49adb775078bc +SIZE (rust/crates/objc2-0.6.2.crate) = 272954 SHA256 (rust/crates/objc2-app-kit-0.2.2.crate) = e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff SIZE (rust/crates/objc2-app-kit-0.2.2.crate) = 337435 SHA256 (rust/crates/objc2-app-kit-0.3.1.crate) = e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc @@ -951,12 +965,16 @@ SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b SIZE (rust/crates/objc_id-0.1.1.crate) = 3258 SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87 SIZE (rust/crates/object-0.36.7.crate) = 329938 +SHA256 (rust/crates/object-0.37.3.crate) = ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe +SIZE (rust/crates/object-0.37.3.crate) = 344032 SHA256 (rust/crates/oboe-0.6.1.crate) = e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb SIZE (rust/crates/oboe-0.6.1.crate) = 24588 SHA256 (rust/crates/oboe-sys-0.6.1.crate) = 6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d SIZE (rust/crates/oboe-sys-0.6.1.crate) = 169091 SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d SIZE (rust/crates/once_cell-1.21.3.crate) = 34534 +SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad +SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510 SHA256 (rust/crates/oorandom-11.1.5.crate) = d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e SIZE (rust/crates/oorandom-11.1.5.crate) = 23750 SHA256 (rust/crates/open-5.3.2.crate) = e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95 @@ -973,38 +991,30 @@ SHA256 (rust/crates/ordered-float-4.6.0.crate) = 7bb71e1b3fa6ca1c61f383464aaf2bb SIZE (rust/crates/ordered-float-4.6.0.crate) = 23633 SHA256 (rust/crates/ordered-float-5.0.0.crate) = e2c1f9f56e534ac6a9b8a4600bdf0f530fb393b5f393e7b4d03489c3cf0c3f01 SIZE (rust/crates/ordered-float-5.0.0.crate) = 23364 -SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39 -SIZE (rust/crates/overload-0.1.1.crate) = 24439 -SHA256 (rust/crates/owned_ttf_parser-0.25.0.crate) = 22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4 -SIZE (rust/crates/owned_ttf_parser-0.25.0.crate) = 151164 +SHA256 (rust/crates/owned_ttf_parser-0.25.1.crate) = 36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b +SIZE (rust/crates/owned_ttf_parser-0.25.1.crate) = 8989 SHA256 (rust/crates/parking-2.2.1.crate) = f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba SIZE (rust/crates/parking-2.2.1.crate) = 10685 -SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27 -SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860 -SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 -SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406 -SHA256 (rust/crates/parse-zoneinfo-0.3.1.crate) = 1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24 -SIZE (rust/crates/parse-zoneinfo-0.3.1.crate) = 97290 +SHA256 (rust/crates/parking_lot-0.12.4.crate) = 70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13 +SIZE (rust/crates/parking_lot-0.12.4.crate) = 46779 +SHA256 (rust/crates/parking_lot_core-0.9.11.crate) = bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5 +SIZE (rust/crates/parking_lot_core-0.9.11.crate) = 34773 SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a SIZE (rust/crates/paste-1.0.15.crate) = 18374 SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3 SIZE (rust/crates/pathdiff-0.2.3.crate) = 7495 SHA256 (rust/crates/pem-3.0.5.crate) = 38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3 SIZE (rust/crates/pem-3.0.5.crate) = 18140 -SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e -SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 +SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220 +SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583 SHA256 (rust/crates/petgraph-0.4.13.crate) = 9c3659d1ee90221741f65dd128d9998311b0e40c5d3c23a62445938214abce4f SIZE (rust/crates/petgraph-0.4.13.crate) = 111936 -SHA256 (rust/crates/petgraph-0.8.1.crate) = 7a98c6720655620a521dcc722d0ad66cd8afd5d86e34a89ef691c50b7b24de06 -SIZE (rust/crates/petgraph-0.8.1.crate) = 763960 -SHA256 (rust/crates/phf-0.11.3.crate) = 1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078 -SIZE (rust/crates/phf-0.11.3.crate) = 23231 -SHA256 (rust/crates/phf_codegen-0.11.3.crate) = aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a -SIZE (rust/crates/phf_codegen-0.11.3.crate) = 13741 -SHA256 (rust/crates/phf_generator-0.11.3.crate) = 3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d -SIZE (rust/crates/phf_generator-0.11.3.crate) = 15431 -SHA256 (rust/crates/phf_shared-0.11.3.crate) = 67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5 -SIZE (rust/crates/phf_shared-0.11.3.crate) = 15199 +SHA256 (rust/crates/petgraph-0.8.2.crate) = 54acf3a685220b533e437e264e4d932cfbdc4cc7ec0cd232ed73c08d03b8a7ca +SIZE (rust/crates/petgraph-0.8.2.crate) = 780998 +SHA256 (rust/crates/phf-0.12.1.crate) = 913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7 +SIZE (rust/crates/phf-0.12.1.crate) = 23768 +SHA256 (rust/crates/phf_shared-0.12.1.crate) = 06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981 +SIZE (rust/crates/phf_shared-0.12.1.crate) = 15568 SHA256 (rust/crates/pin-project-1.1.10.crate) = 677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a SIZE (rust/crates/pin-project-1.1.10.crate) = 56348 SHA256 (rust/crates/pin-project-internal-1.1.10.crate) = 6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861 @@ -1023,14 +1033,18 @@ SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c1 SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370 SHA256 (rust/crates/png-0.17.16.crate) = 82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526 SIZE (rust/crates/png-0.17.16.crate) = 117975 -SHA256 (rust/crates/polling-3.7.4.crate) = a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f -SIZE (rust/crates/polling-3.7.4.crate) = 58239 -SHA256 (rust/crates/portable-atomic-1.11.0.crate) = 350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e -SIZE (rust/crates/portable-atomic-1.11.0.crate) = 181258 +SHA256 (rust/crates/png-0.18.0.crate) = 97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0 +SIZE (rust/crates/png-0.18.0.crate) = 118041 +SHA256 (rust/crates/polling-3.10.0.crate) = b5bd19146350fe804f7cb2669c851c03d69da628803dab0d98018142aaa5d829 +SIZE (rust/crates/polling-3.10.0.crate) = 60095 +SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483 +SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506 SHA256 (rust/crates/portable-atomic-util-0.2.4.crate) = d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507 SIZE (rust/crates/portable-atomic-util-0.2.4.crate) = 47043 -SHA256 (rust/crates/postcard-1.1.1.crate) = 170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8 -SIZE (rust/crates/postcard-1.1.1.crate) = 35639 +SHA256 (rust/crates/postcard-1.1.3.crate) = 6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24 +SIZE (rust/crates/postcard-1.1.3.crate) = 43968 +SHA256 (rust/crates/potential_utf-0.1.3.crate) = 84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a +SIZE (rust/crates/potential_utf-0.1.3.crate) = 9698 SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391 SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165 SHA256 (rust/crates/pp-rs-0.2.1.crate) = bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee @@ -1047,12 +1061,12 @@ SHA256 (rust/crates/proc-macro-nested-0.1.7.crate) = bc881b2c22681370c6a780e47af SIZE (rust/crates/proc-macro-nested-0.1.7.crate) = 6495 SHA256 (rust/crates/proc-macro2-0.4.30.crate) = cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759 SIZE (rust/crates/proc-macro2-0.4.30.crate) = 34731 -SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778 -SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820 -SHA256 (rust/crates/profiling-1.0.16.crate) = afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d -SIZE (rust/crates/profiling-1.0.16.crate) = 12588 -SHA256 (rust/crates/profiling-procmacros-1.0.16.crate) = a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30 -SIZE (rust/crates/profiling-procmacros-1.0.16.crate) = 5893 +SHA256 (rust/crates/proc-macro2-1.0.101.crate) = 89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de +SIZE (rust/crates/proc-macro2-1.0.101.crate) = 53886 +SHA256 (rust/crates/profiling-1.0.17.crate) = 3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773 +SIZE (rust/crates/profiling-1.0.17.crate) = 13493 +SHA256 (rust/crates/profiling-procmacros-1.0.17.crate) = 52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b +SIZE (rust/crates/profiling-procmacros-1.0.17.crate) = 5895 SHA256 (rust/crates/prometheus-0.14.0.crate) = 3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a SIZE (rust/crates/prometheus-0.14.0.crate) = 90035 SHA256 (rust/crates/prometheus-hyper-0.2.1.crate) = 60d6eeac44b972d6f552e8aaec7f869200aef42f14ddffdddde308b94d0c066e @@ -1063,30 +1077,34 @@ SHA256 (rust/crates/protocol-derive-3.4.0.crate) = 28647f30298898ead966b51e9aee5 SIZE (rust/crates/protocol-derive-3.4.0.crate) = 8347 SHA256 (rust/crates/psm-0.1.26.crate) = 6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f SIZE (rust/crates/psm-0.1.26.crate) = 23541 -SHA256 (rust/crates/pulley-interpreter-29.0.1.crate) = 62d95f8575df49a2708398182f49a888cf9dc30210fb1fd2df87c889edcee75d -SIZE (rust/crates/pulley-interpreter-29.0.1.crate) = 55917 +SHA256 (rust/crates/pulley-interpreter-36.0.2.crate) = e4e2d31146038fd9e62bfa331db057aca325d5ca10451a9fe341356cead7da53 +SIZE (rust/crates/pulley-interpreter-36.0.2.crate) = 66122 +SHA256 (rust/crates/pulley-macros-36.0.2.crate) = efb9fdafaca625f9ea8cfa793364ea1bdd32d306cff18f166b00ddaa61ecbb27 +SIZE (rust/crates/pulley-macros-36.0.2.crate) = 2349 +SHA256 (rust/crates/pxfm-0.1.23.crate) = f55f4fedc84ed39cb7a489322318976425e42a147e2be79d8f878e2884f94e84 +SIZE (rust/crates/pxfm-0.1.23.crate) = 1219248 SHA256 (rust/crates/quick-xml-0.37.5.crate) = 331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb SIZE (rust/crates/quick-xml-0.37.5.crate) = 190481 -SHA256 (rust/crates/quinn-0.11.7.crate) = c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012 -SIZE (rust/crates/quinn-0.11.7.crate) = 79387 -SHA256 (rust/crates/quinn-proto-0.11.11.crate) = bcbafbbdbb0f638fe3f35f3c56739f77a8a1d070cb25603226c83339b391472b -SIZE (rust/crates/quinn-proto-0.11.11.crate) = 229381 -SHA256 (rust/crates/quinn-udp-0.5.12.crate) = ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842 -SIZE (rust/crates/quinn-udp-0.5.12.crate) = 31825 +SHA256 (rust/crates/quinn-0.11.9.crate) = b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20 +SIZE (rust/crates/quinn-0.11.9.crate) = 83606 +SHA256 (rust/crates/quinn-proto-0.11.13.crate) = f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31 +SIZE (rust/crates/quinn-proto-0.11.13.crate) = 243837 +SHA256 (rust/crates/quinn-udp-0.5.14.crate) = addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd +SIZE (rust/crates/quinn-udp-0.5.14.crate) = 33436 SHA256 (rust/crates/quote-0.6.13.crate) = 6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1 SIZE (rust/crates/quote-0.6.13.crate) = 17475 SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d SIZE (rust/crates/quote-1.0.40.crate) = 31063 -SHA256 (rust/crates/r-efi-5.2.0.crate) = 74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5 -SIZE (rust/crates/r-efi-5.2.0.crate) = 64764 +SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f +SIZE (rust/crates/r-efi-5.3.0.crate) = 64532 SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 SIZE (rust/crates/radium-0.7.0.crate) = 10906 SHA256 (rust/crates/radix_trie-0.2.1.crate) = c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd SIZE (rust/crates/radix_trie-0.2.1.crate) = 251366 SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 SIZE (rust/crates/rand-0.8.5.crate) = 87113 -SHA256 (rust/crates/rand-0.9.1.crate) = 9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97 -SIZE (rust/crates/rand-0.9.1.crate) = 97986 +SHA256 (rust/crates/rand-0.9.2.crate) = 6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1 +SIZE (rust/crates/rand-0.9.2.crate) = 99930 SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251 SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb @@ -1103,42 +1121,46 @@ SHA256 (rust/crates/ratatui-0.29.0.crate) = eabd94c2f37801c20583fc49dd5cd6b0ba68 SIZE (rust/crates/ratatui-0.29.0.crate) = 543514 SHA256 (rust/crates/raw-window-handle-0.6.2.crate) = 20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539 SIZE (rust/crates/raw-window-handle-0.6.2.crate) = 20234 -SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa -SIZE (rust/crates/rayon-1.10.0.crate) = 180155 -SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2 -SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701 -SHA256 (rust/crates/rcgen-0.13.2.crate) = 75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2 -SIZE (rust/crates/rcgen-0.13.2.crate) = 77836 +SHA256 (rust/crates/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f +SIZE (rust/crates/rayon-1.11.0.crate) = 182470 +SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91 +SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151 +SHA256 (rust/crates/rcgen-0.14.3.crate) = 0068c5b3cab1d4e271e0bb6539c87563c43411cad90b057b15c79958fbeb41f7 +SIZE (rust/crates/rcgen-0.14.3.crate) = 78302 SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858 -SHA256 (rust/crates/redox_syscall-0.5.12.crate) = 928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af -SIZE (rust/crates/redox_syscall-0.5.12.crate) = 29544 +SHA256 (rust/crates/redox_syscall-0.5.17.crate) = 5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77 +SIZE (rust/crates/redox_syscall-0.5.17.crate) = 30002 SHA256 (rust/crates/redox_users-0.4.6.crate) = ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43 SIZE (rust/crates/redox_users-0.4.6.crate) = 15585 -SHA256 (rust/crates/redox_users-0.5.0.crate) = dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b -SIZE (rust/crates/redox_users-0.5.0.crate) = 15586 +SHA256 (rust/crates/redox_users-0.5.2.crate) = a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac +SIZE (rust/crates/redox_users-0.5.2.crate) = 17280 +SHA256 (rust/crates/ref-cast-1.0.24.crate) = 4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf +SIZE (rust/crates/ref-cast-1.0.24.crate) = 15252 +SHA256 (rust/crates/ref-cast-impl-1.0.24.crate) = 1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7 +SIZE (rust/crates/ref-cast-impl-1.0.24.crate) = 9968 SHA256 (rust/crates/refinery-0.8.16.crate) = 7ba5d693abf62492c37268512ff35b77655d2e957ca53dab85bf993fe9172d15 SIZE (rust/crates/refinery-0.8.16.crate) = 31584 SHA256 (rust/crates/refinery-core-0.8.16.crate) = 8a83581f18c1a4c3a6ebd7a174bdc665f17f618d79f7edccb6a0ac67e660b319 SIZE (rust/crates/refinery-core-0.8.16.crate) = 33647 SHA256 (rust/crates/refinery-macros-0.8.16.crate) = 72c225407d8e52ef8cf094393781ecda9a99d6544ec28d90a6915751de259264 SIZE (rust/crates/refinery-macros-0.8.16.crate) = 8591 -SHA256 (rust/crates/regalloc2-0.11.2.crate) = dc06e6b318142614e4a48bc725abbf08ff166694835c43c9dae5a9009704639a -SIZE (rust/crates/regalloc2-0.11.2.crate) = 139677 -SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191 -SIZE (rust/crates/regex-1.11.1.crate) = 254170 -SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132 -SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533 -SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908 -SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525 -SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1 -SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752 -SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c -SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541 +SHA256 (rust/crates/regalloc2-0.12.2.crate) = 5216b1837de2149f8bc8e6d5f88a9326b63b8c836ed58ce4a0a29ec736a59734 +SIZE (rust/crates/regalloc2-0.12.2.crate) = 140473 +SHA256 (rust/crates/regex-1.11.2.crate) = 23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912 +SIZE (rust/crates/regex-1.11.2.crate) = 166265 +SHA256 (rust/crates/regex-automata-0.3.9.crate) = 59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9 +SIZE (rust/crates/regex-automata-0.3.9.crate) = 610489 +SHA256 (rust/crates/regex-automata-0.4.10.crate) = 6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6 +SIZE (rust/crates/regex-automata-0.4.10.crate) = 622754 +SHA256 (rust/crates/regex-syntax-0.7.5.crate) = dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da +SIZE (rust/crates/regex-syntax-0.7.5.crate) = 343366 +SHA256 (rust/crates/regex-syntax-0.8.6.crate) = caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001 +SIZE (rust/crates/regex-syntax-0.8.6.crate) = 358808 SHA256 (rust/crates/renderdoc-sys-1.1.0.crate) = 19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832 SIZE (rust/crates/renderdoc-sys-1.1.0.crate) = 10366 -SHA256 (rust/crates/resolv-conf-0.7.3.crate) = fc7c8f7f733062b66dc1c63f9db168ac0b97a9210e247fa90fdc9ad08f51b302 -SIZE (rust/crates/resolv-conf-0.7.3.crate) = 16929 +SHA256 (rust/crates/resolv-conf-0.7.4.crate) = 95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3 +SIZE (rust/crates/resolv-conf-0.7.4.crate) = 17260 SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7 SIZE (rust/crates/ring-0.17.14.crate) = 1502610 SHA256 (rust/crates/rmp-0.8.14.crate) = 228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4 @@ -1147,8 +1169,8 @@ SHA256 (rust/crates/rmp-serde-1.3.0.crate) = 52e599a477cf9840e92f2cde9a7189e67b4 SIZE (rust/crates/rmp-serde-1.3.0.crate) = 33025 SHA256 (rust/crates/robust-0.2.3.crate) = e5864e7ef1a6b7bcf1d6ca3f655e65e724ed3b52546a0d0a663c991522f552ea SIZE (rust/crates/robust-0.2.3.crate) = 16034 -SHA256 (rust/crates/ron-0.8.1.crate) = b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94 -SIZE (rust/crates/ron-0.8.1.crate) = 63251 +SHA256 (rust/crates/ron-0.11.0.crate) = db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468 +SIZE (rust/crates/ron-0.11.0.crate) = 121686 SHA256 (rust/crates/roots-0.0.8.crate) = 082f11ffa03bbef6c2c6ea6bea1acafaade2fd9050ae0234ab44a2153742b058 SIZE (rust/crates/roots-0.0.8.crate) = 29257 SHA256 (rust/crates/roxmltree-0.14.1.crate) = 921904a62e410e37e215c40381b7117f830d9d89ba60ab5236170541dd25646b @@ -1161,8 +1183,8 @@ SHA256 (rust/crates/rusqlite-0.31.0.crate) = b838eba278d213a8beaf485bd313fd580ca SIZE (rust/crates/rusqlite-0.31.0.crate) = 152252 SHA256 (rust/crates/rust-argon2-2.1.0.crate) = 9d9848531d60c9cbbcf9d166c885316c24bc0e2a9d3eba0956bb6cbbd79bc6e8 SIZE (rust/crates/rust-argon2-2.1.0.crate) = 26904 -SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f -SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047 +SHA256 (rust/crates/rustc-demangle-0.1.26.crate) = 56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace +SIZE (rust/crates/rustc-demangle-0.1.26.crate) = 30340 SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331 SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d @@ -1173,38 +1195,42 @@ SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063 SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245 SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154 SIZE (rust/crates/rustix-0.38.44.crate) = 379347 -SHA256 (rust/crates/rustix-1.0.7.crate) = c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266 -SIZE (rust/crates/rustix-1.0.7.crate) = 414500 +SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e +SIZE (rust/crates/rustix-1.1.2.crate) = 422717 SHA256 (rust/crates/rustix-linux-procfs-0.1.1.crate) = 2fc84bf7e9aa16c4f2c758f27412dc9841341e16aa682d9c7ac308fe3ee12056 SIZE (rust/crates/rustix-linux-procfs-0.1.1.crate) = 17465 -SHA256 (rust/crates/rustls-0.23.26.crate) = df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0 -SIZE (rust/crates/rustls-0.23.26.crate) = 347849 +SHA256 (rust/crates/rustls-0.23.31.crate) = c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc +SIZE (rust/crates/rustls-0.23.31.crate) = 371259 SHA256 (rust/crates/rustls-native-certs-0.8.1.crate) = 7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3 SIZE (rust/crates/rustls-native-certs-0.8.1.crate) = 31129 SHA256 (rust/crates/rustls-pemfile-2.2.0.crate) = dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50 SIZE (rust/crates/rustls-pemfile-2.2.0.crate) = 25849 -SHA256 (rust/crates/rustls-pki-types-1.11.0.crate) = 917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c -SIZE (rust/crates/rustls-pki-types-1.11.0.crate) = 63933 -SHA256 (rust/crates/rustls-platform-verifier-0.5.2.crate) = 4937d110d34408e9e5ad30ba0b0ca3b6a8a390f8db3636db60144ac4fa792750 -SIZE (rust/crates/rustls-platform-verifier-0.5.2.crate) = 61002 +SHA256 (rust/crates/rustls-pki-types-1.12.0.crate) = 229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79 +SIZE (rust/crates/rustls-pki-types-1.12.0.crate) = 64740 +SHA256 (rust/crates/rustls-platform-verifier-0.6.1.crate) = be59af91596cac372a6942530653ad0c3a246cdd491aaa9dcaee47f88d67d5a0 +SIZE (rust/crates/rustls-platform-verifier-0.6.1.crate) = 60142 SHA256 (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f SIZE (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = 13919 -SHA256 (rust/crates/rustls-webpki-0.103.1.crate) = fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03 -SIZE (rust/crates/rustls-webpki-0.103.1.crate) = 820273 +SHA256 (rust/crates/rustls-webpki-0.103.4.crate) = 0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc +SIZE (rust/crates/rustls-webpki-0.103.4.crate) = 84241 SHA256 (rust/crates/rusttype-0.7.9.crate) = 310942406a39981bed7e12b09182a221a29e0990f3e7e0c971f131922ed135d5 SIZE (rust/crates/rusttype-0.7.9.crate) = 42732 SHA256 (rust/crates/rusttype-0.8.3.crate) = 9f61411055101f7b60ecf1041d87fb74205fb20b0c7a723f07ef39174cf6b4c0 SIZE (rust/crates/rusttype-0.8.3.crate) = 37327 -SHA256 (rust/crates/rustversion-1.0.20.crate) = eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2 -SIZE (rust/crates/rustversion-1.0.20.crate) = 20666 -SHA256 (rust/crates/rustyline-15.0.0.crate) = 2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f -SIZE (rust/crates/rustyline-15.0.0.crate) = 116346 +SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d +SIZE (rust/crates/rustversion-1.0.22.crate) = 21096 +SHA256 (rust/crates/rustyline-17.0.1.crate) = a6614df0b6d4cfb20d1d5e295332921793ce499af3ebc011bf1e393380e1e492 +SIZE (rust/crates/rustyline-17.0.1.crate) = 121346 SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f SIZE (rust/crates/ryu-1.0.20.crate) = 48738 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.27.crate) = 1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d -SIZE (rust/crates/schannel-0.1.27.crate) = 42772 +SHA256 (rust/crates/schannel-0.1.28.crate) = 891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1 +SIZE (rust/crates/schannel-0.1.28.crate) = 42312 +SHA256 (rust/crates/schemars-0.9.0.crate) = 4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f +SIZE (rust/crates/schemars-0.9.0.crate) = 80032 +SHA256 (rust/crates/schemars-1.0.4.crate) = 82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0 +SIZE (rust/crates/schemars-1.0.4.crate) = 88282 SHA256 (rust/crates/schnellru-0.2.4.crate) = 356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649 SIZE (rust/crates/schnellru-0.2.4.crate) = 24055 SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 @@ -1217,12 +1243,10 @@ SHA256 (rust/crates/sdl2-0.35.2.crate) = f7959277b623f1fb9e04aea73686c3ca52f01b2 SIZE (rust/crates/sdl2-0.35.2.crate) = 177570 SHA256 (rust/crates/sdl2-sys-0.35.2.crate) = e3586be2cf6c0a8099a79a12b4084357aa9b3e0b0d7980e3b67aaf7a9d55f9f0 SIZE (rust/crates/sdl2-sys-0.35.2.crate) = 7425816 -SHA256 (rust/crates/security-framework-3.2.0.crate) = 271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316 -SIZE (rust/crates/security-framework-3.2.0.crate) = 86095 -SHA256 (rust/crates/security-framework-sys-2.14.0.crate) = 49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32 -SIZE (rust/crates/security-framework-sys-2.14.0.crate) = 20537 -SHA256 (rust/crates/self_cell-0.10.3.crate) = e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d -SIZE (rust/crates/self_cell-0.10.3.crate) = 7308 +SHA256 (rust/crates/security-framework-3.4.0.crate) = 60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640 +SIZE (rust/crates/security-framework-3.4.0.crate) = 88668 +SHA256 (rust/crates/security-framework-sys-2.15.0.crate) = cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0 +SIZE (rust/crates/security-framework-sys-2.15.0.crate) = 20718 SHA256 (rust/crates/self_cell-1.2.0.crate) = 0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749 SIZE (rust/crates/self_cell-1.2.0.crate) = 16883 SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403 @@ -1237,20 +1261,22 @@ SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854 SIZE (rust/crates/serde-1.0.219.crate) = 78983 SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00 SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798 -SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373 -SIZE (rust/crates/serde_json-1.0.140.crate) = 154852 +SHA256 (rust/crates/serde_json-1.0.143.crate) = d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a +SIZE (rust/crates/serde_json-1.0.143.crate) = 155342 SHA256 (rust/crates/serde_path_to_error-0.1.17.crate) = 59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a SIZE (rust/crates/serde_path_to_error-0.1.17.crate) = 17662 SHA256 (rust/crates/serde_repr-0.1.20.crate) = 175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c SIZE (rust/crates/serde_repr-0.1.20.crate) = 12627 -SHA256 (rust/crates/serde_spanned-0.6.8.crate) = 87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1 -SIZE (rust/crates/serde_spanned-0.6.8.crate) = 9330 +SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3 +SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210 +SHA256 (rust/crates/serde_spanned-1.0.0.crate) = 40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83 +SIZE (rust/crates/serde_spanned-1.0.0.crate) = 10956 SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822 -SHA256 (rust/crates/serde_with-3.12.0.crate) = d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa -SIZE (rust/crates/serde_with-3.12.0.crate) = 148666 -SHA256 (rust/crates/serde_with_macros-3.12.0.crate) = 8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e -SIZE (rust/crates/serde_with_macros-3.12.0.crate) = 32089 +SHA256 (rust/crates/serde_with-3.14.0.crate) = f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5 +SIZE (rust/crates/serde_with-3.14.0.crate) = 192177 +SHA256 (rust/crates/serde_with_macros-3.14.0.crate) = de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f +SIZE (rust/crates/serde_with_macros-3.14.0.crate) = 39066 SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283 SIZE (rust/crates/sha2-0.10.9.crate) = 29271 SHA256 (rust/crates/shaderc-0.8.3.crate) = 27e07913ada18607bb60d12431cbe3358d3bbebbe95948e1618851dc01e63b7b @@ -1261,8 +1287,6 @@ SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e82 SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227 SHA256 (rust/crates/shell-words-1.1.0.crate) = 24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde SIZE (rust/crates/shell-words-1.1.0.crate) = 9871 -SHA256 (rust/crates/shellexpand-2.1.2.crate) = 7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4 -SIZE (rust/crates/shellexpand-2.1.2.crate) = 16884 SHA256 (rust/crates/shellexpand-3.1.1.crate) = 8b1fdf65dd6331831494dd616b30351c38e96e45921a27745cf98490458b90bb SIZE (rust/crates/shellexpand-3.1.1.crate) = 25904 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 @@ -1273,22 +1297,22 @@ SHA256 (rust/crates/shred-derive-0.7.0.crate) = 69760b786f8b40361c10663eb63c81fa SIZE (rust/crates/shred-derive-0.7.0.crate) = 2365 SHA256 (rust/crates/shrev-1.1.3.crate) = a5ea33232fdcf1bf691ca33450e5a94dde13e1a8cbb8caabc5e4f9d761e10b1a SIZE (rust/crates/shrev-1.1.3.crate) = 11309 -SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801 -SIZE (rust/crates/signal-hook-0.3.17.crate) = 50296 +SHA256 (rust/crates/signal-hook-0.3.18.crate) = d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2 +SIZE (rust/crates/signal-hook-0.3.18.crate) = 50862 SHA256 (rust/crates/signal-hook-mio-0.2.4.crate) = 34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd SIZE (rust/crates/signal-hook-mio-0.2.4.crate) = 9314 -SHA256 (rust/crates/signal-hook-registry-1.4.5.crate) = 9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410 -SIZE (rust/crates/signal-hook-registry-1.4.5.crate) = 19004 +SHA256 (rust/crates/signal-hook-registry-1.4.6.crate) = b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b +SIZE (rust/crates/signal-hook-registry-1.4.6.crate) = 19277 SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086 SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d SIZE (rust/crates/siphasher-1.0.1.crate) = 10351 -SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67 -SIZE (rust/crates/slab-0.4.9.crate) = 17108 +SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589 +SIZE (rust/crates/slab-0.4.11.crate) = 18549 SHA256 (rust/crates/slotmap-1.0.7.crate) = dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a SIZE (rust/crates/slotmap-1.0.7.crate) = 61390 -SHA256 (rust/crates/smallvec-1.15.0.crate) = 8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9 -SIZE (rust/crates/smallvec-1.15.0.crate) = 38113 +SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03 +SIZE (rust/crates/smallvec-1.15.1.crate) = 38116 SHA256 (rust/crates/smithay-client-toolkit-0.16.1.crate) = 870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9 SIZE (rust/crates/smithay-client-toolkit-0.16.1.crate) = 131081 SHA256 (rust/crates/smithay-client-toolkit-0.19.2.crate) = 3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016 @@ -1299,16 +1323,16 @@ SHA256 (rust/crates/smithay-clipboard-0.7.2.crate) = cc8216eec463674a0e90f29e0ae SIZE (rust/crates/smithay-clipboard-0.7.2.crate) = 17877 SHA256 (rust/crates/smol_str-0.2.2.crate) = dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead SIZE (rust/crates/smol_str-0.2.2.crate) = 15840 -SHA256 (rust/crates/socket2-0.5.9.crate) = 4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef -SIZE (rust/crates/socket2-0.5.9.crate) = 57432 -SHA256 (rust/crates/sorted-vec-0.8.6.crate) = d372029cb5195f9ab4e4b9aef550787dce78b124fcaee8d82519925defcd6f0d -SIZE (rust/crates/sorted-vec-0.8.6.crate) = 12172 -SHA256 (rust/crates/spin_sleep-1.3.1.crate) = 17db5ecef7e0bebeb8bf8bc4c4b554e05e0205d7008f10bb37787892e7a6507b -SIZE (rust/crates/spin_sleep-1.3.1.crate) = 13308 +SHA256 (rust/crates/socket2-0.5.10.crate) = e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678 +SIZE (rust/crates/socket2-0.5.10.crate) = 58169 +SHA256 (rust/crates/socket2-0.6.0.crate) = 233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807 +SIZE (rust/crates/socket2-0.6.0.crate) = 57974 +SHA256 (rust/crates/sorted-vec-0.8.10.crate) = 19f58d7b0190c7f12df7e8be6b79767a0836059159811b869d5ab55721fe14d0 +SIZE (rust/crates/sorted-vec-0.8.10.crate) = 15005 +SHA256 (rust/crates/spin_sleep-1.3.3.crate) = 9c07347b7c0301b9adba4350bdcf09c039d0e7160922050db0439b3c6723c8ab +SIZE (rust/crates/spin_sleep-1.3.3.crate) = 12859 SHA256 (rust/crates/spirv-0.3.0+sdk-1.3.268.0.crate) = eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844 SIZE (rust/crates/spirv-0.3.0+sdk-1.3.268.0.crate) = 30802 -SHA256 (rust/crates/sptr-0.3.2.crate) = 3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a -SIZE (rust/crates/sptr-0.3.2.crate) = 14598 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/stacker-0.1.21.crate) = cddb07e32ddb770749da91081d8d0ac3a16f1a569a18b20348cd371f5dead06b @@ -1323,8 +1347,12 @@ SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3 SIZE (rust/crates/strsim-0.11.1.crate) = 14266 SHA256 (rust/crates/strum-0.26.3.crate) = 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06 SIZE (rust/crates/strum-0.26.3.crate) = 7237 +SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf +SIZE (rust/crates/strum-0.27.2.crate) = 8489 SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531 +SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7 +SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522 SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292 SIZE (rust/crates/subtle-2.6.1.crate) = 14562 SHA256 (rust/crates/sum_type-0.2.0.crate) = da5b4a0c9f3c7c8e891e445a7c776627e208e8bba23ab680798066dd283e6a15 @@ -1347,10 +1375,10 @@ SHA256 (rust/crates/syn-0.15.44.crate) = 9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a SIZE (rust/crates/syn-0.15.44.crate) = 184212 SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 SIZE (rust/crates/syn-1.0.109.crate) = 237611 -SHA256 (rust/crates/syn-2.0.101.crate) = 8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf -SIZE (rust/crates/syn-2.0.101.crate) = 299250 -SHA256 (rust/crates/sync_file-0.2.9.crate) = 9cfc24238213e42ffb35314aad7a7f5d46649c5fbba3ea95ef24f7debb95874e -SIZE (rust/crates/sync_file-0.2.9.crate) = 8996 +SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6 +SIZE (rust/crates/syn-2.0.106.crate) = 301514 +SHA256 (rust/crates/sync_file-0.3.0.crate) = 985235628eb5c98253791147f5babfb3fa022eedba0641e1cc930ce4f8581e34 +SIZE (rust/crates/sync_file-0.3.0.crate) = 9451 SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263 SIZE (rust/crates/sync_wrapper-1.0.2.crate) = 6958 SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2 @@ -1359,50 +1387,50 @@ SHA256 (rust/crates/system-interface-0.27.3.crate) = cc4592f674ce18521c2a8148387 SIZE (rust/crates/system-interface-0.27.3.crate) = 32567 SHA256 (rust/crates/tagptr-0.2.0.crate) = 7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417 SIZE (rust/crates/tagptr-0.2.0.crate) = 13320 -SHA256 (rust/crates/take-once-0.1.2.crate) = ae3e30fcd6e30346aff75e3bd38834ebc8ca2ed8925884bc867f77213bf3f714 -SIZE (rust/crates/take-once-0.1.2.crate) = 4285 +SHA256 (rust/crates/take-once-0.1.3.crate) = 3aa803da503e4a3d6bef14005f97495336b70eb767187a231c02ef899d0cfe0f +SIZE (rust/crates/take-once-0.1.3.crate) = 8094 SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 SIZE (rust/crates/tap-1.0.1.crate) = 11316 SHA256 (rust/crates/tar-0.4.44.crate) = 1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a SIZE (rust/crates/tar-0.4.44.crate) = 61020 -SHA256 (rust/crates/target-lexicon-0.13.2.crate) = e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a -SIZE (rust/crates/target-lexicon-0.13.2.crate) = 27923 -SHA256 (rust/crates/tempfile-3.19.1.crate) = 7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf -SIZE (rust/crates/tempfile-3.19.1.crate) = 39634 +SHA256 (rust/crates/target-lexicon-0.13.3.crate) = df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c +SIZE (rust/crates/target-lexicon-0.13.3.crate) = 28498 +SHA256 (rust/crates/tempfile-3.22.0.crate) = 84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53 +SIZE (rust/crates/tempfile-3.22.0.crate) = 43044 SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755 SIZE (rust/crates/termcolor-1.4.1.crate) = 18773 SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52 SIZE (rust/crates/thiserror-1.0.69.crate) = 22198 -SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708 -SIZE (rust/crates/thiserror-2.0.12.crate) = 28693 +SHA256 (rust/crates/thiserror-2.0.16.crate) = 3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0 +SIZE (rust/crates/thiserror-2.0.16.crate) = 29095 SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1 SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365 -SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d -SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141 -SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c -SIZE (rust/crates/thread_local-1.1.8.crate) = 13962 -SHA256 (rust/crates/time-0.3.41.crate) = 8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40 -SIZE (rust/crates/time-0.3.41.crate) = 138369 -SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c -SIZE (rust/crates/time-core-0.1.4.crate) = 8422 -SHA256 (rust/crates/time-macros-0.2.22.crate) = 3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49 -SIZE (rust/crates/time-macros-0.2.22.crate) = 24604 -SHA256 (rust/crates/timer-queue-0.1.0.crate) = 13756c29c43d836ff576221498bf4916b0d2f7ea24cd47d3531b70dc4341f038 -SIZE (rust/crates/timer-queue-0.1.0.crate) = 13344 +SHA256 (rust/crates/thiserror-impl-2.0.16.crate) = 6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960 +SIZE (rust/crates/thiserror-impl-2.0.16.crate) = 21214 +SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185 +SIZE (rust/crates/thread_local-1.1.9.crate) = 19315 +SHA256 (rust/crates/time-0.3.43.crate) = 83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031 +SIZE (rust/crates/time-0.3.43.crate) = 142912 +SHA256 (rust/crates/time-core-0.1.6.crate) = 40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b +SIZE (rust/crates/time-core-0.1.6.crate) = 9105 +SHA256 (rust/crates/time-macros-0.2.24.crate) = 30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3 +SIZE (rust/crates/time-macros-0.2.24.crate) = 24715 +SHA256 (rust/crates/timer-queue-0.1.1.crate) = d6773c1d27b8cdd22273cd8b9366267ec4006459614baa4c22cc4964f6e5b564 +SIZE (rust/crates/timer-queue-0.1.1.crate) = 20389 SHA256 (rust/crates/tiny-skia-0.11.4.crate) = 83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab SIZE (rust/crates/tiny-skia-0.11.4.crate) = 201082 SHA256 (rust/crates/tiny-skia-path-0.11.4.crate) = 9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93 SIZE (rust/crates/tiny-skia-path-0.11.4.crate) = 47764 -SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f -SIZE (rust/crates/tinystr-0.7.6.crate) = 16971 +SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b +SIZE (rust/crates/tinystr-0.8.1.crate) = 23333 SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490 -SHA256 (rust/crates/tinyvec-1.9.0.crate) = 09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71 -SIZE (rust/crates/tinyvec-1.9.0.crate) = 54137 +SHA256 (rust/crates/tinyvec-1.10.0.crate) = bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa +SIZE (rust/crates/tinyvec-1.10.0.crate) = 51996 SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 -SHA256 (rust/crates/tokio-1.44.2.crate) = e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48 -SIZE (rust/crates/tokio-1.44.2.crate) = 841618 +SHA256 (rust/crates/tokio-1.47.1.crate) = 89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038 +SIZE (rust/crates/tokio-1.47.1.crate) = 829790 SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8 SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617 SHA256 (rust/crates/tokio-rustls-0.26.2.crate) = 8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b @@ -1411,14 +1439,22 @@ SHA256 (rust/crates/tokio-stream-0.1.17.crate) = eca58d7bba4a75707817a2c44174253 SIZE (rust/crates/tokio-stream-0.1.17.crate) = 38477 SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234 SIZE (rust/crates/toml-0.5.11.crate) = 54910 -SHA256 (rust/crates/toml-0.8.22.crate) = 05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae -SIZE (rust/crates/toml-0.8.22.crate) = 76224 -SHA256 (rust/crates/toml_datetime-0.6.9.crate) = 3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3 -SIZE (rust/crates/toml_datetime-0.6.9.crate) = 12622 -SHA256 (rust/crates/toml_edit-0.22.26.crate) = 310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e -SIZE (rust/crates/toml_edit-0.22.26.crate) = 121714 -SHA256 (rust/crates/toml_write-0.1.1.crate) = bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076 -SIZE (rust/crates/toml_write-0.1.1.crate) = 17467 +SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362 +SIZE (rust/crates/toml-0.8.23.crate) = 36050 +SHA256 (rust/crates/toml-0.9.5.crate) = 75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8 +SIZE (rust/crates/toml-0.9.5.crate) = 56833 +SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c +SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125 +SHA256 (rust/crates/toml_datetime-0.7.0.crate) = bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3 +SIZE (rust/crates/toml_datetime-0.7.0.crate) = 18108 +SHA256 (rust/crates/toml_edit-0.22.27.crate) = 41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a +SIZE (rust/crates/toml_edit-0.22.27.crate) = 78602 +SHA256 (rust/crates/toml_parser-1.0.2.crate) = b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10 +SIZE (rust/crates/toml_parser-1.0.2.crate) = 35241 +SHA256 (rust/crates/toml_write-0.1.2.crate) = 5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801 +SIZE (rust/crates/toml_write-0.1.2.crate) = 15660 +SHA256 (rust/crates/toml_writer-1.0.2.crate) = fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64 +SIZE (rust/crates/toml_writer-1.0.2.crate) = 16988 SHA256 (rust/crates/tower-0.5.2.crate) = d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9 SIZE (rust/crates/tower-0.5.2.crate) = 109417 SHA256 (rust/crates/tower-layer-0.3.3.crate) = 121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e @@ -1429,22 +1465,20 @@ SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea SIZE (rust/crates/tracing-0.1.41.crate) = 82448 SHA256 (rust/crates/tracing-appender-0.2.3.crate) = 3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf SIZE (rust/crates/tracing-appender-0.2.3.crate) = 21964 -SHA256 (rust/crates/tracing-attributes-0.1.28.crate) = 395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d -SIZE (rust/crates/tracing-attributes-0.1.28.crate) = 33280 -SHA256 (rust/crates/tracing-core-0.1.33.crate) = e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c -SIZE (rust/crates/tracing-core-0.1.33.crate) = 63434 +SHA256 (rust/crates/tracing-attributes-0.1.30.crate) = 81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903 +SIZE (rust/crates/tracing-attributes-0.1.30.crate) = 39142 +SHA256 (rust/crates/tracing-core-0.1.34.crate) = b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678 +SIZE (rust/crates/tracing-core-0.1.34.crate) = 63760 SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3 SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561 -SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008 -SIZE (rust/crates/tracing-subscriber-0.3.19.crate) = 198345 -SHA256 (rust/crates/tracing-tracy-0.11.3.crate) = dc775fdaf33c3dfd19dc354729e65e87914bc67dcdc390ca1210807b8bee5902 -SIZE (rust/crates/tracing-tracy-0.11.3.crate) = 14641 -SHA256 (rust/crates/tracy-client-0.17.6.crate) = 73202d787346a5418f8222eddb5a00f29ea47caf3c7d38a8f2f69f8455fa7c7e -SIZE (rust/crates/tracy-client-0.17.6.crate) = 24453 -SHA256 (rust/crates/tracy-client-sys-0.24.3.crate) = 69fff37da548239c3bf9e64a12193d261e8b22b660991c6fd2df057c168f435f -SIZE (rust/crates/tracy-client-sys-0.24.3.crate) = 319958 -SHA256 (rust/crates/trait-variant-0.1.2.crate) = 70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7 -SIZE (rust/crates/trait-variant-0.1.2.crate) = 6008 +SHA256 (rust/crates/tracing-subscriber-0.3.20.crate) = 2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5 +SIZE (rust/crates/tracing-subscriber-0.3.20.crate) = 212274 +SHA256 (rust/crates/tracing-tracy-0.11.4.crate) = 0eaa1852afa96e0fe9e44caa53dc0bd2d9d05e0f2611ce09f97f8677af56e4ba +SIZE (rust/crates/tracing-tracy-0.11.4.crate) = 14765 +SHA256 (rust/crates/tracy-client-0.18.2.crate) = ef54005d3d760186fd662dad4b7bb27ecd5531cdef54d1573ebd3f20a9205ed7 +SIZE (rust/crates/tracy-client-0.18.2.crate) = 31607 +SHA256 (rust/crates/tracy-client-sys-0.26.1.crate) = 319c70195101a93f56db4c74733e272d720768e13471f400c78406a326b172b0 +SIZE (rust/crates/tracy-client-sys-0.26.1.crate) = 351280 SHA256 (rust/crates/treeculler-0.4.0.crate) = c11fcf82651ce9a4550c82beb88a38951fdde004917817eba244359720d74c06 SIZE (rust/crates/treeculler-0.4.0.crate) = 4577 SHA256 (rust/crates/triple_buffer-8.1.1.crate) = 420466259f9fa5decc654c490b9ab538400e5420df8237f84ecbe20368bcf72b @@ -1457,20 +1491,20 @@ SHA256 (rust/crates/tuple_utils-0.4.0.crate) = cffaaf9392ef73cd30828797152476aaa SIZE (rust/crates/tuple_utils-0.4.0.crate) = 2893 SHA256 (rust/crates/twox-hash-1.6.3.crate) = 97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675 SIZE (rust/crates/twox-hash-1.6.3.crate) = 21842 -SHA256 (rust/crates/twox-hash-2.1.0.crate) = e7b17f197b3050ba473acf9181f7b1d3b66d1cf7356c6cc57886662276e65908 -SIZE (rust/crates/twox-hash-2.1.0.crate) = 35275 +SHA256 (rust/crates/twox-hash-2.1.2.crate) = 9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c +SIZE (rust/crates/twox-hash-2.1.2.crate) = 35641 SHA256 (rust/crates/tynm-0.1.10.crate) = bd30d05e69d1478e13fe3e7a853409cfec82cebc2cf9b8d613b3c6b0081781ed SIZE (rust/crates/tynm-0.1.10.crate) = 16394 -SHA256 (rust/crates/type-map-0.5.0.crate) = deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f -SIZE (rust/crates/type-map-0.5.0.crate) = 3464 +SHA256 (rust/crates/type-map-0.5.1.crate) = cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90 +SIZE (rust/crates/type-map-0.5.1.crate) = 8606 SHA256 (rust/crates/typenum-1.18.0.crate) = 1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f SIZE (rust/crates/typenum-1.18.0.crate) = 74871 SHA256 (rust/crates/ubyte-0.10.4.crate) = f720def6ce1ee2fc44d40ac9ed6d3a59c361c80a75a7aa8e75bb9baed31cf2ea SIZE (rust/crates/ubyte-0.10.4.crate) = 13965 -SHA256 (rust/crates/unic-langid-0.9.5.crate) = 23dd9d1e72a73b25e07123a80776aae3e7b0ec461ef94f9151eed6ec88005a44 -SIZE (rust/crates/unic-langid-0.9.5.crate) = 8898 -SHA256 (rust/crates/unic-langid-impl-0.9.5.crate) = 0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5 -SIZE (rust/crates/unic-langid-impl-0.9.5.crate) = 89659 +SHA256 (rust/crates/unic-langid-0.9.6.crate) = a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05 +SIZE (rust/crates/unic-langid-0.9.6.crate) = 9031 +SHA256 (rust/crates/unic-langid-impl-0.9.6.crate) = dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658 +SIZE (rust/crates/unic-langid-impl-0.9.6.crate) = 90020 SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512 SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743 SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493 @@ -1485,18 +1519,20 @@ SHA256 (rust/crates/unicode-xid-0.1.0.crate) = fc72304796d0818e357ead4e000d19c9c SIZE (rust/crates/unicode-xid-0.1.0.crate) = 16000 SHA256 (rust/crates/unicode-xid-0.2.6.crate) = ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853 SIZE (rust/crates/unicode-xid-0.2.6.crate) = 15744 +SHA256 (rust/crates/unit-prefix-0.5.1.crate) = 323402cff2dd658f39ca17c789b502021b3f18707c91cdf22e3838e1b4023817 +SIZE (rust/crates/unit-prefix-0.5.1.crate) = 7627 SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1 SIZE (rust/crates/untrusted-0.9.0.crate) = 14447 -SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60 -SIZE (rust/crates/url-2.5.4.crate) = 81097 -SHA256 (rust/crates/utf16_iter-1.0.5.crate) = c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246 -SIZE (rust/crates/utf16_iter-1.0.5.crate) = 9736 +SHA256 (rust/crates/unty-0.0.4.crate) = 6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae +SIZE (rust/crates/unty-0.0.4.crate) = 7200 +SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b +SIZE (rust/crates/url-2.5.7.crate) = 87907 SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437 SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821 SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499 -SHA256 (rust/crates/uuid-1.16.0.crate) = 458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9 -SIZE (rust/crates/uuid-1.16.0.crate) = 58549 +SHA256 (rust/crates/uuid-1.18.1.crate) = 2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2 +SIZE (rust/crates/uuid-1.18.1.crate) = 60468 SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65 SIZE (rust/crates/valuable-0.1.1.crate) = 28679 SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426 @@ -1513,112 +1549,120 @@ SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853a SIZE (rust/crates/version_check-0.9.5.crate) = 15554 SHA256 (rust/crates/versions-7.0.0.crate) = 80a7e511ce1795821207a837b7b1c8d8aca0c648810966ad200446ae58f6667f SIZE (rust/crates/versions-7.0.0.crate) = 23307 +SHA256 (rust/crates/virtue-0.0.18.crate) = 051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1 +SIZE (rust/crates/virtue-0.0.18.crate) = 33545 SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b SIZE (rust/crates/walkdir-2.5.0.crate) = 23951 SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e SIZE (rust/crates/want-0.3.1.crate) = 6398 -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/wasi-0.14.2+wasi-0.2.4.crate) = 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3 -SIZE (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 140921 -SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5 -SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288 -SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6 -SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111 -SHA256 (rust/crates/wasm-bindgen-futures-0.4.45.crate) = cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b -SIZE (rust/crates/wasm-bindgen-futures-0.4.45.crate) = 14329 -SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407 -SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663 -SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de -SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243 -SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d -SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570 -SHA256 (rust/crates/wasm-encoder-0.221.3.crate) = dc8444fe4920de80a4fe5ab564fff2ae58b6b73166b89751f8c6c93509da32e5 -SIZE (rust/crates/wasm-encoder-0.221.3.crate) = 67487 -SHA256 (rust/crates/wasm-encoder-0.229.0.crate) = 38ba1d491ecacb085a2552025c10a675a6fddcbd03b1fc9b36c536010ce265d2 -SIZE (rust/crates/wasm-encoder-0.229.0.crate) = 81299 -SHA256 (rust/crates/wasmparser-0.221.3.crate) = d06bfa36ab3ac2be0dee563380147a5b81ba10dd8885d7fbbc9eb574be67d185 -SIZE (rust/crates/wasmparser-0.221.3.crate) = 242903 -SHA256 (rust/crates/wasmparser-0.229.0.crate) = 0cc3b1f053f5d41aa55640a1fa9b6d1b8a9e4418d118ce308d20e24ff3575a8c -SIZE (rust/crates/wasmparser-0.229.0.crate) = 249693 -SHA256 (rust/crates/wasmprinter-0.221.3.crate) = 7343c42a97f2926c7819ff81b64012092ae954c5d83ddd30c9fcdefd97d0b283 -SIZE (rust/crates/wasmprinter-0.221.3.crate) = 39793 -SHA256 (rust/crates/wasmtime-29.0.1.crate) = 11976a250672556d1c4c04c6d5d7656ac9192ac9edc42a4587d6c21460010e69 -SIZE (rust/crates/wasmtime-29.0.1.crate) = 693309 -SHA256 (rust/crates/wasmtime-asm-macros-29.0.1.crate) = 1f178b0d125201fbe9f75beaf849bd3e511891f9e45ba216a5b620802ccf64f2 -SIZE (rust/crates/wasmtime-asm-macros-29.0.1.crate) = 1865 -SHA256 (rust/crates/wasmtime-cache-29.0.1.crate) = 8b1161c8f62880deea07358bc40cceddc019f1c81d46007bc390710b2fe24ffc -SIZE (rust/crates/wasmtime-cache-29.0.1.crate) = 32600 -SHA256 (rust/crates/wasmtime-component-macro-29.0.1.crate) = d74de6592ed945d0a602f71243982a304d5d02f1e501b638addf57f42d57dfaf -SIZE (rust/crates/wasmtime-component-macro-29.0.1.crate) = 203168 -SHA256 (rust/crates/wasmtime-component-util-29.0.1.crate) = 707dc7b3c112ab5a366b30cfe2fb5b2f8e6a0f682f16df96a5ec582bfe6f056e -SIZE (rust/crates/wasmtime-component-util-29.0.1.crate) = 2515 -SHA256 (rust/crates/wasmtime-cranelift-29.0.1.crate) = 366be722674d4bf153290fbcbc4d7d16895cc82fb3e869f8d550ff768f9e9e87 -SIZE (rust/crates/wasmtime-cranelift-29.0.1.crate) = 178851 -SHA256 (rust/crates/wasmtime-environ-29.0.1.crate) = cdadc1af7097347aa276a4f008929810f726b5b46946971c660b6d421e9994ad -SIZE (rust/crates/wasmtime-environ-29.0.1.crate) = 192670 -SHA256 (rust/crates/wasmtime-fiber-29.0.1.crate) = ccba90d4119f081bca91190485650730a617be1fff5228f8c4757ce133d21117 -SIZE (rust/crates/wasmtime-fiber-29.0.1.crate) = 27634 -SHA256 (rust/crates/wasmtime-jit-debug-29.0.1.crate) = 3e7b61488a5ee00c35c8c22de707c36c0aecacf419a3be803a6a2ba5e860f56a -SIZE (rust/crates/wasmtime-jit-debug-29.0.1.crate) = 7433 -SHA256 (rust/crates/wasmtime-jit-icache-coherence-29.0.1.crate) = ec5e8552e01692e6c2e5293171704fed8abdec79d1a6995a0870ab190e5747d1 -SIZE (rust/crates/wasmtime-jit-icache-coherence-29.0.1.crate) = 6840 -SHA256 (rust/crates/wasmtime-math-29.0.1.crate) = 29210ec2aa25e00f4d54605cedaf080f39ec01a872c5bd520ad04c67af1dde17 -SIZE (rust/crates/wasmtime-math-29.0.1.crate) = 2630 -SHA256 (rust/crates/wasmtime-slab-29.0.1.crate) = fcb5821a96fa04ac14bc7b158bb3d5cd7729a053db5a74dad396cd513a5e5ccf -SIZE (rust/crates/wasmtime-slab-29.0.1.crate) = 5435 -SHA256 (rust/crates/wasmtime-versioned-export-macros-29.0.1.crate) = 86ff86db216dc0240462de40c8290887a613dddf9685508eb39479037ba97b5b -SIZE (rust/crates/wasmtime-versioned-export-macros-29.0.1.crate) = 2038 -SHA256 (rust/crates/wasmtime-wasi-29.0.1.crate) = 8d1be69bfcab1bdac74daa7a1f9695ab992b9c8e21b9b061e7d66434097e0ca4 -SIZE (rust/crates/wasmtime-wasi-29.0.1.crate) = 164209 -SHA256 (rust/crates/wasmtime-winch-29.0.1.crate) = fdbabfb8f20502d5e1d81092b9ead3682ae59988487aafcd7567387b7a43cf8f -SIZE (rust/crates/wasmtime-winch-29.0.1.crate) = 13095 -SHA256 (rust/crates/wasmtime-wit-bindgen-29.0.1.crate) = 8358319c2dd1e4db79e3c1c5d3a5af84956615343f9f89f4e4996a36816e06e6 -SIZE (rust/crates/wasmtime-wit-bindgen-29.0.1.crate) = 31902 +SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b +SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477 +SHA256 (rust/crates/wasi-0.14.5+wasi-0.2.4.crate) = a4494f6290a82f5fe584817a676a34b9d6763e8d9d18204009fb31dceca98fd4 +SIZE (rust/crates/wasi-0.14.5+wasi-0.2.4.crate) = 18092 +SHA256 (rust/crates/wasip2-1.0.0+wasi-0.2.4.crate) = 03fa2761397e5bd52002cd7e73110c71af2109aca4e521a9f40473fe685b0a24 +SIZE (rust/crates/wasip2-1.0.0+wasi-0.2.4.crate) = 132019 +SHA256 (rust/crates/wasm-bindgen-0.2.101.crate) = 7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b +SIZE (rust/crates/wasm-bindgen-0.2.101.crate) = 47841 +SHA256 (rust/crates/wasm-bindgen-backend-0.2.101.crate) = e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb +SIZE (rust/crates/wasm-bindgen-backend-0.2.101.crate) = 32331 +SHA256 (rust/crates/wasm-bindgen-futures-0.4.51.crate) = 0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe +SIZE (rust/crates/wasm-bindgen-futures-0.4.51.crate) = 16315 +SHA256 (rust/crates/wasm-bindgen-macro-0.2.101.crate) = 7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d +SIZE (rust/crates/wasm-bindgen-macro-0.2.101.crate) = 9804 +SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.101.crate) = 7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa +SIZE (rust/crates/wasm-bindgen-macro-support-0.2.101.crate) = 26415 +SHA256 (rust/crates/wasm-bindgen-shared-0.2.101.crate) = f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1 +SIZE (rust/crates/wasm-bindgen-shared-0.2.101.crate) = 9055 +SHA256 (rust/crates/wasm-encoder-0.236.1.crate) = 724fccfd4f3c24b7e589d333fc0429c68042897a7e8a5f8694f31792471841e7 +SIZE (rust/crates/wasm-encoder-0.236.1.crate) = 83380 +SHA256 (rust/crates/wasm-encoder-0.239.0.crate) = 5be00faa2b4950c76fe618c409d2c3ea5a3c9422013e079482d78544bb2d184c +SIZE (rust/crates/wasm-encoder-0.239.0.crate) = 83923 +SHA256 (rust/crates/wasmparser-0.236.1.crate) = a9b1e81f3eb254cf7404a82cee6926a4a3ccc5aad80cc3d43608a070c67aa1d7 +SIZE (rust/crates/wasmparser-0.236.1.crate) = 259406 +SHA256 (rust/crates/wasmparser-0.239.0.crate) = 8c9d90bb93e764f6beabf1d02028c70a2156a6583e63ac4218dd07ef733368b0 +SIZE (rust/crates/wasmparser-0.239.0.crate) = 260621 +SHA256 (rust/crates/wasmprinter-0.236.1.crate) = 2df225df06a6df15b46e3f73ca066ff92c2e023670969f7d50ce7d5e695abbb1 +SIZE (rust/crates/wasmprinter-0.236.1.crate) = 44027 +SHA256 (rust/crates/wasmtime-36.0.2.crate) = 5b3e1fab634681494213138ea3a18e958e5ea99da13a4a01a4b870d51a41680b +SIZE (rust/crates/wasmtime-36.0.2.crate) = 884638 +SHA256 (rust/crates/wasmtime-environ-36.0.2.crate) = 6750e519977953a018fe994aada7e02510aea4babb03310aa5f5b4145b6e6577 +SIZE (rust/crates/wasmtime-environ-36.0.2.crate) = 223975 +SHA256 (rust/crates/wasmtime-internal-asm-macros-36.0.2.crate) = bdbf38adac6e81d5c0326e8fd25f80450e3038f2fc103afd3c5cc8b83d5dd78b +SIZE (rust/crates/wasmtime-internal-asm-macros-36.0.2.crate) = 2126 +SHA256 (rust/crates/wasmtime-internal-cache-36.0.2.crate) = c0c9085d8c04cc294612d743e2f355382b39250de4bd20bf4b0b0b7c0ae7067a +SIZE (rust/crates/wasmtime-internal-cache-36.0.2.crate) = 35276 +SHA256 (rust/crates/wasmtime-internal-component-macro-36.0.2.crate) = 26a578a474e3b7ddce063cd169ced292b5185013341457522891b10e989aa42a +SIZE (rust/crates/wasmtime-internal-component-macro-36.0.2.crate) = 238521 +SHA256 (rust/crates/wasmtime-internal-component-util-36.0.2.crate) = edc23d46ec1b1cd42b6f73205eb80498ed94b47098ec53456c0b18299405b158 +SIZE (rust/crates/wasmtime-internal-component-util-36.0.2.crate) = 2779 +SHA256 (rust/crates/wasmtime-internal-cranelift-36.0.2.crate) = d85b8ba128525bff91b89ac8a97755136a4fb0fb59df5ffb7539dd646455d441 +SIZE (rust/crates/wasmtime-internal-cranelift-36.0.2.crate) = 191567 +SHA256 (rust/crates/wasmtime-internal-fiber-36.0.2.crate) = 0c566f5137de1f55339df8a236a5ec89698b466a3d33f9cc07823a58a3f85e16 +SIZE (rust/crates/wasmtime-internal-fiber-36.0.2.crate) = 31811 +SHA256 (rust/crates/wasmtime-internal-jit-debug-36.0.2.crate) = e03f0b11f8fe4d456feac11e7e9dc6f02ddb34d4f6a1912775dbc63c5bdd5670 +SIZE (rust/crates/wasmtime-internal-jit-debug-36.0.2.crate) = 9373 +SHA256 (rust/crates/wasmtime-internal-jit-icache-coherence-36.0.2.crate) = 71aeb74f9b3fd9225319c723e59832a77a674b0c899ba9795f9b2130a6d1b167 +SIZE (rust/crates/wasmtime-internal-jit-icache-coherence-36.0.2.crate) = 7111 +SHA256 (rust/crates/wasmtime-internal-math-36.0.2.crate) = 31d5dad8a609c6cc47a5f265f13b52e347e893450a69641af082b8a276043fa7 +SIZE (rust/crates/wasmtime-internal-math-36.0.2.crate) = 3575 +SHA256 (rust/crates/wasmtime-internal-slab-36.0.2.crate) = 6d152a7b875d62e395bfe0ae7d12e7b47cd332eb380353cce3eb831f9843731d +SIZE (rust/crates/wasmtime-internal-slab-36.0.2.crate) = 5736 +SHA256 (rust/crates/wasmtime-internal-unwinder-36.0.2.crate) = 2aaacc0fea00293f7af7e6c25cef74b7d213ebbe7560c86305eec15fc318fab8 +SIZE (rust/crates/wasmtime-internal-unwinder-36.0.2.crate) = 20209 +SHA256 (rust/crates/wasmtime-internal-versioned-export-macros-36.0.2.crate) = c61c7f75326434944cc5f3b75409a063fa37e537f6247f00f0f733679f0be406 +SIZE (rust/crates/wasmtime-internal-versioned-export-macros-36.0.2.crate) = 2309 +SHA256 (rust/crates/wasmtime-internal-winch-36.0.2.crate) = 6cfbaa87e1ac4972bb096c9cb1800fedc113e36332cc4bc2c96a2ef1d7c5e750 +SIZE (rust/crates/wasmtime-internal-winch-36.0.2.crate) = 14038 +SHA256 (rust/crates/wasmtime-internal-wit-bindgen-36.0.2.crate) = 169042d58002f16da149ab7d608b71164411abd1fc5140f48f4c200b44bb5565 +SIZE (rust/crates/wasmtime-internal-wit-bindgen-36.0.2.crate) = 34324 +SHA256 (rust/crates/wasmtime-wasi-36.0.2.crate) = b9049a5fedcd24fa0f665ba7c17c4445c1a547536a9560d960e15bee2d8428d0 +SIZE (rust/crates/wasmtime-wasi-36.0.2.crate) = 204092 +SHA256 (rust/crates/wasmtime-wasi-io-36.0.2.crate) = d62156d8695d80df8e85baeb56379b3ba6b6bf5996671594724c24d40b67825f +SIZE (rust/crates/wasmtime-wasi-io-36.0.2.crate) = 21676 SHA256 (rust/crates/wast-35.0.2.crate) = 2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68 SIZE (rust/crates/wast-35.0.2.crate) = 90940 -SHA256 (rust/crates/wast-229.0.0.crate) = 63fcaff613c12225696bb163f79ca38ffb40e9300eff0ff4b8aa8b2f7eadf0d9 -SIZE (rust/crates/wast-229.0.0.crate) = 153934 -SHA256 (rust/crates/wat-1.229.0.crate) = 4189bad08b70455a9e9e67dc126d2dcf91fac143a80f1046747a5dde6d4c33e0 -SIZE (rust/crates/wat-1.229.0.crate) = 8132 +SHA256 (rust/crates/wast-239.0.0.crate) = 9139176fe8a2590e0fb174cdcaf373b224cb93c3dde08e4297c1361d2ba1ea5d +SIZE (rust/crates/wast-239.0.0.crate) = 156209 +SHA256 (rust/crates/wat-1.239.0.crate) = 3e1c941927d34709f255558166f8901a2005f8ab4a9650432e9281b7cc6f3b75 +SIZE (rust/crates/wat-1.239.0.crate) = 8406 SHA256 (rust/crates/wavefront-0.2.3.crate) = 0162190f32ea78b07b7bc02b57a1c2a7c0874bc3da34f36eba41c86c4b03c4fb SIZE (rust/crates/wavefront-0.2.3.crate) = 13984 -SHA256 (rust/crates/wayland-backend-0.3.10.crate) = fe770181423e5fc79d3e2a7f4410b7799d5aab1de4372853de3c6aa13ca24121 -SIZE (rust/crates/wayland-backend-0.3.10.crate) = 75632 +SHA256 (rust/crates/wayland-backend-0.3.11.crate) = 673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35 +SIZE (rust/crates/wayland-backend-0.3.11.crate) = 76980 SHA256 (rust/crates/wayland-client-0.29.5.crate) = 3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715 SIZE (rust/crates/wayland-client-0.29.5.crate) = 71041 -SHA256 (rust/crates/wayland-client-0.31.10.crate) = 978fa7c67b0847dbd6a9f350ca2569174974cd4082737054dbb7fbb79d7d9a61 -SIZE (rust/crates/wayland-client-0.31.10.crate) = 64777 +SHA256 (rust/crates/wayland-client-0.31.11.crate) = c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d +SIZE (rust/crates/wayland-client-0.31.11.crate) = 65932 SHA256 (rust/crates/wayland-commons-0.29.5.crate) = 8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902 SIZE (rust/crates/wayland-commons-0.29.5.crate) = 20771 SHA256 (rust/crates/wayland-csd-frame-0.3.0.crate) = 625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e SIZE (rust/crates/wayland-csd-frame-0.3.0.crate) = 5696 SHA256 (rust/crates/wayland-cursor-0.29.5.crate) = 6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661 SIZE (rust/crates/wayland-cursor-0.29.5.crate) = 6195 -SHA256 (rust/crates/wayland-cursor-0.31.10.crate) = a65317158dec28d00416cb16705934070aef4f8393353d41126c54264ae0f182 -SIZE (rust/crates/wayland-cursor-0.31.10.crate) = 9725 +SHA256 (rust/crates/wayland-cursor-0.31.11.crate) = 447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29 +SIZE (rust/crates/wayland-cursor-0.31.11.crate) = 9785 SHA256 (rust/crates/wayland-protocols-0.29.5.crate) = b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6 SIZE (rust/crates/wayland-protocols-0.29.5.crate) = 140859 -SHA256 (rust/crates/wayland-protocols-0.32.8.crate) = 779075454e1e9a521794fed15886323ea0feda3f8b0fc1390f5398141310422a -SIZE (rust/crates/wayland-protocols-0.32.8.crate) = 210103 -SHA256 (rust/crates/wayland-protocols-plasma-0.3.8.crate) = 4fd38cdad69b56ace413c6bcc1fbf5acc5e2ef4af9d5f8f1f9570c0c83eae175 -SIZE (rust/crates/wayland-protocols-plasma-0.3.8.crate) = 69107 -SHA256 (rust/crates/wayland-protocols-wlr-0.3.8.crate) = 1cb6cdc73399c0e06504c437fe3cf886f25568dd5454473d565085b36d6a8bbf -SIZE (rust/crates/wayland-protocols-wlr-0.3.8.crate) = 28616 +SHA256 (rust/crates/wayland-protocols-0.32.9.crate) = efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901 +SIZE (rust/crates/wayland-protocols-0.32.9.crate) = 155404 +SHA256 (rust/crates/wayland-protocols-plasma-0.3.9.crate) = a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032 +SIZE (rust/crates/wayland-protocols-plasma-0.3.9.crate) = 69243 +SHA256 (rust/crates/wayland-protocols-wlr-0.3.9.crate) = efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec +SIZE (rust/crates/wayland-protocols-wlr-0.3.9.crate) = 28723 SHA256 (rust/crates/wayland-scanner-0.29.5.crate) = 8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53 SIZE (rust/crates/wayland-scanner-0.29.5.crate) = 17248 -SHA256 (rust/crates/wayland-scanner-0.31.6.crate) = 896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484 -SIZE (rust/crates/wayland-scanner-0.31.6.crate) = 36365 +SHA256 (rust/crates/wayland-scanner-0.31.7.crate) = 54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3 +SIZE (rust/crates/wayland-scanner-0.31.7.crate) = 36483 SHA256 (rust/crates/wayland-sys-0.29.5.crate) = be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4 SIZE (rust/crates/wayland-sys-0.29.5.crate) = 7926 -SHA256 (rust/crates/wayland-sys-0.31.6.crate) = dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615 -SIZE (rust/crates/wayland-sys-0.31.6.crate) = 10049 -SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2 -SIZE (rust/crates/web-sys-0.3.77.crate) = 638246 +SHA256 (rust/crates/wayland-sys-0.31.7.crate) = 34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142 +SIZE (rust/crates/wayland-sys-0.31.7.crate) = 10106 +SHA256 (rust/crates/web-sys-0.3.78.crate) = 77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12 +SIZE (rust/crates/web-sys-0.3.78.crate) = 642410 SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb SIZE (rust/crates/web-time-1.1.0.crate) = 18026 -SHA256 (rust/crates/webpki-root-certs-0.26.10.crate) = c99403924bc5f23afefc319b8ac67ed0e50669f6e52a413314cccb1fdbc93ba0 -SIZE (rust/crates/webpki-root-certs-0.26.10.crate) = 171116 +SHA256 (rust/crates/webpki-root-certs-1.0.2.crate) = 4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a +SIZE (rust/crates/webpki-root-certs-1.0.2.crate) = 173652 SHA256 (rust/crates/wfd-0.1.7.crate) = e713040b67aae5bf1a0ae3e1ebba8cc29ab2b90da9aa1bff6e09031a8a41d7a8 SIZE (rust/crates/wfd-0.1.7.crate) = 8825 SHA256 (rust/crates/wgpu-26.0.1.crate) = 70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798 @@ -1641,24 +1685,24 @@ SHA256 (rust/crates/which-7.0.3.crate) = 24d643ce3fd3e5b54854602a080f34fb10ab75e SIZE (rust/crates/which-7.0.3.crate) = 18872 SHA256 (rust/crates/widestring-1.2.0.crate) = dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d SIZE (rust/crates/widestring-1.2.0.crate) = 89105 -SHA256 (rust/crates/wiggle-29.0.1.crate) = 4b9af35bc9629c52c261465320a9a07959164928b4241980ba1cf923b9e6751d -SIZE (rust/crates/wiggle-29.0.1.crate) = 24153 -SHA256 (rust/crates/wiggle-generate-29.0.1.crate) = 2cf267dd05673912c8138f4b54acabe6bd53407d9d1536f0fadb6520dd16e101 -SIZE (rust/crates/wiggle-generate-29.0.1.crate) = 25441 -SHA256 (rust/crates/wiggle-macro-29.0.1.crate) = 08c5c473d4198e6c2d377f3809f713ff0c110cab88a0805ae099a82119ee250c -SIZE (rust/crates/wiggle-macro-29.0.1.crate) = 10866 +SHA256 (rust/crates/wiggle-36.0.2.crate) = e233166bc0ef02371ebe2c630aba51dd3f015bcaf616d32b4171efab84d09137 +SIZE (rust/crates/wiggle-36.0.2.crate) = 23809 +SHA256 (rust/crates/wiggle-generate-36.0.2.crate) = 93048543902e61c65b75d8a9ea0e78d5a8723e5db6e11ff93870165807c4463d +SIZE (rust/crates/wiggle-generate-36.0.2.crate) = 24564 +SHA256 (rust/crates/wiggle-macro-36.0.2.crate) = fd7e511edbcaa045079dea564486c4ff7946ae491002227c41d74ea62a59d329 +SIZE (rust/crates/wiggle-macro-36.0.2.crate) = 10085 SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 -SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb -SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464 +SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22 +SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368 SHA256 (rust/crates/winapi-wsapoll-0.1.2.crate) = 1eafc5f679c576995526e81635d0cf9695841736712b4e892f87abbe6fed3f28 SIZE (rust/crates/winapi-wsapoll-0.1.2.crate) = 2865 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/winch-codegen-29.0.1.crate) = 2f849ef2c5f46cb0a20af4b4487aaa239846e52e2c03f13fa3c784684552859c -SIZE (rust/crates/winch-codegen-29.0.1.crate) = 119631 +SHA256 (rust/crates/winch-codegen-36.0.2.crate) = 6e615fe205d7d4c9aa62217862f2e0969d00b9b0843af0b1b8181adaea3cfef3 +SIZE (rust/crates/winch-codegen-36.0.2.crate) = 165765 SHA256 (rust/crates/window_clipboard-0.4.1.crate) = f6d692d46038c433f9daee7ad8757e002a4248c20b0a3fbc991d99521d3bcb6d SIZE (rust/crates/window_clipboard-0.4.1.crate) = 16047 SHA256 (rust/crates/windows-0.48.0.crate) = e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f @@ -1667,12 +1711,18 @@ SHA256 (rust/crates/windows-0.54.0.crate) = 9252e5725dbed82865af151df558e754e4a3 SIZE (rust/crates/windows-0.54.0.crate) = 11096265 SHA256 (rust/crates/windows-0.58.0.crate) = dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6 SIZE (rust/crates/windows-0.58.0.crate) = 9744521 +SHA256 (rust/crates/windows-0.61.3.crate) = 9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893 +SIZE (rust/crates/windows-0.61.3.crate) = 9372520 +SHA256 (rust/crates/windows-collections-0.2.0.crate) = 3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8 +SIZE (rust/crates/windows-collections-0.2.0.crate) = 13579 SHA256 (rust/crates/windows-core-0.54.0.crate) = 12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65 SIZE (rust/crates/windows-core-0.54.0.crate) = 44015 SHA256 (rust/crates/windows-core-0.58.0.crate) = 6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99 SIZE (rust/crates/windows-core-0.58.0.crate) = 41022 -SHA256 (rust/crates/windows-core-0.61.0.crate) = 4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980 -SIZE (rust/crates/windows-core-0.61.0.crate) = 36707 +SHA256 (rust/crates/windows-core-0.61.2.crate) = c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3 +SIZE (rust/crates/windows-core-0.61.2.crate) = 36771 +SHA256 (rust/crates/windows-future-0.2.1.crate) = fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e +SIZE (rust/crates/windows-future-0.2.1.crate) = 17532 SHA256 (rust/crates/windows-implement-0.58.0.crate) = 2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b SIZE (rust/crates/windows-implement-0.58.0.crate) = 10491 SHA256 (rust/crates/windows-implement-0.60.0.crate) = a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836 @@ -1681,18 +1731,22 @@ SHA256 (rust/crates/windows-interface-0.58.0.crate) = 053c4c462dc91d3b1504c6fe5a SIZE (rust/crates/windows-interface-0.58.0.crate) = 11246 SHA256 (rust/crates/windows-interface-0.59.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8 SIZE (rust/crates/windows-interface-0.59.1.crate) = 11735 -SHA256 (rust/crates/windows-link-0.1.1.crate) = 76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38 -SIZE (rust/crates/windows-link-0.1.1.crate) = 6154 +SHA256 (rust/crates/windows-link-0.1.3.crate) = 5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a +SIZE (rust/crates/windows-link-0.1.3.crate) = 6154 +SHA256 (rust/crates/windows-link-0.2.0.crate) = 45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65 +SIZE (rust/crates/windows-link-0.2.0.crate) = 6170 +SHA256 (rust/crates/windows-numerics-0.2.0.crate) = 9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1 +SIZE (rust/crates/windows-numerics-0.2.0.crate) = 9686 SHA256 (rust/crates/windows-result-0.1.2.crate) = 5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8 SIZE (rust/crates/windows-result-0.1.2.crate) = 10601 SHA256 (rust/crates/windows-result-0.2.0.crate) = 1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e SIZE (rust/crates/windows-result-0.2.0.crate) = 12756 -SHA256 (rust/crates/windows-result-0.3.2.crate) = c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252 -SIZE (rust/crates/windows-result-0.3.2.crate) = 13399 +SHA256 (rust/crates/windows-result-0.3.4.crate) = 56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6 +SIZE (rust/crates/windows-result-0.3.4.crate) = 13418 SHA256 (rust/crates/windows-strings-0.1.0.crate) = 4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10 SIZE (rust/crates/windows-strings-0.1.0.crate) = 13832 -SHA256 (rust/crates/windows-strings-0.4.0.crate) = 7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97 -SIZE (rust/crates/windows-strings-0.4.0.crate) = 13939 +SHA256 (rust/crates/windows-strings-0.4.2.crate) = 56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57 +SIZE (rust/crates/windows-strings-0.4.2.crate) = 13983 SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0 SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659 SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9 @@ -1701,60 +1755,84 @@ SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9b SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877 SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323 +SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb +SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479 +SHA256 (rust/crates/windows-sys-0.61.0.crate) = e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa +SIZE (rust/crates/windows-sys-0.61.0.crate) = 2517134 SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071 SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492 SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904 SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 +SHA256 (rust/crates/windows-targets-0.53.3.crate) = d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91 +SIZE (rust/crates/windows-targets-0.53.3.crate) = 7099 +SHA256 (rust/crates/windows-threading-0.1.0.crate) = b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6 +SIZE (rust/crates/windows-threading-0.1.0.crate) = 9085 SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8 SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071 SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492 SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764 +SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443 SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43 SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981 SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483 SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 +SHA256 (rust/crates/windows_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c +SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446 SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236 SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891 SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 +SHA256 (rust/crates/windows_i686_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3 +SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973 SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 +SHA256 (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11 +SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056 SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060 SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951 SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300 SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 +SHA256 (rust/crates/windows_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d +SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450 SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36 SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373 SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619 SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 +SHA256 (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba +SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585 SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3 SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068 SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486 SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57 +SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434 SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0 SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936 SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538 SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412 SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 +SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486 +SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400 SHA256 (rust/crates/winit-0.30.12.crate) = c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732 SIZE (rust/crates/winit-0.30.12.crate) = 604631 -SHA256 (rust/crates/winnow-0.7.9.crate) = d9fb597c990f03753e08d3c29efbfcf2019a003b4bf4ba19225c158e1549f0f3 -SIZE (rust/crates/winnow-0.7.9.crate) = 174763 +SHA256 (rust/crates/winnow-0.7.13.crate) = 21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf +SIZE (rust/crates/winnow-0.7.13.crate) = 174454 SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1 SIZE (rust/crates/winreg-0.50.0.crate) = 29703 SHA256 (rust/crates/winreg-0.52.0.crate) = a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5 @@ -1765,16 +1843,14 @@ SHA256 (rust/crates/winsafe-0.0.19.crate) = d135d17ab770252ad95e9a872d365cf3090e SIZE (rust/crates/winsafe-0.0.19.crate) = 492820 SHA256 (rust/crates/winx-0.36.4.crate) = 3f3fd376f71958b862e7afb20cfe5a22830e1963462f3a17f49d82a6c1d1f42d SIZE (rust/crates/winx-0.36.4.crate) = 13838 -SHA256 (rust/crates/wit-bindgen-rt-0.39.0.crate) = 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1 -SIZE (rust/crates/wit-bindgen-rt-0.39.0.crate) = 12241 -SHA256 (rust/crates/wit-parser-0.221.3.crate) = 896112579ed56b4a538b07a3d16e562d101ff6265c46b515ce0c701eef16b2ac -SIZE (rust/crates/wit-parser-0.221.3.crate) = 142585 +SHA256 (rust/crates/wit-bindgen-0.45.1.crate) = 5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36 +SIZE (rust/crates/wit-bindgen-0.45.1.crate) = 60395 +SHA256 (rust/crates/wit-parser-0.236.1.crate) = 16e4833a20cd6e85d6abfea0e63a399472d6f88c6262957c17f546879a80ba15 +SIZE (rust/crates/wit-parser-0.236.1.crate) = 153557 SHA256 (rust/crates/witx-0.9.1.crate) = e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b SIZE (rust/crates/witx-0.9.1.crate) = 45928 -SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936 -SIZE (rust/crates/write16-1.0.0.crate) = 7218 -SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51 -SIZE (rust/crates/writeable-0.5.5.crate) = 22354 +SHA256 (rust/crates/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb +SIZE (rust/crates/writeable-0.6.1.crate) = 24068 SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed SIZE (rust/crates/wyz-0.5.1.crate) = 18790 SHA256 (rust/crates/x11-clipboard-0.7.1.crate) = 980b9aa9226c3b7de8e2adb11bf20124327c054e0e5812d2aac0b5b5a87e7464 @@ -1783,16 +1859,16 @@ SHA256 (rust/crates/x11-dl-2.21.0.crate) = 38735924fedd5314a6e548792904ed8c6de66 SIZE (rust/crates/x11-dl-2.21.0.crate) = 66823 SHA256 (rust/crates/x11rb-0.10.1.crate) = 592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507 SIZE (rust/crates/x11rb-0.10.1.crate) = 207678 -SHA256 (rust/crates/x11rb-0.13.1.crate) = 5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12 -SIZE (rust/crates/x11rb-0.13.1.crate) = 223916 +SHA256 (rust/crates/x11rb-0.13.2.crate) = 9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414 +SIZE (rust/crates/x11rb-0.13.2.crate) = 220549 SHA256 (rust/crates/x11rb-protocol-0.10.0.crate) = 56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67 SIZE (rust/crates/x11rb-protocol-0.10.0.crate) = 419025 -SHA256 (rust/crates/x11rb-protocol-0.13.1.crate) = ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d -SIZE (rust/crates/x11rb-protocol-0.13.1.crate) = 508522 -SHA256 (rust/crates/xattr-1.5.0.crate) = 0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e -SIZE (rust/crates/xattr-1.5.0.crate) = 14694 -SHA256 (rust/crates/xcursor-0.3.8.crate) = 0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61 -SIZE (rust/crates/xcursor-0.3.8.crate) = 7191 +SHA256 (rust/crates/x11rb-protocol-0.13.2.crate) = ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd +SIZE (rust/crates/x11rb-protocol-0.13.2.crate) = 514069 +SHA256 (rust/crates/xattr-1.5.1.crate) = af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909 +SIZE (rust/crates/xattr-1.5.1.crate) = 14565 +SHA256 (rust/crates/xcursor-0.3.10.crate) = bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b +SIZE (rust/crates/xcursor-0.3.10.crate) = 7768 SHA256 (rust/crates/xdg-2.5.2.crate) = 213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546 SIZE (rust/crates/xdg-2.5.2.crate) = 14394 SHA256 (rust/crates/xi-unicode-0.3.0.crate) = a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a @@ -1801,40 +1877,42 @@ SHA256 (rust/crates/xkbcommon-dl-0.4.2.crate) = d039de8032a9a8856a6be89cea3e5d12 SIZE (rust/crates/xkbcommon-dl-0.4.2.crate) = 5879 SHA256 (rust/crates/xkeysym-0.2.1.crate) = b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56 SIZE (rust/crates/xkeysym-0.2.1.crate) = 103129 -SHA256 (rust/crates/xml-rs-0.8.26.crate) = a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda -SIZE (rust/crates/xml-rs-0.8.26.crate) = 55115 +SHA256 (rust/crates/xml-rs-0.8.27.crate) = 6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7 +SIZE (rust/crates/xml-rs-0.8.27.crate) = 55258 SHA256 (rust/crates/xmlparser-0.13.6.crate) = 66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4 SIZE (rust/crates/xmlparser-0.13.6.crate) = 26718 SHA256 (rust/crates/yasna-0.5.2.crate) = e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd SIZE (rust/crates/yasna-0.5.2.crate) = 34859 -SHA256 (rust/crates/yoke-0.7.5.crate) = 120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40 -SIZE (rust/crates/yoke-0.7.5.crate) = 29673 -SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154 -SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525 -SHA256 (rust/crates/zerocopy-0.8.25.crate) = a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb -SIZE (rust/crates/zerocopy-0.8.25.crate) = 252714 -SHA256 (rust/crates/zerocopy-derive-0.8.25.crate) = 28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef -SIZE (rust/crates/zerocopy-derive-0.8.25.crate) = 87671 +SHA256 (rust/crates/yoke-0.8.0.crate) = 5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc +SIZE (rust/crates/yoke-0.8.0.crate) = 28726 +SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6 +SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521 +SHA256 (rust/crates/zerocopy-0.8.27.crate) = 0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c +SIZE (rust/crates/zerocopy-0.8.27.crate) = 252663 +SHA256 (rust/crates/zerocopy-derive-0.8.27.crate) = 88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831 +SIZE (rust/crates/zerocopy-derive-0.8.27.crate) = 89827 SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5 SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669 SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502 SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305 SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde SIZE (rust/crates/zeroize-1.8.1.crate) = 20029 -SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079 -SIZE (rust/crates/zerovec-0.10.4.crate) = 126398 -SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6 -SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438 +SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595 +SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423 +SHA256 (rust/crates/zerovec-0.11.4.crate) = e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b +SIZE (rust/crates/zerovec-0.11.4.crate) = 125080 +SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f +SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294 SHA256 (rust/crates/zstd-0.13.3.crate) = e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a SIZE (rust/crates/zstd-0.13.3.crate) = 30514 SHA256 (rust/crates/zstd-safe-7.2.4.crate) = 8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d SIZE (rust/crates/zstd-safe-7.2.4.crate) = 29350 -SHA256 (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237 -SIZE (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = 774847 +SHA256 (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748 +SIZE (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 775620 SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a SIZE (rust/crates/zune-core-0.4.12.crate) = 17355 -SHA256 (rust/crates/zune-jpeg-0.4.14.crate) = 99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028 -SIZE (rust/crates/zune-jpeg-0.4.14.crate) = 63388 +SHA256 (rust/crates/zune-jpeg-0.4.21.crate) = 29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713 +SIZE (rust/crates/zune-jpeg-0.4.21.crate) = 68268 SHA256 (amethyst-specs-4e2da1df29ee840baa9b936593c45592b7c9ae27_GH0.tar.gz) = 0f7a525f61a575d212ecab1860af9166b6453a5ad5f44c5c7bcdcd4a353f6ff9 SIZE (amethyst-specs-4e2da1df29ee840baa9b936593c45592b7c9ae27_GH0.tar.gz) = 142942 SHA256 (veloren-auth-ae0e16783a9f9041951296885f082308e155db79_GL0.tar.gz) = 57381d975997e4a0b81e33a7658f87b5b3153097e82adfbf34fd8e47006f2056 @@ -1847,5 +1925,5 @@ SHA256 (veloren-conrod-c74446362371dc837b8b4b6d6ddcd7693b48d9b6_GL0.tar.gz) = 43 SIZE (veloren-conrod-c74446362371dc837b8b4b6d6ddcd7693b48d9b6_GL0.tar.gz) = 808402 SHA256 (DaforLynx-kira-v0.10.7-with-config_GH0.tar.gz) = ffc38b7c73cb6419d02a21a3905cd0b00b3a544711230c5b11ef77301b7b9bb2 SIZE (DaforLynx-kira-v0.10.7-with-config_GH0.tar.gz) = 4379268 -SHA256 (veloren-v0.17.0-1018-g15f3d6725e.tar.bz2) = 542c6fa50328f1f9ca118ee54db7c3f34d49d00d65ed2d190d03d6576af23426 -SIZE (veloren-v0.17.0-1018-g15f3d6725e.tar.bz2) = 340008848 +SHA256 (veloren-v0.17.0-1107-g188d737f06.tar.bz2) = 576638f69884ab00cd491804ae5c13f297baee7b10a6c43fec82caffbed48534 +SIZE (veloren-v0.17.0-1107-g188d737f06.tar.bz2) = 341670101 diff --git a/games/veloren-weekly/files/patch-gilrs b/games/veloren-weekly/files/patch-gilrs index 5ff7ffda430e..bcba8722d178 100644 --- a/games/veloren-weekly/files/patch-gilrs +++ b/games/veloren-weekly/files/patch-gilrs @@ -23,9 +23,9 @@ error[E0432]: unresolved imports `nix::sys::epoll`, `nix::sys::eventfd` | | help: a similar name exists in the module: `event` | no `epoll` in `sys` ---- Cargo.lock.orig 2025-08-14 15:14:34 UTC +--- Cargo.lock.orig 2025-09-10 09:49:58 UTC +++ Cargo.lock -@@ -2564,9 +2564,9 @@ dependencies = [ +@@ -2709,9 +2709,9 @@ dependencies = [ [[package]] name = "gilrs" @@ -37,7 +37,7 @@ error[E0432]: unresolved imports `nix::sys::epoll`, `nix::sys::eventfd` dependencies = [ "fnv", "gilrs-core", -@@ -2578,24 +2578,23 @@ dependencies = [ +@@ -2723,24 +2723,23 @@ dependencies = [ [[package]] name = "gilrs-core" @@ -47,8 +47,8 @@ error[E0432]: unresolved imports `nix::sys::epoll`, `nix::sys::eventfd` -checksum = "a6d95ae10ce5aa99543a28cf74e41c11f3b9e3c14f0452bbde46024753cd683e" +checksum = "5ccc99e9b8d63ffcaa334c4babfa31f46e156618a11f63efb6e8e6bcb37b830d" dependencies = [ -- "core-foundation 0.10.0", -- "inotify 0.11.0", +- "core-foundation 0.10.1", +- "inotify", + "core-foundation 0.9.4", "io-kit-sys", "js-sys", @@ -62,12 +62,12 @@ error[E0432]: unresolved imports `nix::sys::epoll`, `nix::sys::eventfd` "vec_map", "wasm-bindgen", "web-sys", -- "windows 0.61.1", +- "windows 0.61.3", + "windows 0.48.0", ] [[package]] -@@ -3414,9 +3413,9 @@ +@@ -3525,9 +3524,9 @@ dependencies = [ [[package]] name = "io-kit-sys" @@ -79,87 +79,23 @@ error[E0432]: unresolved imports `nix::sys::epoll`, `nix::sys::eventfd` dependencies = [ "core-foundation-sys", "mach2", -@@ -4205,6 +4204,17 @@ dependencies = [ - "memoffset 0.6.5", - ] +@@ -4317,13 +4316,12 @@ dependencies = [ -+[[package]] -+name = "nix" + [[package]] + name = "nix" +-version = "0.29.0" +version = "0.26.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -+dependencies = [ + dependencies = [ +- "bitflags 2.9.4", + "bitflags 1.3.2", -+ "cfg-if 1.0.0", -+ "libc", -+] -+ - [[package]] - name = "nix" - version = "0.29.0" -@@ -9218,28 +9228,6 @@ dependencies = [ - "windows-targets 0.52.6", - ] - --[[package]] --name = "windows" --version = "0.61.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419" --dependencies = [ -- "windows-collections", -- "windows-core 0.61.0", -- "windows-future", -- "windows-link", -- "windows-numerics", --] -- --[[package]] --name = "windows-collections" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" --dependencies = [ -- "windows-core 0.61.0", --] -- - [[package]] - name = "windows-core" - version = "0.54.0" -@@ -9276,16 +9264,6 @@ dependencies = [ - "windows-strings 0.4.0", + "cfg-if 1.0.3", +- "cfg_aliases", + "libc", ] --[[package]] --name = "windows-future" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7a1d6bbefcb7b60acd19828e1bc965da6fcf18a7e39490c5f8be71e54a19ba32" --dependencies = [ -- "windows-core 0.61.0", -- "windows-link", --] -- - [[package]] - name = "windows-implement" - version = "0.58.0" -@@ -9336,16 +9314,6 @@ version = "0.1.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" - --[[package]] --name = "windows-numerics" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" --dependencies = [ -- "windows-core 0.61.0", -- "windows-link", --] -- - [[package]] - name = "windows-result" - version = "0.1.2" --- cargo-crates/gilrs-0.10.2/examples/ev.rs.orig 1970-01-01 00:00:00 UTC +++ cargo-crates/gilrs-0.10.2/examples/ev.rs @@ -9,6 +9,8 @@ use std::process; |