summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mk/Uses/pyqt.mk4
-rw-r--r--audio/mac/Makefile2
-rw-r--r--audio/mac/distinfo6
-rw-r--r--biology/vsearch/files/patch-src_arch.cc32
-rw-r--r--databases/freetds-devel/Makefile2
-rw-r--r--databases/freetds-devel/distinfo6
-rw-r--r--databases/pspg/Makefile2
-rw-r--r--databases/pspg/distinfo6
-rw-r--r--devel/cirrus-cli/Makefile2
-rw-r--r--devel/cirrus-cli/distinfo10
-rw-r--r--devel/libphonenumber/Makefile2
-rw-r--r--devel/libphonenumber/distinfo6
-rw-r--r--devel/ninja/Makefile2
-rw-r--r--devel/ninja/distinfo6
-rw-r--r--devel/py-qt6-pyqt/distinfo6
-rw-r--r--devel/py-qt6-pyqt/pkg-plist1
-rw-r--r--devel/py-sip/distinfo6
-rw-r--r--dns/dnsmasq-devel/Makefile4
-rw-r--r--dns/dnsmasq-devel/files/patch-inotify40
-rw-r--r--filesystems/nbt/Makefile2
-rw-r--r--graphics/R-cran-R.devices/Makefile7
-rw-r--r--graphics/R-cran-R.devices/distinfo6
-rw-r--r--graphics/qgis/Makefile3
-rw-r--r--graphics/qgis/distinfo6
-rw-r--r--lang/php81/Makefile2
-rw-r--r--lang/php81/distinfo6
-rw-r--r--lang/php82/Makefile2
-rw-r--r--lang/php82/distinfo6
-rw-r--r--lang/php83/Makefile2
-rw-r--r--lang/php83/distinfo6
-rw-r--r--lang/php84/Makefile17
-rw-r--r--lang/php84/distinfo6
-rw-r--r--lang/php85/Makefile17
-rw-r--r--lang/php85/distinfo6
-rw-r--r--lang/rust/Makefile10
-rw-r--r--math/ntl/Makefile11
-rw-r--r--math/ntl/distinfo6
-rw-r--r--math/ntl/pkg-plist156
-rw-r--r--misc/qt5ct/Makefile21
-rw-r--r--misc/qt5ct/distinfo6
-rw-r--r--misc/qt5ct/pkg-plist2
-rw-r--r--misc/qt6ct/Makefile4
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp16
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp16
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt4
-rw-r--r--net-mgmt/netdata/Makefile5
-rw-r--r--net-mgmt/netdata/distinfo10
-rw-r--r--net-mgmt/netdata/pkg-plist242
-rw-r--r--net/Makefile1
-rw-r--r--net/nbdkit/Makefile4
-rw-r--r--net/nbdkit/distinfo6
-rw-r--r--net/nbdkit/pkg-plist14
-rw-r--r--net/uvgrtp/Makefile24
-rw-r--r--net/uvgrtp/distinfo3
-rw-r--r--net/uvgrtp/files/patch-CMakeLists.txt20
-rw-r--r--net/uvgrtp/files/patch-src_reception__flow.hh10
-rw-r--r--net/uvgrtp/files/patch-src_socket.hh12
-rw-r--r--net/uvgrtp/files/patch-src_srtp_base.hh12
-rw-r--r--net/uvgrtp/pkg-descr10
-rw-r--r--net/uvgrtp/pkg-plist19
-rw-r--r--print/rubygem-color_diff/Makefile4
-rw-r--r--print/rubygem-color_diff/distinfo6
-rw-r--r--science/afni/Makefile2
-rw-r--r--science/afni/distinfo6
-rw-r--r--security/easy-rsa/Makefile2
-rw-r--r--security/easy-rsa/files/pkg-message.in3
-rw-r--r--security/sqlmap/Makefile7
-rw-r--r--security/sqlmap/distinfo6
-rw-r--r--security/vuxml/vuln/2025.xml94
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/consul/Makefile5
-rw-r--r--sysutils/consul/distinfo30
-rw-r--r--sysutils/opentofu/Makefile4
-rw-r--r--sysutils/opentofu/distinfo10
-rw-r--r--sysutils/pfstat/Makefile24
-rw-r--r--sysutils/pfstat/files/patch-pf.c50
-rw-r--r--sysutils/py-hcloud/Makefile2
-rw-r--r--sysutils/py-hcloud/distinfo6
-rw-r--r--sysutils/py-rendercv/Makefile43
-rw-r--r--sysutils/py-rendercv/distinfo3
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py21
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py11
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py11
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py46
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py22
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py23
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py8
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py8
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py22
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py19
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py38
-rw-r--r--sysutils/py-rendercv/pkg-descr5
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/R-cran-litedown/Makefile4
-rw-r--r--textproc/R-cran-litedown/distinfo6
-rw-r--r--textproc/libmrss/Makefile18
-rw-r--r--textproc/libmrss/distinfo5
-rw-r--r--textproc/libmrss/pkg-plist2
-rw-r--r--textproc/php81-xml/files/patch-compat.c10
-rw-r--r--textproc/py-typst/Makefile27
-rw-r--r--textproc/py-typst/Makefile.crates381
-rw-r--r--textproc/py-typst/distinfo765
-rw-r--r--textproc/py-typst/files/patch-Cargo.lock26
-rw-r--r--textproc/py-typst/files/patch-Cargo.toml12
-rw-r--r--textproc/py-typst/pkg-descr2
-rw-r--r--www/forgejo-lts/Makefile3
-rw-r--r--www/forgejo/Makefile3
-rw-r--r--www/gallery-dl/Makefile2
-rw-r--r--www/gallery-dl/distinfo6
-rw-r--r--www/gohugo/Makefile3
-rw-r--r--www/gohugo/distinfo10
-rw-r--r--www/hiawatha-monitor/Makefile2
-rw-r--r--www/hiawatha/Makefile2
-rw-r--r--www/oauth2-proxy/Makefile103
-rw-r--r--www/oauth2-proxy/distinfo190
-rw-r--r--www/oauth2-proxy/files/patch-go.mod10
-rw-r--r--x11-fonts/Makefile1
-rw-r--r--x11-fonts/py-rendercv-fonts/Makefile21
-rw-r--r--x11-fonts/py-rendercv-fonts/distinfo3
-rw-r--r--x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml9
-rw-r--r--x11-fonts/py-rendercv-fonts/pkg-descr2
-rw-r--r--x11/xpra/Makefile14
-rw-r--r--x11/xpra/distinfo6
-rw-r--r--x11/xpra/pkg-plist956
127 files changed, 3012 insertions, 1078 deletions
diff --git a/Mk/Uses/pyqt.mk b/Mk/Uses/pyqt.mk
index 8a172daa00cb..880221be3b56 100644
--- a/Mk/Uses/pyqt.mk
+++ b/Mk/Uses/pyqt.mk
@@ -110,7 +110,7 @@ MASTER_SITES_PYQTWEBENGINE= ${MASTER_SITES_PYQT${_PYQT_VERSION}WEBENGINE}
# Qt version-agnostic components
PYQTBUILDER_VERSION= 1.19.1
QSCI2_VERSION= 2.14.1
-SIP_VERSION= 6.15.0 # ,1
+SIP_VERSION= 6.15.1 # ,1
# Qt 5 components
PYQT5SIP_VERSION= 12.17.2
@@ -123,7 +123,7 @@ PYQT5WEBENGINE_VERSION= 5.15.7
# Qt 6 components
PYQT6SIP_VERSION= 13.10.3
-PYQT6_VERSION= 6.10.0
+PYQT6_VERSION= 6.10.1
PYQT63D_VERSION= 6.10.0
PYQT6CHARTS_VERSION= 6.10.0
PYQT6DATAVIS3D_VERSION= 6.10.0
diff --git a/audio/mac/Makefile b/audio/mac/Makefile
index fca05e2559f6..0d8944bea982 100644
--- a/audio/mac/Makefile
+++ b/audio/mac/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mac
-PORTVERSION= 11.89
+PORTVERSION= 11.90
CATEGORIES= audio
MASTER_SITES= https://www.monkeysaudio.com/files/
DISTNAME= ${PORTNAME:tu}_${PORTVERSION:S|.||}_SDK
diff --git a/audio/mac/distinfo b/audio/mac/distinfo
index e9bf9d189a7a..6fd754e6fed3 100644
--- a/audio/mac/distinfo
+++ b/audio/mac/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1764901120
-SHA256 (MAC_1189_SDK.zip) = e641cf51139ede6e2b3055dedc24e79e43443339dee0d8ef8b0b7aa50ae22008
-SIZE (MAC_1189_SDK.zip) = 1735541
+TIMESTAMP = 1766250730
+SHA256 (MAC_1190_SDK.zip) = 6aeb626ba379af91b69a76047d5fb6e8f498630fa4274f865eecfd2b5ccc74d0
+SIZE (MAC_1190_SDK.zip) = 1735265
diff --git a/biology/vsearch/files/patch-src_arch.cc b/biology/vsearch/files/patch-src_arch.cc
new file mode 100644
index 000000000000..bf8d2e77dda7
--- /dev/null
+++ b/biology/vsearch/files/patch-src_arch.cc
@@ -0,0 +1,32 @@
+--- src/arch.cc.orig 2025-12-20 13:37:07 UTC
++++ src/arch.cc
+@@ -67,7 +67,7 @@
+ #include <cstdlib> // std::realloc, std::free
+
+
+-constexpr auto memalignment = 16;
++constexpr auto vsearch_memalignment = 16;
+
+
+ auto arch_get_memused() -> uint64_t
+@@ -223,9 +223,9 @@ auto xmalloc(std::size_t size) -> void *
+ size = std::max(size, minimal_allocation);
+ void * ptr = nullptr;
+ #ifdef _WIN32
+- ptr = _aligned_malloc(size, memalignment);
++ ptr = _aligned_malloc(size, vsearch_memalignment);
+ #else
+- if (posix_memalign(&ptr, memalignment, size) != 0)
++ if (posix_memalign(&ptr, vsearch_memalignment, size) != 0)
+ {
+ ptr = nullptr;
+ }
+@@ -243,7 +243,7 @@ auto xrealloc(void * ptr, std::size_t size) -> void *
+ static constexpr auto minimal_allocation = std::size_t{1};
+ size = std::max(size, minimal_allocation);
+ #ifdef _WIN32
+- void * new_ptr = _aligned_realloc(ptr, size, memalignment);
++ void * new_ptr = _aligned_realloc(ptr, size, vsearch_memalignment);
+ #else
+ void * new_ptr = realloc(ptr, size);
+ #endif
diff --git a/databases/freetds-devel/Makefile b/databases/freetds-devel/Makefile
index 200c741d7a43..51ac06737ee0 100644
--- a/databases/freetds-devel/Makefile
+++ b/databases/freetds-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= freetds
-DISTVERSION= 1.5.203
+DISTVERSION= 1.5.206
PORTEPOCH= 1
CATEGORIES= databases
MASTER_SITES= https://www.freetds.org/files/current/
diff --git a/databases/freetds-devel/distinfo b/databases/freetds-devel/distinfo
index f0f33ec6f26f..beefdd093445 100644
--- a/databases/freetds-devel/distinfo
+++ b/databases/freetds-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765960072
-SHA256 (freetds-dev.1.5.203.tar.bz2) = 6b14b4e98334dacffb01615efaf3ffa768d62503e8b15d0abcedb50832756161
-SIZE (freetds-dev.1.5.203.tar.bz2) = 2475625
+TIMESTAMP = 1766220084
+SHA256 (freetds-dev.1.5.206.tar.bz2) = 7207dc7954e32fa474b1818286f3c483c06c41bf370ec9c841f5b47bc61af2ee
+SIZE (freetds-dev.1.5.206.tar.bz2) = 2476267
diff --git a/databases/pspg/Makefile b/databases/pspg/Makefile
index e09cb972e07b..a76995319fb8 100644
--- a/databases/pspg/Makefile
+++ b/databases/pspg/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pspg
-DISTVERSION= 5.8.13
+DISTVERSION= 5.8.14
CATEGORIES= databases
MAINTAINER= bofh@FreeBSD.org
diff --git a/databases/pspg/distinfo b/databases/pspg/distinfo
index d7a023544e8e..99b691229f4d 100644
--- a/databases/pspg/distinfo
+++ b/databases/pspg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765961706
-SHA256 (okbob-pspg-5.8.13_GH0.tar.gz) = b6f198a98c0e8ec0f1ea0893deb23f20be7196a4f075c879722f91bef65a12f8
-SIZE (okbob-pspg-5.8.13_GH0.tar.gz) = 2447114
+TIMESTAMP = 1766220163
+SHA256 (okbob-pspg-5.8.14_GH0.tar.gz) = 9ff44945fdf08b99468808ff67c903f62205583743b6b45921dc6b366aa5e243
+SIZE (okbob-pspg-5.8.14_GH0.tar.gz) = 2447513
diff --git a/devel/cirrus-cli/Makefile b/devel/cirrus-cli/Makefile
index 5e14c4c4e997..42ecffb3daea 100644
--- a/devel/cirrus-cli/Makefile
+++ b/devel/cirrus-cli/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cirrus-cli
DISTVERSIONPREFIX= v
-DISTVERSION= 0.157.4
+DISTVERSION= 0.158.0
CATEGORIES= devel
MAINTAINER= bofh@FreeBSD.org
diff --git a/devel/cirrus-cli/distinfo b/devel/cirrus-cli/distinfo
index c2e13a21651a..aa6981440584 100644
--- a/devel/cirrus-cli/distinfo
+++ b/devel/cirrus-cli/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1765961764
-SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.157.4/v0.157.4.mod) = 43fde39b1a6175854a1e43cea0c1e25217cea8fe008dc04c8ebbe201b5dee7de
-SIZE (go/devel_cirrus-cli/cirrus-cli-v0.157.4/v0.157.4.mod) = 11531
-SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.157.4/v0.157.4.zip) = d75b954eb1e3323182f06dd5bd1bdb067caa6f8342dde97642a7a905694ed9df
-SIZE (go/devel_cirrus-cli/cirrus-cli-v0.157.4/v0.157.4.zip) = 1316103
+TIMESTAMP = 1766220233
+SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.158.0/v0.158.0.mod) = 43fde39b1a6175854a1e43cea0c1e25217cea8fe008dc04c8ebbe201b5dee7de
+SIZE (go/devel_cirrus-cli/cirrus-cli-v0.158.0/v0.158.0.mod) = 11531
+SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.158.0/v0.158.0.zip) = 86519abfbf0f9ba0e2a2b9e556a07059df6d6da29a8af98e9f6de94e819cdc8e
+SIZE (go/devel_cirrus-cli/cirrus-cli-v0.158.0/v0.158.0.zip) = 1315930
diff --git a/devel/libphonenumber/Makefile b/devel/libphonenumber/Makefile
index 25b307b796fe..7fa33a12d2fc 100644
--- a/devel/libphonenumber/Makefile
+++ b/devel/libphonenumber/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libphonenumber
DISTVERSIONPREFIX= v
-DISTVERSION= 9.0.18
+DISTVERSION= 9.0.21
CATEGORIES= devel
MAINTAINER= kde@FreeBSD.org
diff --git a/devel/libphonenumber/distinfo b/devel/libphonenumber/distinfo
index c068ffe93f13..772a783e2316 100644
--- a/devel/libphonenumber/distinfo
+++ b/devel/libphonenumber/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763449489
-SHA256 (google-libphonenumber-v9.0.18_GH0.tar.gz) = fdcf2677367b93595d3c7ccbbd58e8e086bbdd5fd58bc01400b445786f9544f7
-SIZE (google-libphonenumber-v9.0.18_GH0.tar.gz) = 13017109
+TIMESTAMP = 1766251070
+SHA256 (google-libphonenumber-v9.0.21_GH0.tar.gz) = 4261a7c38744b3b4859a424a193714ef55b53cd9f3d3d463f9ac589a2c778102
+SIZE (google-libphonenumber-v9.0.21_GH0.tar.gz) = 13022920
diff --git a/devel/ninja/Makefile b/devel/ninja/Makefile
index 931e9b910a68..5bfff5d38364 100644
--- a/devel/ninja/Makefile
+++ b/devel/ninja/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ninja
-PORTVERSION= 1.13.1
+PORTVERSION= 1.13.2
DISTVERSIONPREFIX= v
PORTEPOCH= 4
CATEGORIES= devel
diff --git a/devel/ninja/distinfo b/devel/ninja/distinfo
index 60e7d21f0fd6..0fc2bc91fd57 100644
--- a/devel/ninja/distinfo
+++ b/devel/ninja/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755246529
-SHA256 (ninja-build-ninja-v1.13.1_GH0.tar.gz) = f0055ad0369bf2e372955ba55128d000cfcc21777057806015b45e4accbebf23
-SIZE (ninja-build-ninja-v1.13.1_GH0.tar.gz) = 292098
+TIMESTAMP = 1766255207
+SHA256 (ninja-build-ninja-v1.13.2_GH0.tar.gz) = 974d6b2f4eeefa25625d34da3cb36bdcebe7fbce40f4c16ac0835fd1c0cbae17
+SIZE (ninja-build-ninja-v1.13.2_GH0.tar.gz) = 292385
diff --git a/devel/py-qt6-pyqt/distinfo b/devel/py-qt6-pyqt/distinfo
index ab09537c6a34..15b86fbc4173 100644
--- a/devel/py-qt6-pyqt/distinfo
+++ b/devel/py-qt6-pyqt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761268973
-SHA256 (pyqt6-6.10.0.tar.gz) = 710ecfd720d9a03b2c684881ae37f528e11d17e8f1bf96431d00a6a73f308e36
-SIZE (pyqt6-6.10.0.tar.gz) = 1079921
+TIMESTAMP = 1766216700
+SHA256 (pyqt6-6.10.1.tar.gz) = d733a6c712c0b7a7b99e4ad59b211ea25a5d1b9d1131e47a1f50b5e524266e57
+SIZE (pyqt6-6.10.1.tar.gz) = 1085250
diff --git a/devel/py-qt6-pyqt/pkg-plist b/devel/py-qt6-pyqt/pkg-plist
index 87d2f3bbefc3..e0da7eea0567 100644
--- a/devel/py-qt6-pyqt/pkg-plist
+++ b/devel/py-qt6-pyqt/pkg-plist
@@ -153,6 +153,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qhash.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qlist.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qmap.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qrangemodel.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qset.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_std_chrono_duration.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_std_optional.sip
diff --git a/devel/py-sip/distinfo b/devel/py-sip/distinfo
index 2494ab3145d8..da0980593c08 100644
--- a/devel/py-sip/distinfo
+++ b/devel/py-sip/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765502852
-SHA256 (sip-6.15.0.tar.gz) = 3920f26515456ee21114a1f8282144f8c156b1aabc3b44424155d5f81396025f
-SIZE (sip-6.15.0.tar.gz) = 2563129
+TIMESTAMP = 1766250366
+SHA256 (sip-6.15.1.tar.gz) = dc2e58c1798a74e1b31c28e837339822fe8fa55288ae30e8986eb28100ebca5a
+SIZE (sip-6.15.1.tar.gz) = 2563506
diff --git a/dns/dnsmasq-devel/Makefile b/dns/dnsmasq-devel/Makefile
index 06d297411326..a20c6f643af8 100644
--- a/dns/dnsmasq-devel/Makefile
+++ b/dns/dnsmasq-devel/Makefile
@@ -1,7 +1,7 @@
PORTNAME= dnsmasq
DISTVERSION= 2.92rc3 # remember to bump PORTEPOCH when going from test to rc!
# Leave the PORTREVISION in even if 0 to avoid accidental PORTEPOCH bumps:
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 7
CATEGORIES= dns
MASTER_SITES= LOCAL/mandree/ \
@@ -56,6 +56,8 @@ CPPFLAGS+= -I${LOCALBASE}/include
CONFLICTS_INSTALL= dnsmasq-2*
+PATCH_STRIP= -p1
+
SUB_FILES= pkg-message
PORTDOCS= CHANGELOG CHANGELOG.archive FAQ doc.html setup.html
diff --git a/dns/dnsmasq-devel/files/patch-inotify b/dns/dnsmasq-devel/files/patch-inotify
new file mode 100644
index 000000000000..c9175850667f
--- /dev/null
+++ b/dns/dnsmasq-devel/files/patch-inotify
@@ -0,0 +1,40 @@
+commit c1d456f4fbf1409b4aa61bbf4d358ddf616353e0
+Author: Matthias Andree <matthias.andree@gmx.de>
+Date: Sat Dec 20 10:03:56 2025 +0100
+
+ Enable inotify support on FreeBSD 15.
+
+ FreeBSD 15.0 has added Linux-compatible inotify support, so
+ enable it by looking if the version matches. Since FreeBSD inotify has
+ seen a few bug fixes in 2025H2, so only enable it if
+ __FreeBSD_version >= 1500068. The latter can be checked through
+ osreldate.h or sys/param.h; the latter defines more macros that clash
+ with dnsmasq's, such as MIN and MAX, so use the former.
+
+diff --git a/src/config.h b/src/config.h
+index 0994f95..191c72e 100644
+--- a/src/config.h
++++ b/src/config.h
+@@ -142,7 +142,8 @@ HAVE_LOOP
+ include functionality to probe for and remove DNS forwarding loops.
+
+ HAVE_INOTIFY
+- use the Linux inotify facility to efficiently re-read configuration files.
++ use the Linux and FreeBSD >= 15 inotify facility
++ to efficiently re-read configuration files.
+
+ NO_ID
+ Don't report *.bind CHAOS info to clients, forward such requests upstream instead.
+@@ -378,6 +379,12 @@ HAVE_SOCKADDR_SA_LEN
+ #if defined (HAVE_LINUX_NETWORK) && !defined(NO_INOTIFY)
+ #define HAVE_INOTIFY
+ #endif
++#if defined (__FreeBSD__) && __FreeBSD__ + 0 >= 15
++# include <osreldate.h>
++# if __FreeBSD_version >= 1500068 /* 15.0.0 */
++# define HAVE_INOTIFY
++# endif
++#endif
+
+ /* This never compiles code, it's only used by the makefile to fingerprint builds. */
+ #ifdef DNSMASQ_COMPILE_FLAGS
diff --git a/filesystems/nbt/Makefile b/filesystems/nbt/Makefile
index ae706dc35e0b..aa39c72adf37 100644
--- a/filesystems/nbt/Makefile
+++ b/filesystems/nbt/Makefile
@@ -5,7 +5,7 @@ MASTER_SITES= SF/nbtfsutils
PKGNAMEPREFIX= fusefs-
DISTNAME= nbtfsutils-${REVISION_DATE}-${REVISION_HASH}-src
-MAINTAINER= msl0000023508@gmail.com
+MAINTAINER= whr@rivoreo.one
COMMENT= Editing Named Binary Tag (NBT) as using a file system
WWW= https://sourceforge.net/projects/nbtfsutils/
diff --git a/graphics/R-cran-R.devices/Makefile b/graphics/R-cran-R.devices/Makefile
index 263d29ba202c..a21d290acb1e 100644
--- a/graphics/R-cran-R.devices/Makefile
+++ b/graphics/R-cran-R.devices/Makefile
@@ -1,5 +1,5 @@
PORTNAME= R.devices
-DISTVERSION= 2.17.2
+DISTVERSION= 2.17.3
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
@@ -13,8 +13,9 @@ LICENSE_COMB= multi
RUN_DEPENDS= R-cran-base64enc>=0.1.2:converters/R-cran-base64enc \
R-cran-R.methodsS3>=1.8.1:devel/R-cran-R.methodsS3 \
R-cran-R.oo>=1.24.0:devel/R-cran-R.oo \
- R-cran-R.utils>=2.0.1:devel/R-cran-R.utils
-TEST_DEPENDS= R-cran-digest>=0.6.13:security/R-cran-digest
+ R-cran-R.utils>=2.10.1:devel/R-cran-R.utils
+TEST_DEPENDS= R-cran-digest>=0.6.13:security/R-cran-digest \
+ R-cran-R.rsp>0:textproc/R-cran-R.rsp
USES= cran:auto-plist
diff --git a/graphics/R-cran-R.devices/distinfo b/graphics/R-cran-R.devices/distinfo
index 26ecc0c9b4a3..68b086ae3eed 100644
--- a/graphics/R-cran-R.devices/distinfo
+++ b/graphics/R-cran-R.devices/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739727502
-SHA256 (R.devices_2.17.2.tar.gz) = 403eeaf552dd696142096973dee3460dc52c19b73fd194841dd4638e2bdcec95
-SIZE (R.devices_2.17.2.tar.gz) = 243013
+TIMESTAMP = 1766223997
+SHA256 (R.devices_2.17.3.tar.gz) = 4fa070d83781774e69c8ec5f4b3ffb3751f0d3f292271cdb47d76b0c012f3cf8
+SIZE (R.devices_2.17.3.tar.gz) = 250435
diff --git a/graphics/qgis/Makefile b/graphics/qgis/Makefile
index b3c22b1badc8..4da1b6611f19 100644
--- a/graphics/qgis/Makefile
+++ b/graphics/qgis/Makefile
@@ -1,6 +1,5 @@
PORTNAME= qgis
-DISTVERSION= 3.44.5
-PORTREVISION= 2
+DISTVERSION= 3.44.6
CATEGORIES= graphics geography
MASTER_SITES= https://qgis.org/downloads/
diff --git a/graphics/qgis/distinfo b/graphics/qgis/distinfo
index 0075b1fbfed7..5c8fe196e01a 100644
--- a/graphics/qgis/distinfo
+++ b/graphics/qgis/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763793833
-SHA256 (qgis-3.44.5.tar.bz2) = f1e4d52789b65cd5678a6e9b9c10bdf04df930b847a827bbf8f873db98019f2f
-SIZE (qgis-3.44.5.tar.bz2) = 190602610
+TIMESTAMP = 1766212091
+SHA256 (qgis-3.44.6.tar.bz2) = 6a7a0ad471b325f0ac364a7256b415013fc23e3ede3e6b152005739a8d273cd3
+SIZE (qgis-3.44.6.tar.bz2) = 189725834
diff --git a/lang/php81/Makefile b/lang/php81/Makefile
index 86179960786f..415d135e1e5d 100644
--- a/lang/php81/Makefile
+++ b/lang/php81/Makefile
@@ -1,5 +1,5 @@
PORTNAME= php81
-DISTVERSION= 8.1.33
+DISTVERSION= 8.1.34
PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
diff --git a/lang/php81/distinfo b/lang/php81/distinfo
index 2e4d04ea9231..3b2526858d27 100644
--- a/lang/php81/distinfo
+++ b/lang/php81/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751555623
-SHA256 (php-8.1.33.tar.xz) = 9db83bf4590375562bc1a10b353cccbcf9fcfc56c58b7c8fb814e6865bb928d1
-SIZE (php-8.1.33.tar.xz) = 11898724
+TIMESTAMP = 1765959606
+SHA256 (php-8.1.34.tar.xz) = ffa9e0982e82eeaea848f57687b425ed173aa278fe563001310ae2638db5c251
+SIZE (php-8.1.34.tar.xz) = 11903896
diff --git a/lang/php82/Makefile b/lang/php82/Makefile
index 3d715f7ff37b..5b2c29424731 100644
--- a/lang/php82/Makefile
+++ b/lang/php82/Makefile
@@ -1,5 +1,5 @@
PORTNAME= php82
-DISTVERSION= 8.2.29
+DISTVERSION= 8.2.30
PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
diff --git a/lang/php82/distinfo b/lang/php82/distinfo
index 787fa17aa362..1fb62dee4379 100644
--- a/lang/php82/distinfo
+++ b/lang/php82/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751553447
-SHA256 (php-8.2.29.tar.xz) = 475f991afd2d5b901fb410be407d929bc00c46285d3f439a02c59e8b6fe3589c
-SIZE (php-8.2.29.tar.xz) = 12162364
+TIMESTAMP = 1765959655
+SHA256 (php-8.2.30.tar.xz) = bc90523e17af4db46157e75d0c9ef0b9d0030b0514e62c26ba7b513b8c4eb015
+SIZE (php-8.2.30.tar.xz) = 12153868
diff --git a/lang/php83/Makefile b/lang/php83/Makefile
index 03103ba0c0af..4c96cc7b691a 100644
--- a/lang/php83/Makefile
+++ b/lang/php83/Makefile
@@ -1,5 +1,5 @@
PORTNAME= php83
-DISTVERSION= 8.3.28
+DISTVERSION= 8.3.29
PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
diff --git a/lang/php83/distinfo b/lang/php83/distinfo
index 5a600cd22d18..fbcc0fda1af6 100644
--- a/lang/php83/distinfo
+++ b/lang/php83/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763635386
-SHA256 (php-8.3.28.tar.xz) = 25e3860f30198a386242891c0bf9e2955931f7b666b96c3e3103d36a2a322326
-SIZE (php-8.3.28.tar.xz) = 12604244
+TIMESTAMP = 1765959677
+SHA256 (php-8.3.29.tar.xz) = f7950ca034b15a78f5de9f1b22f4d9bad1dd497114d175cb1672a4ca78077af5
+SIZE (php-8.3.29.tar.xz) = 12601944
diff --git a/lang/php84/Makefile b/lang/php84/Makefile
index fb750a43e876..52be4c71184e 100644
--- a/lang/php84/Makefile
+++ b/lang/php84/Makefile
@@ -1,5 +1,5 @@
PORTNAME= php84
-DISTVERSION= 8.4.15
+DISTVERSION= 8.4.16
PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
@@ -18,8 +18,7 @@ PHP_VER= 84
CONFLICTS_INSTALL?= php[0-9][0-9]${PKGNAMESUFFIX}
.if !defined(PKGNAMESUFFIX)
-LIB_DEPENDS= libargon2.so:security/libargon2 \
- libpcre2-8.so:devel/pcre2
+LIB_DEPENDS= libpcre2-8.so:devel/pcre2
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= \
@@ -28,8 +27,7 @@ CONFIGURE_ARGS+= \
--with-config-file-scan-dir=${PREFIX}/etc/php \
--with-layout=GNU \
--with-libxml \
- --with-openssl \
- --with-password-argon2=${LOCALBASE}
+ --with-openssl
USES+= autoreconf:build ssl
USE_GNOME= libxml2
@@ -79,8 +77,8 @@ FPM_VARS= PHP_SAPI+=fpm \
USE_RC_SUBR+=php_fpm
IPV6_CONFIGURE_OFF= --disable-ipv6
LINKTHR_LIBS= -lpthread
-NOASLR_USES= elfctl
MYSQLND_CONFIGURE_ON= --enable-mysqlnd
+NOASLR_USES= elfctl
PCRE_BUILD_DEPENDS= re2c>0:devel/re2c
PCRE_CONFIGURE_ON= --with-external-pcre=${LOCALBASE}
PCRE_PLIST_SUB= BUNDLED_PCRE="@comment "
@@ -135,6 +133,13 @@ PLIST_SUB+= SAPI_INC=""
PLIST_SUB+= SAPI_INC="@comment "
. endif
+. if (${OSVERSION} >= 1500000 && ${SSL_DEFAULT} == base) || (${SSL_DEFAULT:Mopenssl*} && ${OPENSSL_SHLIBVER} >= 15)
+CONFIGURE_ARGS+= --with-openssl-argon2
+. else
+LIB_DEPENDS+= libargon2.so:security/libargon2
+CONFIGURE_ARGS+= --with-password-argon2=${LOCALBASE}
+. endif
+
CONFIGURE_ENV+= ac_cv_decimal_fp_supported="no" \
lt_cv_path_SED="sed" \
OPENSSL_CFLAGS="-I${OPENSSLINC}" \
diff --git a/lang/php84/distinfo b/lang/php84/distinfo
index 8a7cefbd1503..703f469c962c 100644
--- a/lang/php84/distinfo
+++ b/lang/php84/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763635407
-SHA256 (php-8.4.15.tar.xz) = a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e
-SIZE (php-8.4.15.tar.xz) = 13652564
+TIMESTAMP = 1765959694
+SHA256 (php-8.4.16.tar.xz) = f66f8f48db34e9e29f7bfd6901178e9cf4a1b163e6e497716dfcb8f88bcfae30
+SIZE (php-8.4.16.tar.xz) = 13660836
diff --git a/lang/php85/Makefile b/lang/php85/Makefile
index 53b6b9034f59..a1ab876f2788 100644
--- a/lang/php85/Makefile
+++ b/lang/php85/Makefile
@@ -1,5 +1,5 @@
PORTNAME= php85
-DISTVERSION= 8.5.0
+DISTVERSION= 8.5.1
PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
@@ -18,8 +18,7 @@ PHP_VER= 85
CONFLICTS_INSTALL?= php[0-9][0-9]${PKGNAMESUFFIX}
.if !defined(PKGNAMESUFFIX)
-LIB_DEPENDS= libargon2.so:security/libargon2 \
- libcapstone.so:devel/capstone \
+LIB_DEPENDS= libcapstone.so:devel/capstone \
libpcre2-8.so:devel/pcre2
GNU_CONFIGURE= yes
@@ -29,8 +28,7 @@ CONFIGURE_ARGS+= \
--with-config-file-scan-dir=${PREFIX}/etc/php \
--with-layout=GNU \
--with-libxml \
- --with-openssl \
- --with-password-argon2=${LOCALBASE}
+ --with-openssl
USES+= autoreconf:build bison ssl
USE_GNOME= libxml2
@@ -80,8 +78,8 @@ FPM_VARS= PHP_SAPI+=fpm \
USE_RC_SUBR+=php_fpm
IPV6_CONFIGURE_OFF= --disable-ipv6
LINKTHR_LIBS= -lpthread
-NOASLR_USES= elfctl
MYSQLND_CONFIGURE_ON= --enable-mysqlnd
+NOASLR_USES= elfctl
PCRE_BUILD_DEPENDS= re2c>0:devel/re2c
PCRE_CONFIGURE_ON= --with-external-pcre=${LOCALBASE}
PCRE_PLIST_SUB= BUNDLED_PCRE="@comment "
@@ -136,6 +134,13 @@ PLIST_SUB+= SAPI_INC=""
PLIST_SUB+= SAPI_INC="@comment "
. endif
+. if (${OSVERSION} >= 1500000 && ${SSL_DEFAULT} == base) || (${SSL_DEFAULT:Mopenssl*} && ${OPENSSL_SHLIBVER} >= 15)
+CONFIGURE_ARGS+= --with-openssl-argon2
+. else
+LIB_DEPENDS+= libargon2.so:security/libargon2
+CONFIGURE_ARGS+= --with-password-argon2=${LOCALBASE}
+. endif
+
CONFIGURE_ENV+= ac_cv_decimal_fp_supported="no" \
lt_cv_path_SED="sed" \
OPENSSL_CFLAGS="-I${OPENSSLINC}" \
diff --git a/lang/php85/distinfo b/lang/php85/distinfo
index 347a809c2401..dc316134078a 100644
--- a/lang/php85/distinfo
+++ b/lang/php85/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763724884
-SHA256 (php-8.5.0.tar.xz) = 39cb6e4acd679b574d3d3276f148213e935fc25f90403eb84fb1b836a806ef1e
-SIZE (php-8.5.0.tar.xz) = 14314552
+TIMESTAMP = 1765959962
+SHA256 (php-8.5.1.tar.xz) = 3f5bf99ce81201f526d25e288eddb2cfa111d068950d1e9a869530054ff98815
+SIZE (php-8.5.1.tar.xz) = 14326700
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 2843e9e1bc0c..d77d89e0d15a 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -147,7 +147,7 @@ post-patch:
post-patch-PORT_LLVM-on:
# WASM target hardcodes bundled lld
- @${REINPLACE_CMD} 's|"rust-lld"|"wasm-ld${_LLVM_VERSION}"|' \
+ @${REINPLACE_CMD} 's|"rust-lld"|"wasm-ld${LLVM_VERSION}"|' \
${WRKSRC}/compiler/rustc_target/src/spec/base/wasm.rs
do-configure:
@@ -224,11 +224,17 @@ do-configure:
@${ECHO_CMD} 'cxx="${WRKDIR}/cxx-wrapper"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml
.else
-# use the builtin clang
+# use the builtin clang when not using PORT_LLVM
.if ${_target} == "wasm32-unknown-unknown"
+.if ${PORT_OPTIONS:MPORT_LLVM}
+ @${ECHO_CMD} 'cc="${LOCALBASE}/bin/clang${LLVM_VERSION}"' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'cxx="${LOCALBASE}/bin/clang++${LLVM_VERSION}"' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'linker="${LOCALBASE}/bin/clang${LLVM_VERSION}"' >> ${WRKSRC}/config.toml
+.else
@${ECHO_CMD} 'cc="${WRKDIR}/_build/${_RUST_TARGET}/llvm/bin/clang"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'cxx="${WRKDIR}/_build/${_RUST_TARGET}/llvm/bin/clang++"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'linker="${WRKDIR}/_build/${_RUST_TARGET}/llvm/bin/clang"' >> ${WRKSRC}/config.toml
+.endif
.else
@${ECHO_CMD} 'cc="${CC}"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'cxx="${CXX}"' >> ${WRKSRC}/config.toml
diff --git a/math/ntl/Makefile b/math/ntl/Makefile
index 438f635e04ee..cb12ff8ac349 100644
--- a/math/ntl/Makefile
+++ b/math/ntl/Makefile
@@ -1,10 +1,9 @@
PORTNAME= ntl
-PORTVERSION= 11.5.1
-PORTREVISION= 1
+PORTVERSION= 11.6.0
CATEGORIES= math
MASTER_SITES= http://www.shoup.net/ntl/
-MAINTAINER= ndowens04@gmail.com
+MAINTAINER= wen@FreeBSD.org
COMMENT= Victor Shoup's Number Theory Library
WWW= https://www.shoup.net/
@@ -25,9 +24,6 @@ WRKSRC_SUBDIR= src
MAKEFILE= makefile
TEST_TARGET= check
-NTLDOCSDIR= share/doc/NTL
-PLIST_SUB= NTLDOCS=${NTLDOCSDIR}
-
OPTIONS_DEFINE= DOCS GF2X GMP NATIVE
OPTIONS_DEFAULT= GF2X GMP
@@ -44,6 +40,9 @@ NATIVE_DESC= Build with native optimizations (-march=native)
NATIVE_CONFIGURE_ON= NATIVE=on
NATIVE_CONFIGURE_OFF= NATIVE=off
+post-configure:
+ @${REINPLACE_CMD} -e '/DOCDIR/d' ${WRKSRC}/makefile # avoid install doc twice
+
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/../doc/* ${STAGEDIR}${DOCSDIR}
diff --git a/math/ntl/distinfo b/math/ntl/distinfo
index b6cedc9115fa..e667759c9d82 100644
--- a/math/ntl/distinfo
+++ b/math/ntl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1634922406
-SHA256 (ntl-11.5.1.tar.gz) = 210d06c31306cbc6eaf6814453c56c776d9d8e8df36d74eb306f6a523d1c6a8a
-SIZE (ntl-11.5.1.tar.gz) = 2304103
+TIMESTAMP = 1766194973
+SHA256 (ntl-11.6.0.tar.gz) = bc0ef9aceb075a6a0673ac8d8f47d5f8458c72fe806e4468fbd5d3daff056182
+SIZE (ntl-11.6.0.tar.gz) = 2599487
diff --git a/math/ntl/pkg-plist b/math/ntl/pkg-plist
index c20ad4583650..c8c0fd21fe7c 100644
--- a/math/ntl/pkg-plist
+++ b/math/ntl/pkg-plist
@@ -1,6 +1,6 @@
include/NTL/ALL_FEATURES.h
include/NTL/BasicThreadPool.h
-include/NTL/ConfigLog.h
+include/NTL/CONFIG_LOG.txt
include/NTL/FFT.h
include/NTL/FFT_impl.h
include/NTL/FacVec.h
@@ -37,6 +37,7 @@ include/NTL/PackageInfo.h
include/NTL/REPORT_ALL_FEATURES.h
include/NTL/RR.h
include/NTL/SmartPtr.h
+include/NTL/USER_MAKEFILE.txt
include/NTL/WordVector.h
include/NTL/ZZ.h
include/NTL/ZZVec.h
@@ -85,6 +86,9 @@ include/NTL/pair_lzz_pEX_long.h
include/NTL/pair_lzz_pX_long.h
include/NTL/pd_FFT.h
include/NTL/quad_float.h
+include/NTL/simde_avx.h
+include/NTL/simde_fma.h
+include/NTL/simde_pclmul.h
include/NTL/sp_arith.h
include/NTL/thread.h
include/NTL/tools.h
@@ -118,153 +122,9 @@ include/NTL/version.h
include/NTL/xdouble.h
lib/libntl.a
lib/libntl.so
-lib/libntl.so.44
-lib/libntl.so.44.0.1
-%%NTLDOCS%%/BasicThreadPool.cpp.html
-%%NTLDOCS%%/BasicThreadPool.txt
-%%NTLDOCS%%/GF2.cpp.html
-%%NTLDOCS%%/GF2.txt
-%%NTLDOCS%%/GF2E.cpp.html
-%%NTLDOCS%%/GF2E.txt
-%%NTLDOCS%%/GF2EX.cpp.html
-%%NTLDOCS%%/GF2EX.txt
-%%NTLDOCS%%/GF2EXFactoring.cpp.html
-%%NTLDOCS%%/GF2EXFactoring.txt
-%%NTLDOCS%%/GF2X.cpp.html
-%%NTLDOCS%%/GF2X.txt
-%%NTLDOCS%%/GF2XFactoring.cpp.html
-%%NTLDOCS%%/GF2XFactoring.txt
-%%NTLDOCS%%/GF2XVec.cpp.html
-%%NTLDOCS%%/GF2XVec.txt
-%%NTLDOCS%%/HNF.cpp.html
-%%NTLDOCS%%/HNF.txt
-%%NTLDOCS%%/LLL.cpp.html
-%%NTLDOCS%%/LLL.txt
-%%NTLDOCS%%/Lazy.cpp.html
-%%NTLDOCS%%/Lazy.txt
-%%NTLDOCS%%/LazyTable.cpp.html
-%%NTLDOCS%%/LazyTable.txt
-%%NTLDOCS%%/RR.cpp.html
-%%NTLDOCS%%/RR.txt
-%%NTLDOCS%%/SmartPtr.cpp.html
-%%NTLDOCS%%/SmartPtr.txt
-%%NTLDOCS%%/ZZ.cpp.html
-%%NTLDOCS%%/ZZ.txt
-%%NTLDOCS%%/ZZVec.cpp.html
-%%NTLDOCS%%/ZZVec.txt
-%%NTLDOCS%%/ZZX.cpp.html
-%%NTLDOCS%%/ZZX.txt
-%%NTLDOCS%%/ZZXFactoring.cpp.html
-%%NTLDOCS%%/ZZXFactoring.txt
-%%NTLDOCS%%/ZZ_limbs.cpp.html
-%%NTLDOCS%%/ZZ_limbs.txt
-%%NTLDOCS%%/ZZ_p.cpp.html
-%%NTLDOCS%%/ZZ_p.txt
-%%NTLDOCS%%/ZZ_pE.cpp.html
-%%NTLDOCS%%/ZZ_pE.txt
-%%NTLDOCS%%/ZZ_pEX.cpp.html
-%%NTLDOCS%%/ZZ_pEX.txt
-%%NTLDOCS%%/ZZ_pEXFactoring.cpp.html
-%%NTLDOCS%%/ZZ_pEXFactoring.txt
-%%NTLDOCS%%/ZZ_pX.cpp.html
-%%NTLDOCS%%/ZZ_pX.txt
-%%NTLDOCS%%/ZZ_pXFactoring.cpp.html
-%%NTLDOCS%%/ZZ_pXFactoring.txt
-%%NTLDOCS%%/arrow1.gif
-%%NTLDOCS%%/arrow2.gif
-%%NTLDOCS%%/arrow3.gif
-%%NTLDOCS%%/config.txt
-%%NTLDOCS%%/conversions.txt
-%%NTLDOCS%%/copying.txt
-%%NTLDOCS%%/flags.txt
-%%NTLDOCS%%/lzz_p.cpp.html
-%%NTLDOCS%%/lzz_p.txt
-%%NTLDOCS%%/lzz_pE.cpp.html
-%%NTLDOCS%%/lzz_pE.txt
-%%NTLDOCS%%/lzz_pEX.cpp.html
-%%NTLDOCS%%/lzz_pEX.txt
-%%NTLDOCS%%/lzz_pEXFactoring.cpp.html
-%%NTLDOCS%%/lzz_pEXFactoring.txt
-%%NTLDOCS%%/lzz_pX.cpp.html
-%%NTLDOCS%%/lzz_pX.txt
-%%NTLDOCS%%/lzz_pXFactoring.cpp.html
-%%NTLDOCS%%/lzz_pXFactoring.txt
-%%NTLDOCS%%/mat_GF2.cpp.html
-%%NTLDOCS%%/mat_GF2.txt
-%%NTLDOCS%%/mat_GF2E.cpp.html
-%%NTLDOCS%%/mat_GF2E.txt
-%%NTLDOCS%%/mat_RR.cpp.html
-%%NTLDOCS%%/mat_RR.txt
-%%NTLDOCS%%/mat_ZZ.cpp.html
-%%NTLDOCS%%/mat_ZZ.txt
-%%NTLDOCS%%/mat_ZZ_p.cpp.html
-%%NTLDOCS%%/mat_ZZ_p.txt
-%%NTLDOCS%%/mat_ZZ_pE.cpp.html
-%%NTLDOCS%%/mat_ZZ_pE.txt
-%%NTLDOCS%%/mat_lzz_p.cpp.html
-%%NTLDOCS%%/mat_lzz_p.txt
-%%NTLDOCS%%/mat_lzz_pE.cpp.html
-%%NTLDOCS%%/mat_lzz_pE.txt
-%%NTLDOCS%%/mat_poly_ZZ.cpp.html
-%%NTLDOCS%%/mat_poly_ZZ.txt
-%%NTLDOCS%%/mat_poly_ZZ_p.cpp.html
-%%NTLDOCS%%/mat_poly_ZZ_p.txt
-%%NTLDOCS%%/mat_poly_lzz_p.cpp.html
-%%NTLDOCS%%/mat_poly_lzz_p.txt
-%%NTLDOCS%%/matrix.cpp.html
-%%NTLDOCS%%/matrix.txt
-%%NTLDOCS%%/names.txt
-%%NTLDOCS%%/pair.cpp.html
-%%NTLDOCS%%/pair.txt
-%%NTLDOCS%%/quad_float.cpp.html
-%%NTLDOCS%%/quad_float.txt
-%%NTLDOCS%%/sedscript.txt
-%%NTLDOCS%%/tools.cpp.html
-%%NTLDOCS%%/tools.txt
-%%NTLDOCS%%/tour-ack.html
-%%NTLDOCS%%/tour-changes.html
-%%NTLDOCS%%/tour-ex1.html
-%%NTLDOCS%%/tour-ex2.html
-%%NTLDOCS%%/tour-ex3.html
-%%NTLDOCS%%/tour-ex4.html
-%%NTLDOCS%%/tour-ex5.html
-%%NTLDOCS%%/tour-ex6.html
-%%NTLDOCS%%/tour-ex7.html
-%%NTLDOCS%%/tour-examples.html
-%%NTLDOCS%%/tour-gf2x.html
-%%NTLDOCS%%/tour-gmp.html
-%%NTLDOCS%%/tour-impl.html
-%%NTLDOCS%%/tour-intro.html
-%%NTLDOCS%%/tour-modules.html
-%%NTLDOCS%%/tour-roadmap.html
-%%NTLDOCS%%/tour-struct.html
-%%NTLDOCS%%/tour-time.html
-%%NTLDOCS%%/tour-tips.html
-%%NTLDOCS%%/tour-unix.html
-%%NTLDOCS%%/tour-win.html
-%%NTLDOCS%%/tour.html
-%%NTLDOCS%%/vec_GF2.cpp.html
-%%NTLDOCS%%/vec_GF2.txt
-%%NTLDOCS%%/vec_GF2E.cpp.html
-%%NTLDOCS%%/vec_GF2E.txt
-%%NTLDOCS%%/vec_RR.cpp.html
-%%NTLDOCS%%/vec_RR.txt
-%%NTLDOCS%%/vec_ZZ.cpp.html
-%%NTLDOCS%%/vec_ZZ.txt
-%%NTLDOCS%%/vec_ZZ_p.cpp.html
-%%NTLDOCS%%/vec_ZZ_p.txt
-%%NTLDOCS%%/vec_ZZ_pE.cpp.html
-%%NTLDOCS%%/vec_ZZ_pE.txt
-%%NTLDOCS%%/vec_lzz_p.cpp.html
-%%NTLDOCS%%/vec_lzz_p.txt
-%%NTLDOCS%%/vec_lzz_pE.cpp.html
-%%NTLDOCS%%/vec_lzz_pE.txt
-%%NTLDOCS%%/vector.cpp.html
-%%NTLDOCS%%/vector.txt
-%%NTLDOCS%%/version.cpp.html
-%%NTLDOCS%%/version.txt
-%%NTLDOCS%%/xdouble.cpp.html
-%%NTLDOCS%%/xdouble.txt
+lib/libntl.so.45
+lib/libntl.so.45.0.0
+libdata/pkgconfig/ntl.pc
%%PORTDOCS%%%%DOCSDIR%%/BasicThreadPool.cpp.html
%%PORTDOCS%%%%DOCSDIR%%/BasicThreadPool.txt
%%PORTDOCS%%%%DOCSDIR%%/GF2.cpp.html
diff --git a/misc/qt5ct/Makefile b/misc/qt5ct/Makefile
index 48146e305384..a5e6fbfeacc9 100644
--- a/misc/qt5ct/Makefile
+++ b/misc/qt5ct/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qt5ct
-DISTVERSION= 1.8
+DISTVERSION= 1.9
CATEGORIES= misc
MASTER_SITES= SF/${PORTNAME}
@@ -9,22 +9,17 @@ WWW= https://sourceforge.net/projects/qt5ct/
LICENSE= BSD2CLAUSE
-LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2
-
-USES= cmake compiler:c++11-lang gettext-runtime gl gnome qt:5 \
- tar:bz2 xorg
-USE_QT= concurrent core dbus gui paths svg widgets \
- buildtools:build linguisttools:build qmake:build
-USE_GL= egl gl
-USE_XORG= x11 xext xrender
-USE_GNOME= glib20
+USES= cmake compiler:c++11-lang gl qt:5 tar:bz2 xorg
+USE_QT= concurrent core dbus gui paths widgets \
+ buildtools:build linguisttools:build qmake:build \
+ svg:run
+USE_GL= gl
USE_LDCONFIG= yes
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}/${DOCSDIR} && \
- ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}/${DOCSDIR}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/misc/qt5ct/distinfo b/misc/qt5ct/distinfo
index 77e24eacc32a..ec2557c36d73 100644
--- a/misc/qt5ct/distinfo
+++ b/misc/qt5ct/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1697071130
-SHA256 (qt5ct-1.8.tar.bz2) = 23b74054415ea4124328772ef9a6f95083a9b86569e128034a3ff75dfad808e9
-SIZE (qt5ct-1.8.tar.bz2) = 85945
+TIMESTAMP = 1766255501
+SHA256 (qt5ct-1.9.tar.bz2) = dc10e6939d423b925981ce67febb1a015b6f61c022a9cc7e6c8b5efea4588bff
+SIZE (qt5ct-1.9.tar.bz2) = 87416
diff --git a/misc/qt5ct/pkg-plist b/misc/qt5ct/pkg-plist
index 65564c802436..4872ba691e2d 100644
--- a/misc/qt5ct/pkg-plist
+++ b/misc/qt5ct/pkg-plist
@@ -1,6 +1,6 @@
bin/qt5ct
lib/libqt5ct-common.so
-lib/libqt5ct-common.so.1.8
+lib/libqt5ct-common.so.1.9
%%QT_PLUGINDIR%%/platformthemes/libqt5ct.so
%%QT_PLUGINDIR%%/styles/libqt5ct-style.so
share/applications/qt5ct.desktop
diff --git a/misc/qt6ct/Makefile b/misc/qt6ct/Makefile
index 4ee6c8b1fb14..ed9197db83c7 100644
--- a/misc/qt6ct/Makefile
+++ b/misc/qt6ct/Makefile
@@ -20,7 +20,7 @@ USE_QT= base svg:run tools:build
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}/${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}/${DOCSDIR}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp
new file mode 100644
index 000000000000..35699524d9bf
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp
@@ -0,0 +1,16 @@
+Fix build on i386.
+
+error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka
+'unsigned int') to 'qsizetype' (aka 'int') in initializer list
+
+--- src/multimedia/pipewire/qpipewire_propertydict.cpp.orig 2025-11-13 22:23:51 UTC
++++ src/multimedia/pipewire/qpipewire_propertydict.cpp
+@@ -31,7 +31,7 @@ PwPropertyDict toPropertyDict(const spa_dict &dict)
+
+ PwPropertyDict toPropertyDict(const spa_dict &dict)
+ {
+- QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++ QSpan<const spa_dict_item> items{ dict.items, static_cast<qsizetype>(dict.n_items) };
+
+ PwPropertyDict map;
+ for (const spa_dict_item &item : items)
diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp
new file mode 100644
index 000000000000..d2fddc373701
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp
@@ -0,0 +1,16 @@
+Fix build on i386.
+
+error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka
+'unsigned int') to 'qsizetype' (aka 'int') in initializer list
+
+--- src/multimedia/pipewire/qpipewire_support.cpp.orig 2025-11-13 22:23:51 UTC
++++ src/multimedia/pipewire/qpipewire_support.cpp
+@@ -16,7 +16,7 @@ QDebug operator<<(QDebug dbg, const spa_dict &dict)
+ // debug support
+ QDebug operator<<(QDebug dbg, const spa_dict &dict)
+ {
+- QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++ QSpan<const spa_dict_item> items{ dict.items, static_cast<qsizetype>(dict.n_items) };
+
+ QDebugStateSaver saver(dbg);
+ dbg.nospace();
diff --git a/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
index e8ba5dbeb30e..4ac8d13cf740 100644
--- a/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
+++ b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
@@ -1,6 +1,6 @@
---- src/plugins/multimedia/ffmpeg/CMakeLists.txt.orig 2025-08-15 19:16:13 UTC
+--- src/plugins/multimedia/ffmpeg/CMakeLists.txt.orig 2025-11-13 22:23:51 UTC
+++ src/plugins/multimedia/ffmpeg/CMakeLists.txt
-@@ -92,7 +92,7 @@ qt_internal_add_module(FFmpegMediaPluginImplPrivate
+@@ -94,7 +94,7 @@ qt_internal_add_module(FFmpegMediaPluginImplPrivate
../../../3rdparty/signalsmith-stretch
)
diff --git a/net-mgmt/netdata/Makefile b/net-mgmt/netdata/Makefile
index fb9051d99af2..3507db8482e2 100644
--- a/net-mgmt/netdata/Makefile
+++ b/net-mgmt/netdata/Makefile
@@ -1,7 +1,6 @@
PORTNAME= netdata
DISTVERSIONPREFIX= v
-DISTVERSION= 2.8.1
-PORTREVISION= 1
+DISTVERSION= 2.8.4
CATEGORIES= net-mgmt
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/v${DISTVERSION}/:netdata \
https://raw.githubusercontent.com/netdata/netdata/refs/tags/v${DISTVERSION}/src/go/:goplugin \
@@ -76,7 +75,7 @@ NETDATA_CACHE= /var/cache/${PORTNAME}
NETDATA_LOG= /var/log/${PORTNAME}
NETDATA_PERST= /var/db/${PORTNAME}
NETDATA_RUN= /var/run/${PORTNAME}
-NETDATA_DASHBOARD_VERSION= 20251122
+NETDATA_DASHBOARD_VERSION= 20251215
PLIST_SUB= NETDATA_CACHE=${NETDATA_CACHE} \
NETDATA_LOG=${NETDATA_LOG} \
diff --git a/net-mgmt/netdata/distinfo b/net-mgmt/netdata/distinfo
index 87b481c0f715..e7d1a6296e72 100644
--- a/net-mgmt/netdata/distinfo
+++ b/net-mgmt/netdata/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1763851420
-SHA256 (netdata/netdata-v2.8.1.tar.gz) = 373b61241d5cc80addeb0cc6c9f434abf363333081056a7d7ba6ea1f46ba6f06
-SIZE (netdata/netdata-v2.8.1.tar.gz) = 16478236
-SHA256 (netdata/agent_20251122.tar.gz) = e739127f33bb8065d6baef09f8f9cbd55a16b9e99be11afafd58da76ff8496ef
-SIZE (netdata/agent_20251122.tar.gz) = 13569484
+TIMESTAMP = 1766178982
+SHA256 (netdata/netdata-v2.8.4.tar.gz) = 9bc469ff57edb4464864a8b463e509b5676888b1e2d71c4179f4c65e5eab510a
+SIZE (netdata/netdata-v2.8.4.tar.gz) = 16490482
+SHA256 (netdata/agent_20251215.tar.gz) = 886bf704a7bca0169a4205c7092fcde604907a1a0bc5e8fa79953df2bf31c0b3
+SIZE (netdata/agent_20251215.tar.gz) = 16562632
SHA256 (netdata/go.mod) = ff9e904bc031b267f3a1ace6ef1970f052873e27ac257976af76075649b98677
SIZE (netdata/go.mod) = 8469
diff --git a/net-mgmt/netdata/pkg-plist b/net-mgmt/netdata/pkg-plist
index 6c811bbb687a..ef00135fb0c5 100644
--- a/net-mgmt/netdata/pkg-plist
+++ b/net-mgmt/netdata/pkg-plist
@@ -575,143 +575,141 @@ sbin/systemd-cat-native
%%DASHBOARD%%%%DATADIR%%/web/registry-hello.html
%%DASHBOARD%%%%DATADIR%%/web/static/splash.css
%%DASHBOARD%%%%DATADIR%%/web/v3/.well-known/assetlinks.json
-%%DASHBOARD%%%%DATADIR%%/web/v3/1220.0c035c26a6ba7680115b.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1368.19c1bff2c401faaa738c.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1608.63365f1b0cb024d69e67.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1658.bf72c4c052144d61a66b.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1688.79b083d3cd0d3c26cf16.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1736.04dc032fb0edf1016b2c.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/180.8c8d951273b3504af9f0.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1861.e9b1462ff49ae587c199.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1910.1d344b2c015534876f6f.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1975.ab65e7c5f1b2c6a6aa9b.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/1975.ab65e7c5f1b2c6a6aa9b.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/2003.8c22a882463ac7bc7efe.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2108.bedba8e4ed2986aa5d96.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2117.018285cf616da5e909c2.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2143.630d9e70533287c91922.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2177.46bc7dfa408eae510818.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2201.e0a00df722bee40783b8.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2248.9b795f4f0a3a41b76758.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2420.793639ada312f51d09e4.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2436.e3a7244e896337301c59.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2439.41110167280a0c0da0e2.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2558.b9b4dfc9743e40090a4e.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2573.7525c33fb3d0ca8a28d5.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2576.8fb2f6ce8cc77fd56801.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1024.8ba6262dd37f62e8cf9a.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1220.51251801b0cd6fc53c1f.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1354.bc7bc0f42992e31ca533.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1354.bc7bc0f42992e31ca533.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/1646.5afdb407f6806a76d167.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1658.85e41b6525bfe701d595.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1736.c39c6f027fa2b2648d00.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/180.bdc222b3b2a1f7bfae64.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1811.80b20efbb38ab36acf49.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1861.9081faae8dc2e5f42880.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1910.aa1bae327930728fc846.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1975.e0f4a689c9194da77b42.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/1975.e0f4a689c9194da77b42.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/2003.beb88a3a60b00dd02639.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2108.8c4693350e92a987785c.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2117.556697628ab0ce0f51b2.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2143.bf8feb264171ce59ee58.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2177.%%PYTHON_SUFFIX%%3a31caa24200c1f32.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2201.0958e54c6f9c5330add5.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2248.18b187ede523a9fa61e9.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2436.9066b1b9cbd2763a52ef.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2439.97cde678185b41d93ab1.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2558.ab26a5071d61d04d1870.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2573.cafdf3d7e2eb26eb4b44.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2576.b7e5d58293b9aee69bfd.chunk.js
%%DASHBOARD%%%%DATADIR%%/web/v3/2576.eaad527ad5b2c56e97a0.css
-%%DASHBOARD%%%%DATADIR%%/web/v3/2599.78d590551d5a0a98fed0.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2599.78d590551d5a0a98fed0.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/2603.77f7c19e6480c47bc740.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2634.ea00483b1dff8321e543.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/271.e7aefcc74837998c0484.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2904.57f6519b0c503b96c0ea.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/2948.c4e34cab49a3602d9c61.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3083.983abf4bb8b2f8707262.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3185.eebe271edd583b2b95d5.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3427.36b16bb36c3ec9ef50ea.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3427.36b16bb36c3ec9ef50ea.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/3439.a1a5bc8c115b8089c0c1.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3457.3e3406b02f5f4284cbf4.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/35.05706012502a97d1b8f3.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3545.03398fd9061f762de49c.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3600.c630e33afa7e97d9c9f3.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/363.0d6b9dadfe9fea76f0b1.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3677.c756a188963a5b5c48d5.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3718.348fd49027ac26055d9a.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3808.268f52b93602c8e9aa15.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3864.db78bcb2aa320d51fd17.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3961.41c7a0551e7cdb95ce77.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/3961.41c7a0551e7cdb95ce77.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/399.52016e3f953a256adf90.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2599.504d1ccc532aa9213fec.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2599.504d1ccc532aa9213fec.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/2634.d30b4687ae7b385f8ba2.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/271.165714adfc935d3be418.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2792.2b4ea1039d7e7d6c8180.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2904.9b8ac6360124c4c77ce2.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/2948.23047cd2275a924fc437.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3185.dc0ba5ac0091038101a2.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3427.cc06eeab77f45499ff70.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3427.cc06eeab77f45499ff70.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/3439.9303dcdb69716d3a966b.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3457.7777e85ec054f4a245a2.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/35.8f4bd3f1e500fc61464b.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3545.b2eb27e11bb78219281c.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3600.6064da836ec41985218e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/363.f47428fc3ded5d99b084.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3675.dd3f6e272344f18c0934.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3718.f9919366ed5eaa13f560.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3758.96bd550e1cfd788142c9.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3758.96bd550e1cfd788142c9.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/3758.d489f3f6dbbebd1b75d7.css
+%%DASHBOARD%%%%DATADIR%%/web/v3/3808.d3f8e2c0ad14b6e86331.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3864.a953c2231324b95467f5.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3961.859c0524a24d1b21e938.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/3961.859c0524a24d1b21e938.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/399.35123f9121b0d02555c7.chunk.js
%%DASHBOARD%%%%DATADIR%%/web/v3/3D_PARTY_LICENSES.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/4142.b43408302308e4cc9161.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4211.145a6b08de2209389029.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4265.769fca7317076254e3b0.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4277.6386bd6ed205d389d99e.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4301.426cf2dcfd3d782ec140.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4424.e63815e61709c2309923.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4480.bcdf770bac321a6bb68f.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4484.9ee2bb133287af98b097.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4582.3c40ac0d6c412f3e8c24.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4606.5bb2601edf74d552957f.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4606.5bb2601edf74d552957f.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/4651.1192ce6ff893d5e9dd5f.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/4837.b2be2afd45fdb2d9de63.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5030.33fdeacac57b4b7fcf99.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5178.90192ec0ab5a89cc3e76.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5187.f821f5efbf95905bdf79.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5295.1a8ae445c7f52e5c0e6e.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5297.e875be9b1960e69d4454.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5302.5f6b4df89e1c7bc5f906.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5476.599c67ed3f70b017a1a9.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5566.2496928f0951dbc77290.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/5883.76e297c0fa82ef3745ba.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6003.257010f19e5b84883157.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6025.d914dd2442a2d5be864e.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6141.a9cdac98dd190ca7a168.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6238.4602c7dba1dd728461e2.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6238.4602c7dba1dd728461e2.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/6333.22588757a1136170b3e9.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6394.47a2932093529561ed6f.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6403.e1dd935a1737ded72546.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6497.f9e9840bff52f64203c5.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6554.a9a8464c7f8e3b5da30f.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6554.a9a8464c7f8e3b5da30f.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/6601.7bbab22fa640bfa9a7ba.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/6839.5f19a0d4f1947422cd25.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7044.3879ee39be07550307bb.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7214.cc010f777c6d04ab408a.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7281.457cc958a9b72ce8eafd.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7493.79e49ac98a2fe652d26c.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7530.dfd93c86935a155f2c94.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7543.50384535fb0ffd4f8299.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7799.2558d538a4e71e72cbcc.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7877.82954f935d21fe1df769.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/7931.34606f555192d6613828.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8103.da64458cdbc5f9a1f133.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8399.45009c8ea7952f413fc3.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8496.857f0f2a9d4c4e8c92aa.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8496.857f0f2a9d4c4e8c92aa.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/8643.2a4a46892be5e91704e2.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8761.ca5b76fe5755145eacae.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8791.131d81e398d9028b7967.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8800.54ae1fb08eb2876929df.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/884.1741c2d28bea048333e2.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8904.1840f5188112e612af65.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/8904.1840f5188112e612af65.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/8904.d489f3f6dbbebd1b75d7.css
-%%DASHBOARD%%%%DATADIR%%/web/v3/9244.fc1bb71a3842b2f32943.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/9341.dca06fd8d7902c399ab7.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/9418.0d41b54c58c14ff035d3.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/9418.0d41b54c58c14ff035d3.chunk.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/953.5dc8bd6e343ba97c013e.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/9822.f928222a1d8030a1210a.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/9856.82d776cf34c83bd5b315.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/9883.06d3d57e8db8f2f64b61.chunk.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/9961.131d7beae1fbe7d0a46e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4142.89c7894aaef%%PYTHON_SUFFIX%%04d21c.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4211.0de89edfff61d6f67625.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4265.4b3c6e16e1b61d4b30a0.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4277.76010c5a5ab91891d22a.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4424.4f2b8e8a37593d27ac77.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4484.0c50b81ceeb7d6620399.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4582.4c61e121fe18ff7da893.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4597.3a6bf6439382159532e4.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4606.17ff79a39dcf38122c64.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/4606.17ff79a39dcf38122c64.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/4837.458b3350e1a8869dccea.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5030.f710a1e4eab2d725606e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5178.f115a6ba7d2bd295942e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5187.bc357224483ef02a9b9e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5295.8fdc00557546d320a276.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5297.2b55bccfb60e5b0d6d74.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5302.feb847646336c1dfc43d.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5476.81448df6d017b24d341a.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5566.a666dcbf6e522467efe6.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5730.b742fe81959ca813a3f5.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/5883.ef3039e16d940caa6fea.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6025.5c1f37b1aba6f49d699f.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6141.314f73551a4b9c94cecb.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6200.dcdc7d4ffaede346e4d7.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6238.0403cecd3f0628d20c06.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6238.0403cecd3f0628d20c06.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/6333.a101d1493b37be23f674.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6360.79660620643ed303d1e0.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6394.e8fb822ab5835ab585f9.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6497.80063f29557acefd6fa5.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6601.cda841f3a3a2dab17646.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/6839.3750da437f0d6a48c783.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7044.d91f1a4f9650b9d9f881.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7214.1d392316a64857afb4bc.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7281.561eb8385a46390fdd99.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7396.484864c9c81ca35c4f78.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7493.8eb8c945adc6b77b2b0d.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7530.beda5fe1f27c6c86f2cf.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7543.2902570ac241b9ed7d46.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7791.8e3cc51d6bc9710e9e31.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7799.49df8cf7f9822c7b37be.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7877.529c863bfc02a54a72f5.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/7931.95a5c4fb7e5f4ac044f4.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/8399.ca4d60385732ff44cb1f.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/8643.ad77e50d1e7c40cff661.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/8662.9ae6261aa8b2e43b931e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/8662.9ae6261aa8b2e43b931e.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/8761.1f550cc37e518fa7734f.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/8791.6626b0bf6f30c6b6d555.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/8800.2712dd2e17fde694d18a.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/884.08ed68ee34e806510c99.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9033.b5262417aee0c046e90e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9244.50923145a25e2b9e65d3.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9341.ecac924df35c7e62899e.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9418.310f5ab0924813e1e564.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9418.310f5ab0924813e1e564.chunk.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/953.b27666defc539e55d003.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9856.955dc2e23755c1356613.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9883.6364d1e83fa4aa270934.chunk.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/9961.42fb6e67e280ab7216c9.chunk.js
%%DASHBOARD%%%%DATADIR%%/web/v3/LICENSE.md
%%DASHBOARD%%%%DATADIR%%/web/v3/LICENSE.txt
%%DASHBOARD%%%%DATADIR%%/web/v3/agent.html
-%%DASHBOARD%%%%DATADIR%%/web/v3/allFiles.7.75.1.json
+%%DASHBOARD%%%%DATADIR%%/web/v3/allFiles.7.80.1.json
%%DASHBOARD%%%%DATADIR%%/web/v3/allFiles.7.json
-%%DASHBOARD%%%%DATADIR%%/web/v3/app.37ca67c54659741a06f5.js
%%DASHBOARD%%%%DATADIR%%/web/v3/app.4da0883c6ce016bf3d81.css
+%%DASHBOARD%%%%DATADIR%%/web/v3/app.6ace95733536b29bf257.js
%%DASHBOARD%%%%DATADIR%%/web/v3/apple-app-site-association
%%DASHBOARD%%%%DATADIR%%/web/v3/bundlesManifest.7.json
%%DASHBOARD%%%%DATADIR%%/web/v3/favicon.ico
%%DASHBOARD%%%%DATADIR%%/web/v3/index.html
%%DASHBOARD%%%%DATADIR%%/web/v3/local-agent.html
-%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.charts.d3d2859278a768d7e6c0.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.charts.d3d2859278a768d7e6c0.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.ui.0e9d1b8c948c5858baa6.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.ui.0e9d1b8c948c5858baa6.js.LICENSE.txt
-%%DASHBOARD%%%%DATADIR%%/web/v3/npm.react.dom.2ce993ff9a3b4f64332d.js
-%%DASHBOARD%%%%DATADIR%%/web/v3/npm.react.dom.2ce993ff9a3b4f64332d.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.charts.b03846acf186c1127dcb.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.charts.b03846acf186c1127dcb.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.ui.cdfd7e6acc08f5a0aa6e.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/netdata.ui.cdfd7e6acc08f5a0aa6e.js.LICENSE.txt
+%%DASHBOARD%%%%DATADIR%%/web/v3/npm.react.dom.c991357a6928aa2fea58.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/npm.react.dom.c991357a6928aa2fea58.js.LICENSE.txt
%%DASHBOARD%%%%DATADIR%%/web/v3/registry-access.html
%%DASHBOARD%%%%DATADIR%%/web/v3/registry-alert-redirect.html
%%DASHBOARD%%%%DATADIR%%/web/v3/registry-hello.html
-%%DASHBOARD%%%%DATADIR%%/web/v3/runtime.cb02d0bbda86530b8e5f.js
+%%DASHBOARD%%%%DATADIR%%/web/v3/runtime.34769543b53eaf7ee9d5.js
%%DASHBOARD%%%%DATADIR%%/web/v3/static/.well-known/assetlinks.json
%%DASHBOARD%%%%DATADIR%%/web/v3/static/apple-app-site-association
%%DASHBOARD%%%%DATADIR%%/web/v3/static/email/img/clea_badge.png
diff --git a/net/Makefile b/net/Makefile
index a2cfda5f56a8..b3e4f607ca3f 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1658,6 +1658,7 @@
SUBDIR += usbredir
SUBDIR += usockets
SUBDIR += utftpd
+ SUBDIR += uvgrtp
SUBDIR += v2ray
SUBDIR += vde
SUBDIR += vde2
diff --git a/net/nbdkit/Makefile b/net/nbdkit/Makefile
index d6fe1b73312f..a69762e098e9 100644
--- a/net/nbdkit/Makefile
+++ b/net/nbdkit/Makefile
@@ -1,5 +1,5 @@
PORTNAME= nbdkit
-PORTVERSION= 1.44.4
+PORTVERSION= 1.46.0
CATEGORIES= net
# XXX Although nbdkit uses github for its homepage, the release tarballs served
# by github haven't been through autoconf. So we must download the sources
@@ -68,6 +68,8 @@ RUBY_CONFIGURE_ENABLE= ruby
SSH_LIB_DEPENDS= libssh.so:security/libssh
SSH_CONFIGURE_WITH= ssh
ZLIB_CONFIGURE_WITH= zlib
+# Fix "WARNING: zlib-ng not found, zlib operations will run slower"
+ZLIB_LIB_DEPENDS= libz-ng.so:archivers/zlib-ng
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
ZSTD_CONFIGURE_WITH= libzstd
diff --git a/net/nbdkit/distinfo b/net/nbdkit/distinfo
index bfeb3cec6b8c..b3e37afe7a71 100644
--- a/net/nbdkit/distinfo
+++ b/net/nbdkit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761865788
-SHA256 (nbdkit-1.44.4.tar.gz) = 281d83daf954e04c739a5f29d10e5440de69e9009654a2935aee7cbf3aebca91
-SIZE (nbdkit-1.44.4.tar.gz) = 2659658
+TIMESTAMP = 1766254321
+SHA256 (nbdkit-1.46.0.tar.gz) = 149aebf9a754786adc619a286e16803e7043fb742f6ee8709b8e26dd7949d0ce
+SIZE (nbdkit-1.46.0.tar.gz) = 2739966
diff --git a/net/nbdkit/pkg-plist b/net/nbdkit/pkg-plist
index 0a4abbe09224..3b7d0d063b04 100644
--- a/net/nbdkit/pkg-plist
+++ b/net/nbdkit/pkg-plist
@@ -3,9 +3,10 @@ include/nbdkit-common.h
include/nbdkit-filter.h
include/nbdkit-plugin.h
include/nbdkit-version.h
+lib/nbdkit/filters/nbdkit-count-filter.so
+lib/nbdkit/filters/nbdkit-map-filter.so
lib/nbdkit/filters/nbdkit-blocksize-filter.so
lib/nbdkit/filters/nbdkit-cache-filter.so
-lib/nbdkit/filters/nbdkit-cacheextents-filter.so
lib/nbdkit/filters/nbdkit-cow-filter.so
lib/nbdkit/filters/nbdkit-delay-filter.so
lib/nbdkit/filters/nbdkit-error-filter.so
@@ -38,7 +39,6 @@ lib/nbdkit/plugins/nbdkit-example3-plugin.so
lib/nbdkit/plugins/nbdkit-file-plugin.so
lib/nbdkit/plugins/nbdkit-floppy-plugin.so
lib/nbdkit/plugins/nbdkit-full-plugin.so
-%%ZLIB%%lib/nbdkit/plugins/nbdkit-gzip-plugin.so
lib/nbdkit/plugins/nbdkit-info-plugin.so
%%LIBVIRT%%lib/nbdkit/plugins/nbdkit-libvirt-plugin.so
lib/nbdkit/plugins/nbdkit-memory-plugin.so
@@ -80,12 +80,13 @@ lib/nbdkit/plugins/nbdkit-cdi-plugin.so
lib/nbdkit/plugins/nbdkit-ondemand-plugin.so
lib/nbdkit/plugins/nbdkit-ones-plugin.so
lib/nbdkit/plugins/nbdkit-sparse-random-plugin.so
+%%ZLIB%%lib/nbdkit/filters/nbdkit-gzip-filter.so
+%%ZLIB%%lib/nbdkit/filters/nbdkit-indexed-gzip-filter.so
libdata/pkgconfig/nbdkit.pc
sbin/nbdkit
share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man1/nbdkit-blocksize-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-cache-filter.1.gz
-%%MANPAGES%%share/man/man1/nbdkit-cacheextents-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-captive.1.gz
%%MANPAGES%%share/man/man1/nbdkit-cow-filter.1.gz
%%MANPAGES%%%%CURL%%share/man/man1/nbdkit-curl-plugin.1.gz
@@ -103,7 +104,8 @@ share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man1/nbdkit-floppy-plugin.1.gz
%%MANPAGES%%share/man/man1/nbdkit-fua-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-full-plugin.1.gz
-%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-gzip-plugin.1.gz
+%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-gzip-filter.1.gz
+%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-indexed-gzip-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-info-plugin.1.gz
%%MANPAGES%%share/man/man1/nbdkit-ip-filter.1.gz
%%MANPAGES%%%%LIBVIRT%%share/man/man1/nbdkit-libvirt-plugin.1.gz
@@ -232,3 +234,7 @@ share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man3/nbdkit_vdebug.3.gz
%%MANPAGES%%share/man/man3/nbdkit_verror.3.gz
%%MANPAGES%%share/man/man3/nbdkit_vprintf_intern.3.gz
+%%MANPAGES%%share/man/man1/nbdkit-count-filter.1.gz
+%%MANPAGES%%share/man/man1/nbdkit-map-filter.1.gz
+%%MANPAGES%%share/man/man1/nbdkit-release-notes-1.46.1.gz
+%%MANPAGES%%share/man/man3/nbdkit_debug_hexdump.3.gz
diff --git a/net/uvgrtp/Makefile b/net/uvgrtp/Makefile
new file mode 100644
index 000000000000..aac8115be785
--- /dev/null
+++ b/net/uvgrtp/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= ${GH_PROJECT:tl}
+PORTVERSION= 3.1.6
+DISTVERSIONPREFIX= v
+CATEGORIES= net
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Open-source C++ library for RTP/SRTP media delivery
+WWW= https://ultravideo.fi/uvgrtp.html
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= cmake compiler:c++17-lang pkgconfig
+CMAKE_ARGS= -DPKG_CONFIG_PATH:STRING=libdata/pkgconfig
+CMAKE_ON= UVGRTP_DISABLE_EXAMPLES UVGRTP_DISABLE_TESTS \
+ UVGRTP_RELEASE_COMMIT
+LDFLAGS_i386= -Wl,-znotext
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= ultravideo
+GH_PROJECT= uvgRTP
+
+.include <bsd.port.mk>
diff --git a/net/uvgrtp/distinfo b/net/uvgrtp/distinfo
new file mode 100644
index 000000000000..e37c19ebf5fc
--- /dev/null
+++ b/net/uvgrtp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1742464765
+SHA256 (ultravideo-uvgRTP-v3.1.6_GH0.tar.gz) = 3a8b175ae280a26eb6249db879da99e80d39df2443062cce9e3047fc05db5ca2
+SIZE (ultravideo-uvgRTP-v3.1.6_GH0.tar.gz) = 458710
diff --git a/net/uvgrtp/files/patch-CMakeLists.txt b/net/uvgrtp/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..8de1f8941968
--- /dev/null
+++ b/net/uvgrtp/files/patch-CMakeLists.txt
@@ -0,0 +1,20 @@
+--- CMakeLists.txt.orig 2025-03-20 09:59:25 UTC
++++ CMakeLists.txt
+@@ -49,7 +49,7 @@ include(cmake/FindDependencies.cmake)
+ include(cmake/Versioning.cmake)
+
+
+-add_library(${PROJECT_NAME})
++add_library(${PROJECT_NAME} SHARED)
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+ SOVERSION "${PROJECT_VERSION_MAJOR}"
+ VERSION "${LIBRARY_VERSION}"
+@@ -239,7 +239,7 @@ if (UNIX)
+ list(APPEND UVGRTP_LINKER_FLAGS "-lpthread")
+ endif()
+ # Check PKG_CONFIG_PATH, if not defined, use lib/pkgconfig
+- if(NOT DEFINED ENV{PKG_CONFIG_PATH})
++ if(NOT DEFINED PKG_CONFIG_PATH)
+ set(PKG_CONFIG_PATH "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+ message("PKG_CONFIG_PATH is not set. Setting it to ${PKG_CONFIG_PATH}")
+ endif(NOT DEFINED ENV{PKG_CONFIG_PATH})
diff --git a/net/uvgrtp/files/patch-src_reception__flow.hh b/net/uvgrtp/files/patch-src_reception__flow.hh
new file mode 100644
index 000000000000..c10f3a4dc898
--- /dev/null
+++ b/net/uvgrtp/files/patch-src_reception__flow.hh
@@ -0,0 +1,10 @@
+--- src/reception_flow.hh.orig 2025-03-20 09:59:25 UTC
++++ src/reception_flow.hh
+@@ -16,6 +16,7 @@
+ #ifdef _WIN32
+ #include <ws2ipdef.h>
+ #else
++#include <arpa/inet.h>
+ #include <netinet/ip.h>
+ #include <sys/socket.h>
+ #endif
diff --git a/net/uvgrtp/files/patch-src_socket.hh b/net/uvgrtp/files/patch-src_socket.hh
new file mode 100644
index 000000000000..15f8603f5390
--- /dev/null
+++ b/net/uvgrtp/files/patch-src_socket.hh
@@ -0,0 +1,12 @@
+--- src/socket.hh.orig 2025-03-20 09:59:25 UTC
++++ src/socket.hh
+@@ -10,8 +10,8 @@
+ #include <ws2ipdef.h>
+ #include <WS2tcpip.h>
+ #else
+-#include <netinet/ip.h>
+ #include <arpa/inet.h>
++#include <netinet/ip.h>
+ #include <sys/uio.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
diff --git a/net/uvgrtp/files/patch-src_srtp_base.hh b/net/uvgrtp/files/patch-src_srtp_base.hh
new file mode 100644
index 000000000000..dab7f0449533
--- /dev/null
+++ b/net/uvgrtp/files/patch-src_srtp_base.hh
@@ -0,0 +1,12 @@
+--- src/srtp/base.hh.orig 2025-03-20 09:59:25 UTC
++++ src/srtp/base.hh
+@@ -7,8 +7,8 @@
+ #include <mswsock.h>
+ #include <inaddr.h>
+ #else
+-#include <netinet/ip.h>
+ #include <arpa/inet.h>
++#include <netinet/ip.h>
+ #endif
+
+ #include <cstdint>
diff --git a/net/uvgrtp/pkg-descr b/net/uvgrtp/pkg-descr
new file mode 100644
index 000000000000..42e6fc3a8011
--- /dev/null
+++ b/net/uvgrtp/pkg-descr
@@ -0,0 +1,10 @@
+uvgRTP is an Real-Time Transport Protocol (RTP) library written in C++
+with a focus on simple to use and high-efficiency media delivery over the
+Internet. It features an intuitive and easy-to-use API, built-in support
+for transporting Versatile Video Coding (VVC), High Efficiency Video
+Coding (HEVC), Advanced Video Coding (AVC) encoded video and Opus encoded
+audio. Furthermore, uvgRTP can be used to transport Visual Volumetric
+Video-based Coding (V3C) encoded volumetric video. uvgRTP also supports
+End-to-End Encrypted (E2EE) media delivery using the combination of
+Secure RTP (SRTP) and ZRTP. uvgRTP has been designed to minimize memory
+operations to reduce its CPU usage and latency.
diff --git a/net/uvgrtp/pkg-plist b/net/uvgrtp/pkg-plist
new file mode 100644
index 000000000000..dad4affbf956
--- /dev/null
+++ b/net/uvgrtp/pkg-plist
@@ -0,0 +1,19 @@
+include/uvgrtp/clock.hh
+include/uvgrtp/context.hh
+include/uvgrtp/frame.hh
+include/uvgrtp/lib.hh
+include/uvgrtp/media_stream.hh
+include/uvgrtp/rtcp.hh
+include/uvgrtp/session.hh
+include/uvgrtp/util.hh
+include/uvgrtp/version.hh
+include/uvgrtp/wrapper_c.hh
+lib/cmake/uvgrtp/uvgrtpConfig.cmake
+lib/cmake/uvgrtp/uvgrtpConfigVersion.cmake
+lib/cmake/uvgrtp/uvgrtpMacros.cmake
+lib/cmake/uvgrtp/uvgrtpTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/uvgrtp/uvgrtpTargets.cmake
+lib/libuvgrtp.so
+lib/libuvgrtp.so.3
+lib/libuvgrtp.so.3.1.6
+libdata/pkgconfig/uvgrtp.pc
diff --git a/print/rubygem-color_diff/Makefile b/print/rubygem-color_diff/Makefile
index b2f77f4837d0..c6884be9c592 100644
--- a/print/rubygem-color_diff/Makefile
+++ b/print/rubygem-color_diff/Makefile
@@ -1,9 +1,9 @@
PORTNAME= color_diff
-PORTVERSION= 0.1
+DISTVERSION= 0.2
CATEGORIES= print rubygems
MASTER_SITES= RG
-MAINTAINER= bofh@FreeBSD.org
+MAINTAINER= ruby@FreeBSD.org
COMMENT= Calculate RGB color distances using CIEDE2000 formula
WWW= https://github.com/hansondr/color_diff
diff --git a/print/rubygem-color_diff/distinfo b/print/rubygem-color_diff/distinfo
index 70f7b0fd895e..0781d481b083 100644
--- a/print/rubygem-color_diff/distinfo
+++ b/print/rubygem-color_diff/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1668837642
-SHA256 (rubygem/color_diff-0.1.gem) = 99dc39f4453e42aa3bbc6d738f82194870b974993135cee61deb2eff29deb705
-SIZE (rubygem/color_diff-0.1.gem) = 7680
+TIMESTAMP = 1766220594
+SHA256 (rubygem/color_diff-0.2.gem) = ce5f1e287b4682e0e9cdc1bba06fad9495edcffeb6423f3036f5f493efde9024
+SIZE (rubygem/color_diff-0.2.gem) = 7680
diff --git a/science/afni/Makefile b/science/afni/Makefile
index 769ec31d6078..34ba89750d14 100644
--- a/science/afni/Makefile
+++ b/science/afni/Makefile
@@ -1,6 +1,6 @@
PORTNAME= afni
DISTVERSIONPREFIX= AFNI_
-DISTVERSION= 25.3.03
+DISTVERSION= 25.3.04
CATEGORIES= science biology graphics perl5 python
MAINTAINER= fernape@FreeBSD.org
diff --git a/science/afni/distinfo b/science/afni/distinfo
index 180cfc9188c5..c7f2994532ab 100644
--- a/science/afni/distinfo
+++ b/science/afni/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765278441
-SHA256 (afni-afni-AFNI_25.3.03_GH0.tar.gz) = ee896e0168661fd7d708fa1dd454ab7334ae96bbba7c0ec93e63a5a21c69540d
-SIZE (afni-afni-AFNI_25.3.03_GH0.tar.gz) = 53428208
+TIMESTAMP = 1766142229
+SHA256 (afni-afni-AFNI_25.3.04_GH0.tar.gz) = 0079691f2044d0986c2a1bfd10cc3002dafd20b6f97a51983f470c376015eb7c
+SIZE (afni-afni-AFNI_25.3.04_GH0.tar.gz) = 53431518
diff --git a/security/easy-rsa/Makefile b/security/easy-rsa/Makefile
index 4a7e4df1f41f..b10997333c64 100644
--- a/security/easy-rsa/Makefile
+++ b/security/easy-rsa/Makefile
@@ -1,6 +1,6 @@
PORTNAME= easy-rsa
DISTVERSION= 3.2.5
-PORTREVISION= 0 # leave in if 0 to avoid accidental PORTEPOCH bumps
+PORTREVISION= 1 # leave in if 0 to avoid accidental PORTEPOCH bumps
PORTEPOCH= 1
CATEGORIES= security net-mgmt
MASTER_SITES= https://github.com/OpenVPN/easy-rsa/releases/download/v${DISTVERSION}/ \
diff --git a/security/easy-rsa/files/pkg-message.in b/security/easy-rsa/files/pkg-message.in
index aa6fcbb7be4b..7094bcc18cdb 100644
--- a/security/easy-rsa/files/pkg-message.in
+++ b/security/easy-rsa/files/pkg-message.in
@@ -12,8 +12,7 @@ See %%PREFIX%%/share/doc/easy-rsa/README.quickstart.md for further information.
An on-line help is available, you can run:
- easyrsa help # for help on commands
- easyrsa help options # for help on options
+ easyrsa help # for help on commands and options
**** SECURITY WARNING FOR PAST security/easy-rsa versions ****
**** easyrsa may have encrypted your CA private key with a weak cipher
diff --git a/security/sqlmap/Makefile b/security/sqlmap/Makefile
index b22c8675730e..5ce8ab82c277 100644
--- a/security/sqlmap/Makefile
+++ b/security/sqlmap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sqlmap
-PORTVERSION= 1.8
+PORTVERSION= 1.9.12
CATEGORIES= security python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -18,7 +18,10 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
USES= python shebangfix
USE_PYTHON= autoplist pep517
-SHEBANG_FILES= *.py sqlmap/extra/shutils/*.sh sqlmap/extra/shutils/*.py
+SHEBANG_FILES= *.py sqlmap/extra/shutils/*.sh sqlmap/extra/shutils/*.py \
+ sqlmap/plugins/dbms/clickhouse/*.py \
+ sqlmap/thirdparty/identywaf/identYwaf.py
+
NO_ARCH= yes
OPTIONS_DEFINE= MSF
diff --git a/security/sqlmap/distinfo b/security/sqlmap/distinfo
index 396332c41449..ea6d5a319c34 100644
--- a/security/sqlmap/distinfo
+++ b/security/sqlmap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1716077230
-SHA256 (sqlmap-1.8.tar.gz) = 8dbb204ee36e57c123ff50f042345174dfd262f3ed0a044ed8d7251379472ba1
-SIZE (sqlmap-1.8.tar.gz) = 7208171
+TIMESTAMP = 1766217194
+SHA256 (sqlmap-1.9.12.tar.gz) = 0b3f37ccb8c6aaf0e3c15166322e001c1f0961bc601e44272875d5c32c44a757
+SIZE (sqlmap-1.9.12.tar.gz) = 7216017
diff --git a/security/vuxml/vuln/2025.xml b/security/vuxml/vuln/2025.xml
index 8daf847a93d7..3e5428cd52a1 100644
--- a/security/vuxml/vuln/2025.xml
+++ b/security/vuxml/vuln/2025.xml
@@ -1,3 +1,97 @@
+ <vuln vid="c32cb4b7-ddcb-11f0-902c-b42e991fc52e">
+ <topic>smb4k -- Critical vulnerabilities in Mount Helper</topic>
+ <affects>
+<package>
+<name>smb4k</name>
+<range><lt>4.0.4</lt></range>
+</package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>vulndb reports:</p>
+ <blockquote cite="https://vuldb.com/?id.336198">
+ <p>A vulnerability, which was classified as critical, was
+ found in smb4k up to 4.0.4. Affected is some unknown
+ functionality of the component Mount Helper. The
+ manipulation with an unknown input leads to a access control
+ vulnerability. CWE is classifying the issue as CWE-284. The
+ product does not restrict or incorrectly restricts access to
+ a resource from an unauthorized actor. This is going to have
+ an impact on integrity, and availability. The advisory is
+ available at seclists.org. The exploitability is told to be
+ easy. Local access is required to approach this attack. The
+ technical details are unknown and an exploit is not
+ available.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-66002</cvename>
+ <url>https://vuldb.com/?id.336198</url>
+ <cvename>CVE-2025-66003</cvename>
+ <url>https://vuldb.com/?id.336199</url>
+ </references>
+ <dates>
+ <discovery>2025-12-20</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="2a33d28e-ddc0-11f0-902c-b42e991fc52e">
+ <topic>Firefox -- Use-after-free</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><lt>146.0.1,2</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>https://bugzilla.mozilla.org/show_bug.cgi?id=2000597 reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/show_bug.cgi?id=2000597">
+ <p>Use-after-free in the Disability Access APIs component.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-14860</cvename>
+ <url>https://cveawg.mitre.org/api/cve/CVE-2025-14860</url>
+ </references>
+ <dates>
+ <discovery>2025-12-18</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="23437e07-ddc0-11f0-902c-b42e991fc52e">
+ <topic>Firefox -- Memory safety bugs</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><lt>146.0.1,2</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>https://bugzilla.mozilla.org/buglist.cgi?bug_id=1996570%2C1999700 reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/buglist.cgi?bug_id=1996570%2C1999700">
+ <p>Memory safety bugs present in Firefox 146. Some of these
+ bugs showed evidence of memory corruption and we presume
+ that with enough effort some of these could have been
+ exploited to run arbitrary code.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-14861</cvename>
+ <url>https://cveawg.mitre.org/api/cve/CVE-2025-14861</url>
+ </references>
+ <dates>
+ <discovery>2025-12-18</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
<vuln vid="f99e70c2-dcb8-11f0-a15a-a8a1599412c6">
<topic>chromium -- multiple security fixes</topic>
<affects>
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 2ce5f3d8dc01..7b71b1c7ea29 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1101,6 +1101,7 @@
SUBDIR += py-queuelib
SUBDIR += py-ranger
SUBDIR += py-rdiff-backup
+ SUBDIR += py-rendercv
SUBDIR += py-resolve-march-native
SUBDIR += py-salt
SUBDIR += py-salt-tower
diff --git a/sysutils/consul/Makefile b/sysutils/consul/Makefile
index d83c39158ed1..4134ca82c27c 100644
--- a/sysutils/consul/Makefile
+++ b/sysutils/consul/Makefile
@@ -1,7 +1,6 @@
PORTNAME= consul
DISTVERSIONPREFIX= v
-DISTVERSION= 1.22.1
-PORTREVISION= 1
+DISTVERSION= 1.22.2
CATEGORIES= sysutils
MASTER_SITES= https://raw.githubusercontent.com/hashicorp/consul/${DISTVERSIONFULL}/
DISTFILES= go.mod \
@@ -44,7 +43,7 @@ CONSUL_USER?= consul
CONSUL_GROUP?= consul
CONSUL_DBDIR?= /var/db/${PORTNAME}
-GITID= 3831feb
+GITID= 71f21bf
# Bring DISTINFO_FILE into scope so we can get the timestamp.
.include <bsd.port.pre.mk>
diff --git a/sysutils/consul/distinfo b/sysutils/consul/distinfo
index a8d81b856758..6795f6cea0da 100644
--- a/sysutils/consul/distinfo
+++ b/sysutils/consul/distinfo
@@ -1,15 +1,15 @@
-TIMESTAMP = 1764317920
-SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/go.mod) = 1231f01a41aa03813ba3daf8fea306c36df5a2b265fe9d89595fcf0b66ac657e
-SIZE (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/go.mod) = 15516
-SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/api/go.mod) = 7f88971c6f3605924f215b20b52cb87dbc11f85b5a4468f23cca5a9bc3e5a673
-SIZE (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/api/go.mod) = 1910
-SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/envoyextensions/go.mod) = 300f8d29f91a03b0e64698b5e3a5121f62bbb9c5f05fe3f74daf90b9956bfbd6
-SIZE (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/envoyextensions/go.mod) = 2128
-SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/proto-public/go.mod) = 5c6add582bbee29f43f38f40ce894606ca8754c8df642cb604f8e3b48db14f59
-SIZE (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/proto-public/go.mod) = 343
-SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/sdk/go.mod) = 9dc73c35e3549431c5f5b75c0e02b59bb125b2d2e9d0387aadde4e7fca45b1d3
-SIZE (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/sdk/go.mod) = 822
-SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/troubleshoot/go.mod) = df3b54e0d481f30a2451ba35635ec5ef655f43da70086a8b8dc261f0cf6b4997
-SIZE (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/troubleshoot/go.mod) = 2915
-SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/hashicorp-consul-v1.22.1_GH0.tar.gz) = 3a397f1d9e10fabf7dba713e633406efe73f2192ef6c8b5a9e21c975bfb7e460
-SIZE (go/sysutils_consul/hashicorp-consul-v1.22.1_GH0/hashicorp-consul-v1.22.1_GH0.tar.gz) = 50628621
+TIMESTAMP = 1766220396
+SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/go.mod) = 0765401cc9fceb26588fc6ec31c31f9e5899894bc8e00185110f3fe35ec8281b
+SIZE (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/go.mod) = 15516
+SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/api/go.mod) = 9666057ddfbd6aff9a070a9d7c3d4f1fcfcda9545f1b09d67d13d20c9f341886
+SIZE (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/api/go.mod) = 1910
+SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/envoyextensions/go.mod) = f40812e29b5972b71ec65de3c255656d838b13a1769b3b07cc917893586f2251
+SIZE (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/envoyextensions/go.mod) = 2128
+SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/proto-public/go.mod) = 43a50190b5a07b33f2eef063b997c763645fe83b8bff54901cfb288eb48b69a2
+SIZE (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/proto-public/go.mod) = 343
+SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/sdk/go.mod) = 774954de6ececabaf766bfa1ec81d58c5e39feef43023110a68b45b2c79789cc
+SIZE (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/sdk/go.mod) = 822
+SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/troubleshoot/go.mod) = c6266774a745ad0ebb86d5c5613f1c004d600e43ec4376b061bff1accdb504a4
+SIZE (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/troubleshoot/go.mod) = 2915
+SHA256 (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/hashicorp-consul-v1.22.2_GH0.tar.gz) = 61124ea62fa4eb34f2367648a331d20a5916915e38efeb9d8eb96cbb84da81de
+SIZE (go/sysutils_consul/hashicorp-consul-v1.22.2_GH0/hashicorp-consul-v1.22.2_GH0.tar.gz) = 50618145
diff --git a/sysutils/opentofu/Makefile b/sysutils/opentofu/Makefile
index a7d8298f62ac..05730c7ed79d 100644
--- a/sysutils/opentofu/Makefile
+++ b/sysutils/opentofu/Makefile
@@ -1,6 +1,6 @@
PORTNAME= opentofu
DISTVERSIONPREFIX= v
-DISTVERSION= 1.11.1
+DISTVERSION= 1.11.2
CATEGORIES= sysutils
MAINTAINER= bofh@FreeBSD.org
@@ -10,7 +10,7 @@ WWW= https://opentofu.org/
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:1.25,modules
+USES= go:modules
GO_MODULE= github.com/opentofu/opentofu
GO_TARGET= ./cmd/tofu
GO_BUILDFLAGS= -o bin/
diff --git a/sysutils/opentofu/distinfo b/sysutils/opentofu/distinfo
index 48860a5fe3ec..19c8e66b17c5 100644
--- a/sysutils/opentofu/distinfo
+++ b/sysutils/opentofu/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1765709105
-SHA256 (go/sysutils_opentofu/opentofu-v1.11.1/v1.11.1.mod) = acb009cfc614d9cbee62cdef67c24c51929ef58dcda02490419a91daed29f5cf
-SIZE (go/sysutils_opentofu/opentofu-v1.11.1/v1.11.1.mod) = 17136
-SHA256 (go/sysutils_opentofu/opentofu-v1.11.1/v1.11.1.zip) = 0c6aa7bcd31cc17ec1f751e2ae654867636b69f7c8c8a63190d6afebcc14341c
-SIZE (go/sysutils_opentofu/opentofu-v1.11.1/v1.11.1.zip) = 7006172
+TIMESTAMP = 1766220684
+SHA256 (go/sysutils_opentofu/opentofu-v1.11.2/v1.11.2.mod) = 3c52d38ad621e98d1c069fa595d7968dd3f83b7f1416af0ed2225a0e1e45f71e
+SIZE (go/sysutils_opentofu/opentofu-v1.11.2/v1.11.2.mod) = 17136
+SHA256 (go/sysutils_opentofu/opentofu-v1.11.2/v1.11.2.zip) = d19b6c43b8ed5d301a28c1bd7c8c9558beeb2305321a0696a0966945656f267c
+SIZE (go/sysutils_opentofu/opentofu-v1.11.2/v1.11.2.zip) = 6998754
diff --git a/sysutils/pfstat/Makefile b/sysutils/pfstat/Makefile
index a89e00609971..7062f41a81f8 100644
--- a/sysutils/pfstat/Makefile
+++ b/sysutils/pfstat/Makefile
@@ -1,23 +1,24 @@
PORTNAME= pfstat
-PORTVERSION= 2.5
-PORTREVISION= 8
+DISTVERSION= 2.5
+PORTREVISION= 9
CATEGORIES= sysutils net
MASTER_SITES= https://www.benzedrine.ch/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= rootnode+freebsd@wollwage.com
COMMENT= Utility to render graphical statistics for pf
WWW= https://www.benzedrine.ch/pfstat.html
LICENSE= BSD2CLAUSE
LIB_DEPENDS= libgd.so:graphics/gd \
+ libpfctl.so:net/libpfctl \
libpng.so:graphics/png
-USES= iconv jpeg
-
+USES= iconv jpeg localbase:ldflags
USE_RC_SUBR= pfstatd
-MAKE_ARGS= "LD_GD=gd"
+CFLAGS+= -I/usr/include/net
+LDFLAGS+= -lpfctl
PLIST_FILES= bin/pfstat \
bin/pfstatd \
@@ -25,16 +26,13 @@ PLIST_FILES= bin/pfstat \
share/man/man8/pfstatd.8.gz
post-patch:
- @${REINPLACE_CMD} -e 's|-lgd|-l$${LD_GD}|; s| -lttf||' \
- ${WRKSRC}/Makefile
@${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|" \
${WRKSRC}/pfstat.[c8]
- @${REINPLACE_CMD} 's|altq/|net/&|' ${WRKSRC}/pf.c
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/pfstat ${STAGEDIR}/${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC}/pfstatd/pfstatd ${STAGEDIR}/${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/pfstat.8 ${STAGEDIR}/${PREFIX}/share/man/man8
- ${INSTALL_MAN} ${WRKSRC}/pfstatd/pfstatd.8 ${STAGEDIR}/${PREFIX}/share/man/man8
+ ${INSTALL_PROGRAM} ${WRKSRC}/pfstat \
+ ${WRKSRC}/pfstatd/pfstatd ${STAGEDIR}/${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/pfstat.8 \
+ ${WRKSRC}/pfstatd/pfstatd.8 ${STAGEDIR}/${PREFIX}/share/man/man8
.include <bsd.port.mk>
diff --git a/sysutils/pfstat/files/patch-pf.c b/sysutils/pfstat/files/patch-pf.c
new file mode 100644
index 000000000000..a5ee52b7b909
--- /dev/null
+++ b/sysutils/pfstat/files/patch-pf.c
@@ -0,0 +1,50 @@
+--- pf.c.orig 2007-01-11 16:01:58 UTC
++++ pf.c
+@@ -46,6 +46,7 @@ static const char rcsid[] = "$Id: pf.c,v 1.1.1.1 2007/
+ #include <err.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libpfctl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -167,20 +168,29 @@ query_counters(int fd, void (*cb)(int, const char *, i
+ static int
+ query_counters(int fd, void (*cb)(int, const char *, int, double))
+ {
+- struct pf_status s;
+- int i;
++ struct pfctl_status *s;
++ struct pfctl_status_counter *np;
+
+- memset(&s, 0, sizeof(s));
+- if (ioctl(fd, DIOCGETSTATUS, &s)) {
+- fprintf(stderr, "ioctl: DIOCGETSTATUS: %s\n", strerror(errno));
++ s = pfctl_get_status(fd);
++ if (s == NULL) {
++ fputs("pfctl_get_status failure.\n",stderr);
+ return (1);
+ }
+- (*cb)(COL_TYPE_SINCE, "", 0, s.since);
+- (*cb)(COL_TYPE_GLOBAL, "", 0, s.states);
+- for (i = 0; i < FCNT_MAX; ++i)
+- (*cb)(COL_TYPE_GLOBAL, "", 1 + i, s.fcounters[i]);
+- for (i = 0; i < PFRES_MAX; ++i)
+- (*cb)(COL_TYPE_GLOBAL, "", 1 + FCNT_MAX + i, s.counters[i]);
++
++ (*cb)(COL_TYPE_SINCE, "", 0, s->since);
++ (*cb)(COL_TYPE_GLOBAL, "", 0, s->states);
++
++ TAILQ_FOREACH(np, &s->fcounters, entry) {
++ if (np->id < FCNT_MAX)
++ (*cb)(COL_TYPE_GLOBAL, "", 1 + np->id, np->counter);
++ }
++
++ TAILQ_FOREACH(np, &s->counters, entry) {
++ if (np->id < PFRES_MAX)
++ (*cb)(COL_TYPE_GLOBAL, "", 1 + FCNT_MAX + np->id, np->counter);
++ }
++
++ pfctl_free_status(s);
+ return (0);
+ }
diff --git a/sysutils/py-hcloud/Makefile b/sysutils/py-hcloud/Makefile
index 6c7e24195143..b40c2c92102e 100644
--- a/sysutils/py-hcloud/Makefile
+++ b/sysutils/py-hcloud/Makefile
@@ -1,5 +1,5 @@
PORTNAME= hcloud
-DISTVERSION= 2.12.0
+DISTVERSION= 2.13.0
CATEGORIES= sysutils python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/sysutils/py-hcloud/distinfo b/sysutils/py-hcloud/distinfo
index 7e211ca87b40..95367c84c550 100644
--- a/sysutils/py-hcloud/distinfo
+++ b/sysutils/py-hcloud/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765457422
-SHA256 (hcloud-2.12.0.tar.gz) = f145b18efc6d70fff3d48b244edfde29c0fe3dddfbbadcfe71d63f41f52441f7
-SIZE (hcloud-2.12.0.tar.gz) = 152256
+TIMESTAMP = 1766235980
+SHA256 (hcloud-2.13.0.tar.gz) = 974b22a36c347e113ff8b25abd2cd3868011288485192b562729dba6b22375e1
+SIZE (hcloud-2.13.0.tar.gz) = 153639
diff --git a/sysutils/py-rendercv/Makefile b/sysutils/py-rendercv/Makefile
new file mode 100644
index 000000000000..4eb46c2ca27c
--- /dev/null
+++ b/sysutils/py-rendercv/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= rendercv
+DISTVERSION= 2.5
+CATEGORIES= sysutils python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Typst-based CV/resume generator
+WWW= https://github.com/rendercv/rendercv \
+ https://pypi.org/project/rendercv
+
+LICENSE= MIT
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uv-build>=0:devel/py-uv-build@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}phonenumbers>=0:devel/py-phonenumbers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic-extra-types>=0:devel/py-pydantic-extra-types@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}email-validator>=0:mail/py-email-validator@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0:devel/py-ruamel.yaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= CLI MARKDOWN WATCHDOG TYPST FONT
+OPTIONS_DEFAULT= CLI MARKDOWN WATCHDOG TYPST FONT
+
+CLI_DESC= Enable Command-line interface support
+MARKDOWN_DESC= Convert Markdown to HTML
+WATCHDOG_DESC= Monitor files for updates
+TYPST_DESC= Render PDF from Typst source files
+FONT_DESC= Font files for RenderCV
+
+CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typer>=0:devel/py-typer@${PY_FLAVOR}
+MARKDOWN_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markdown>=0:textproc/py-markdown@${PY_FLAVOR}
+WATCHDOG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}watchdog>=0:devel/py-watchdog@${PY_FLAVOR}
+TYPST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typst>=0:textproc/py-typst@${PY_FLAVOR}
+FONT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}rendercv-fonts>=0:x11-fonts/py-rendercv-fonts@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/sysutils/py-rendercv/distinfo b/sysutils/py-rendercv/distinfo
new file mode 100644
index 000000000000..c6f5b4128d33
--- /dev/null
+++ b/sysutils/py-rendercv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1766178034
+SHA256 (rendercv-2.5.tar.gz) = 7e5b51c7ed4340fa2e78084a3d74aa4784aa3e42e53d585c3c8433082982434b
+SIZE (rendercv-2.5.tar.gz) = 77147
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py b/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py
new file mode 100644
index 000000000000..7c8350de5c53
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py
@@ -0,0 +1,20 @@
+--- src/rendercv/cli/error_handler.py.orig 2025-12-20 00:46:25 UTC
++++ src/rendercv/cli/error_handler.py
+@@ -8,7 +8,7 @@ from rendercv.exception import RenderCVUserError
+ from rendercv.exception import RenderCVUserError
+
+
+-def handle_user_errors[T, **P](function: Callable[P, None]) -> Callable[P, None]:
++def handle_user_errors(function):
+ """Decorator that catches user errors and displays friendly messages without stack traces.
+
+ Why:
+@@ -33,7 +33,7 @@ def handle_user_errors[T, **P](function: Callable[P, N
+ """
+
+ @functools.wraps(function)
+- def wrapper(*args: P.args, **kwargs: P.kwargs) -> None:
++ def wrapper(*args, **kwargs) -> None:
+ try:
+ return function(*args, **kwargs)
+ except RenderCVUserError as e:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py b/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py
new file mode 100644
index 000000000000..3ede1d8e2ce3
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py
@@ -0,0 +1,21 @@
+--- src/rendercv/cli/render_command/run_rendercv.py.orig 2025-12-20 00:43:25 UTC
++++ src/rendercv/cli/render_command/run_rendercv.py
+@@ -19,13 +19,13 @@ from .progress_panel import ProgressPanel
+ from .progress_panel import ProgressPanel
+
+
+-def timed_step[T, **P](
++def timed_step(
+ message: str,
+ progress_panel: ProgressPanel,
+- func: Callable[P, T],
+- *args: P.args,
+- **kwargs: P.kwargs,
+-) -> T:
++ func,
++ *args,
++ **kwargs,
++):
+ """Execute function, measure timing, and update progress panel with result.
+
+ Why:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py b/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py
new file mode 100644
index 000000000000..d3fbd6e1175e
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py
@@ -0,0 +1,20 @@
+--- src/rendercv/renderer/templater/entry_templates_from_input.py.orig 2025-12-20 00:49:48 UTC
++++ src/rendercv/renderer/templater/entry_templates_from_input.py
+@@ -14,14 +14,14 @@ uppercase_word_pattern = re.compile(r"\b[A-Z_]+\b")
+ uppercase_word_pattern = re.compile(r"\b[A-Z_]+\b")
+
+
+-def render_entry_templates[EntryType: Entry](
+- entry: EntryType,
++def render_entry_templates(
++ entry,
+ *,
+ templates: Templates,
+ locale: Locale,
+ show_time_span: bool,
+ current_date: Date,
+-) -> EntryType:
++):
+ """Expand entry templates by substituting field placeholders with processed values.
+
+ Why:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py
new file mode 100644
index 000000000000..c3e40f6ba6fd
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py
@@ -0,0 +1,11 @@
+--- src/rendercv/schema/models/cv/entries/bases/entry_with_complex_fields.py.orig 2025-12-19 21:42:57 UTC
++++ src/rendercv/schema/models/cv/entries/bases/entry_with_complex_fields.py
+@@ -37,7 +37,7 @@ def validate_exact_date(date: str | int) -> str | int:
+ return date
+
+
+-type ExactDate = Annotated[str | int, pydantic.AfterValidator(validate_exact_date)]
++ExactDate = Annotated[str | int, pydantic.AfterValidator(validate_exact_date)]
+
+
+ def get_date_object(date: str | int, current_date: Date | None = None) -> Date:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py
new file mode 100644
index 000000000000..8c792c689936
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py
@@ -0,0 +1,11 @@
+--- src/rendercv/schema/models/cv/entries/bases/entry_with_date.py.orig 2025-12-19 21:34:29 UTC
++++ src/rendercv/schema/models/cv/entries/bases/entry_with_date.py
+@@ -31,7 +31,7 @@ def validate_arbitrary_date(date: int | str) -> int |
+ return date
+
+
+-type ArbitraryDate = Annotated[
++ArbitraryDate = Annotated[
+ int | str, pydantic.AfterValidator(validate_arbitrary_date)
+ ]
+
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py
new file mode 100644
index 000000000000..d2f7a9c12c81
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py
@@ -0,0 +1,46 @@
+--- src/rendercv/schema/models/cv/section.py.orig 2025-12-19 21:43:39 UTC
++++ src/rendercv/schema/models/cv/section.py
+@@ -21,7 +21,7 @@ from .entries.reversed_numbered import ReversedNumbere
+ # Below needs to be updated when new entry types are added.
+
+ # str is an entry type (TextEntry) but not a model, so it's not included in EntryModel.
+-type EntryModel = (
++EntryModel = (
+ OneLineEntry
+ | NormalEntry
+ | ExperienceEntry
+@@ -31,13 +31,22 @@ type EntryModel = (
+ | NumberedEntry
+ | ReversedNumberedEntry
+ )
+-type Entry = EntryModel | str
++Entry = EntryModel | str
+ ########################################################################################
+-available_entry_models: tuple[type[EntryModel], ...] = get_args(EntryModel.__value__)
++available_entry_models: tuple[type[EntryModel], ...] = (
++ OneLineEntry,
++ NormalEntry,
++ ExperienceEntry,
++ EducationEntry,
++ PublicationEntry,
++ BulletEntry,
++ NumberedEntry,
++ ReversedNumberedEntry
++)
+ available_entry_type_names: tuple[str, ...] = tuple(
+ [entry_type.__name__ for entry_type in available_entry_models] + ["TextEntry"]
+ )
+-type ListOfEntries = list[str] | reduce( # pyright: ignore[reportInvalidTypeForm]
++ListOfEntries = list[str] | reduce( # pyright: ignore[reportInvalidTypeForm]
+ or_, [list[entry_type] for entry_type in available_entry_models]
+ )
+
+@@ -244,7 +253,7 @@ def validate_section(sections_input: Any) -> Any:
+ # Create a custom type named Section, which is a list of entries. The entries can be any
+ # of the available entry types. The section is validated with the `validate_section`
+ # function.
+-type Section = Annotated[
++Section = Annotated[
+ pydantic.json_schema.SkipJsonSchema[Any] | ListOfEntries,
+ pydantic.BeforeValidator(lambda entries: validate_section(entries)),
+ ]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py
new file mode 100644
index 000000000000..50d71355c92c
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py
@@ -0,0 +1,20 @@
+--- src/rendercv/schema/models/cv/social_network.py.orig 2025-12-19 21:44:26 UTC
++++ src/rendercv/schema/models/cv/social_network.py
+@@ -10,7 +10,7 @@ url_validator = pydantic.TypeAdapter(pydantic.HttpUrl)
+ from ..base import BaseModelWithoutExtraKeys
+
+ url_validator = pydantic.TypeAdapter(pydantic.HttpUrl)
+-type SocialNetworkName = Literal[
++SocialNetworkName = Literal[
+ "LinkedIn",
+ "GitHub",
+ "GitLab",
+@@ -27,7 +27,7 @@ type SocialNetworkName = Literal[
+ "Leetcode",
+ "X",
+ ]
+-available_social_networks = get_args(SocialNetworkName.__value__)
++#available_social_networks = get_args(SocialNetworkName.__value__)
+ url_dictionary: dict[SocialNetworkName, str] = {
+ "LinkedIn": "https://linkedin.com/in/",
+ "GitHub": "https://github.com/",
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py
new file mode 100644
index 000000000000..2519ce6c6ec4
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py
@@ -0,0 +1,22 @@
+--- src/rendercv/schema/models/design/built_in_design.py.orig 2025-12-19 21:32:57 UTC
++++ src/rendercv/schema/models/design/built_in_design.py
+@@ -37,14 +37,13 @@ def discover_other_themes() -> list[type[ClassicTheme]
+
+ return discovered
+
++discovered_other_themes = discover_other_themes()
+
+ # Build discriminated union dynamically
+-type BuiltInDesign = Annotated[
+- ClassicTheme | reduce(or_, discover_other_themes()), # pyright: ignore[reportInvalidTypeForm]
++BuiltInDesign = Annotated[
++ ClassicTheme | reduce(or_, discovered_other_themes), # pyright: ignore[reportInvalidTypeForm]
+ pydantic.Field(discriminator="theme"),
+ ]
+-available_themes: list[str] = [
+- ThemeClass.model_fields["theme"].default
+- for ThemeClass in get_args(get_args(BuiltInDesign.__value__)[0])
+-]
++discovered_other_themes.append(ClassicTheme)
++available_themes: list[str] = [ThemeClass.model_fields["theme"].default for ThemeClass in discovered_other_themes]
+ built_in_design_adapter = pydantic.TypeAdapter(BuiltInDesign)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py
new file mode 100644
index 000000000000..30f05b163fbc
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py
@@ -0,0 +1,23 @@
+--- src/rendercv/schema/models/design/classic_theme.py.orig 2025-12-19 21:33:55 UTC
++++ src/rendercv/schema/models/design/classic_theme.py
+@@ -7,14 +7,14 @@ from rendercv.schema.models.design.typst_dimension imp
+ from rendercv.schema.models.design.font_family import FontFamily as FontFamilyType
+ from rendercv.schema.models.design.typst_dimension import TypstDimension
+
+-type Bullet = Literal["●", "•", "◦", "-", "◆", "★", "■", "—", "○"]
+-type BodyAlignment = Literal["left", "justified", "justified-with-no-hyphenation"]
+-type Alignment = Literal["left", "center", "right"]
+-type SectionTitleType = Literal[
++Bullet = Literal["●", "•", "◦", "-", "◆", "★", "■", "—", "○"]
++BodyAlignment = Literal["left", "justified", "justified-with-no-hyphenation"]
++Alignment = Literal["left", "center", "right"]
++SectionTitleType = Literal[
+ "with_partial_line", "with_full_line", "without_line", "moderncv"
+ ]
+-type PhoneNumberFormatType = Literal["national", "international", "E164"]
+-type PageSize = Literal["a4", "a5", "us-letter", "us-executive"]
++PhoneNumberFormatType = Literal["national", "international", "E164"]
++PageSize = Literal["a4", "a5", "us-letter", "us-executive"]
+
+ length_common_description = (
+ "It can be specified with units (cm, in, pt, mm, ex, em). For example, `0.1cm`."
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py
new file mode 100644
index 000000000000..0563084ad505
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py
@@ -0,0 +1,8 @@
+--- src/rendercv/schema/models/design/font_family.py.orig 2025-12-19 21:33:15 UTC
++++ src/rendercv/schema/models/design/font_family.py
+@@ -50,4 +50,4 @@ available_font_families = sorted(
+ )
+
+
+-type FontFamily = SkipJsonSchema[str] | Literal[*tuple(available_font_families)] # pyright: ignore[reportInvalidTypeForm]
++FontFamily = SkipJsonSchema[str] | Literal[*tuple(available_font_families)] # pyright: ignore[reportInvalidTypeForm]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py
new file mode 100644
index 000000000000..f9c2dfb78d2c
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py
@@ -0,0 +1,8 @@
+--- src/rendercv/schema/models/design/typst_dimension.py.orig 2025-12-19 21:33:37 UTC
++++ src/rendercv/schema/models/design/typst_dimension.py
+@@ -29,4 +29,4 @@ def validate_typst_dimension(dimension: str) -> str:
+ return dimension
+
+
+-type TypstDimension = Annotated[str, pydantic.AfterValidator(validate_typst_dimension)]
++TypstDimension = Annotated[str, pydantic.AfterValidator(validate_typst_dimension)]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py
new file mode 100644
index 000000000000..78889b6444b0
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py
@@ -0,0 +1,22 @@
+--- src/rendercv/schema/models/locale/locale.py.orig 2025-12-19 21:44:44 UTC
++++ src/rendercv/schema/models/locale/locale.py
+@@ -37,14 +37,13 @@ def discover_other_locales() -> list[type[EnglishLocal
+
+ return discovered
+
++discovered_other_locales = discover_other_locales()
+
+ # Build discriminated union dynamically
+-type Locale = Annotated[
+- EnglishLocale | reduce(or_, discover_other_locales()), # pyright: ignore[reportInvalidTypeForm]
++Locale = Annotated[
++ EnglishLocale | reduce(or_, discovered_other_locales), # pyright: ignore[reportInvalidTypeForm]
+ pydantic.Field(discriminator="language"),
+ ]
+-available_locales = [
+- LocaleModel.model_fields["language"].default
+- for LocaleModel in get_args(get_args(Locale.__value__)[0])
+-]
++discovered_other_locales.append(EnglishLocale)
++available_locales = [LocaleModel.model_fields["language"].default for LocaleModel in discovered_other_locales]
+ locale_adapter = pydantic.TypeAdapter(Locale)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py
new file mode 100644
index 000000000000..74b7cab315b6
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py
@@ -0,0 +1,19 @@
+--- src/rendercv/schema/models/path.py.orig 2025-12-19 21:40:25 UTC
++++ src/rendercv/schema/models/path.py
+@@ -60,14 +60,14 @@ def serialize_path(path: pathlib.Path) -> str:
+ return str(path.relative_to(pathlib.Path.cwd()))
+
+
+-type ExistingPathRelativeToInput = Annotated[
++ExistingPathRelativeToInput = Annotated[
+ pathlib.Path,
+ pydantic.AfterValidator(
+ lambda path, info: resolve_relative_path(path, info, must_exist=True)
+ ),
+ ]
+
+-type PlannedPathRelativeToInput = Annotated[
++PlannedPathRelativeToInput = Annotated[
+ pathlib.Path,
+ pydantic.AfterValidator(
+ lambda path, info: resolve_relative_path(path, info, must_exist=False)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py
new file mode 100644
index 000000000000..8760ecb47deb
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py
@@ -0,0 +1,38 @@
+--- src/rendercv/schema/variant_pydantic_model_generator.py.orig 2025-12-19 21:48:58 UTC
++++ src/rendercv/schema/variant_pydantic_model_generator.py
+@@ -6,17 +6,17 @@ from rendercv.exception import RenderCVInternalError
+
+ from rendercv.exception import RenderCVInternalError
+
+-type FieldSpec = tuple[type[Any], FieldInfo]
++FieldSpec = tuple[type[Any], FieldInfo]
+
+
+-def create_variant_pydantic_model[T: pydantic.BaseModel](
++def create_variant_pydantic_model(
+ variant_name: str,
+ defaults: dict[str, Any],
+- base_class: type[T],
++ base_class,
+ discriminator_field: str,
+ class_name_suffix: str,
+ module_name: str,
+-) -> type[T]:
++):
+ """Create Pydantic model variant with customized defaults.
+
+ Why:
+@@ -190,10 +190,10 @@ def create_discriminator_field_spec(
+ return (cast(type[Any], field_annotation), new_field)
+
+
+-def deep_merge_nested_object[T: pydantic.BaseModel](
+- base_nested_obj: T,
++def deep_merge_nested_object(
++ base_nested_obj,
+ updates: dict[str, Any],
+-) -> T:
++):
+ """Recursively merge nested dictionary updates into Pydantic model instance.
+
+ Why:
diff --git a/sysutils/py-rendercv/pkg-descr b/sysutils/py-rendercv/pkg-descr
new file mode 100644
index 000000000000..58a97762cbe9
--- /dev/null
+++ b/sysutils/py-rendercv/pkg-descr
@@ -0,0 +1,5 @@
+RenderCV is a python tool for creating a CV from YAML.
+
+Write your CV or resume as YAML, then run RenderCV, and get a PDF
+with perfect typography. No template wrestling. No broken layouts.
+Consistent spacing, every time.
diff --git a/textproc/Makefile b/textproc/Makefile
index 3c3c7be8edd0..a960bb4c4eb9 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1721,6 +1721,7 @@
SUBDIR += py-ttp
SUBDIR += py-ttp-templates
SUBDIR += py-typogrify
+ SUBDIR += py-typst
SUBDIR += py-uc-micro-py
SUBDIR += py-ucl
SUBDIR += py-ufal.udpipe
diff --git a/textproc/R-cran-litedown/Makefile b/textproc/R-cran-litedown/Makefile
index 0e8252c78fa8..f97f50d7409b 100644
--- a/textproc/R-cran-litedown/Makefile
+++ b/textproc/R-cran-litedown/Makefile
@@ -1,5 +1,5 @@
PORTNAME= litedown
-DISTVERSION= 0.8
+DISTVERSION= 0.9
CATEGORIES= textproc
DISTNAME= ${PORTNAME}_${PORTVERSION}
@@ -11,7 +11,7 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= R-cran-commonmark>=2.0.0:textproc/R-cran-commonmark \
- R-cran-xfun>=0.54:misc/R-cran-xfun
+ R-cran-xfun>=0.55:misc/R-cran-xfun
TEST_DEPENDS= R-cran-rbibutils>0:textproc/R-cran-rbibutils \
R-cran-rstudioapi>0:devel/R-cran-rstudioapi \
R-cran-tinytex>0:print/R-cran-tinytex
diff --git a/textproc/R-cran-litedown/distinfo b/textproc/R-cran-litedown/distinfo
index a96e433c3001..091abd5aa147 100644
--- a/textproc/R-cran-litedown/distinfo
+++ b/textproc/R-cran-litedown/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1762181533
-SHA256 (litedown_0.8.tar.gz) = 13d004556dee69130c151f8232b0f78ff6006f0bf77389314a04542ea35ab138
-SIZE (litedown_0.8.tar.gz) = 101850
+TIMESTAMP = 1766246162
+SHA256 (litedown_0.9.tar.gz) = 35e1c58fd063c300d37ee0b1874827dbcbbc43b625a2d0011e4f4d5556e3f53f
+SIZE (litedown_0.9.tar.gz) = 103182
diff --git a/textproc/libmrss/Makefile b/textproc/libmrss/Makefile
index 0d1bf0791394..96aa534b9729 100644
--- a/textproc/libmrss/Makefile
+++ b/textproc/libmrss/Makefile
@@ -1,12 +1,10 @@
PORTNAME= libmrss
-PORTVERSION= 0.19.2
-PORTREVISION= 8
+DISTVERSION= 0.19.4
CATEGORIES= textproc
-MASTER_SITES= http://www.autistici.org/bakunin/libmrss/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= juw@posteo.de
COMMENT= C library for parsing, writing, and creating RSS
-WWW= http://www2.autistici.org/bakunin/libmrss/doc/
+WWW= https://github.com/bakulf/libmrss/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -14,12 +12,12 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libcurl.so:ftp/curl \
libnxml.so:textproc/libnxml
+USES= autoreconf libtool localbase pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= bakulf
+USE_LDCONFIG= yes
+
GNU_CONFIGURE= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
-USES= libtool pathfix pkgconfig
-USE_LDCONFIG= yes
-
.include <bsd.port.mk>
diff --git a/textproc/libmrss/distinfo b/textproc/libmrss/distinfo
index dfa49400401e..7f74d9150964 100644
--- a/textproc/libmrss/distinfo
+++ b/textproc/libmrss/distinfo
@@ -1,2 +1,3 @@
-SHA256 (libmrss-0.19.2.tar.gz) = 071416adcae5c1a9317a4a313f2deb34667e3cc2be4487fb3076528ce45b210b
-SIZE (libmrss-0.19.2.tar.gz) = 375238
+TIMESTAMP = 1765649342
+SHA256 (bakulf-libmrss-0.19.4_GH0.tar.gz) = 28022247056b04ca3f12a9e21134d42304526b2a67b7d6baf139e556af1151c6
+SIZE (bakulf-libmrss-0.19.4_GH0.tar.gz) = 43963
diff --git a/textproc/libmrss/pkg-plist b/textproc/libmrss/pkg-plist
index 07fec9456eed..276d6fcfaa16 100644
--- a/textproc/libmrss/pkg-plist
+++ b/textproc/libmrss/pkg-plist
@@ -2,5 +2,5 @@ include/mrss.h
lib/libmrss.a
lib/libmrss.so
lib/libmrss.so.0
-lib/libmrss.so.0.19.2
+lib/libmrss.so.0.19.4
libdata/pkgconfig/mrss.pc
diff --git a/textproc/php81-xml/files/patch-compat.c b/textproc/php81-xml/files/patch-compat.c
index af608e129191..89925810a65b 100644
--- a/textproc/php81-xml/files/patch-compat.c
+++ b/textproc/php81-xml/files/patch-compat.c
@@ -1,4 +1,4 @@
---- compat.c.orig 2025-07-01 21:17:52 UTC
+--- compat.c.orig 2025-12-16 18:33:34 UTC
+++ compat.c
@@ -14,6 +14,10 @@
+----------------------------------------------------------------------+
@@ -11,14 +11,12 @@
#include "php.h"
#if defined(HAVE_LIBXML) && (defined(HAVE_XML) || defined(HAVE_XMLRPC)) && !defined(HAVE_LIBEXPAT)
#include "expat_compat.h"
-@@ -375,7 +379,9 @@ _get_entity(void *user, const xmlChar *name)
- if (ret == NULL)
+@@ -376,7 +380,7 @@ _get_entity(void *user, const xmlChar *name)
ret = xmlGetDocEntity(parser->parser->myDoc, name);
+ ZEND_DIAGNOSTIC_IGNORED_START("-Wdeprecated-declarations")
- if (ret == NULL || (parser->parser->instate != XML_PARSER_ENTITY_VALUE && parser->parser->instate != XML_PARSER_ATTRIBUTE_VALUE)) {
-+/* Fix parse error on some XML files so that devel/pear work again. */
-+/* See https://github.com/php/php-src/issues/14834 for details. */
+ if (ret == NULL || parser->parser->instate == XML_PARSER_CONTENT) {
+ ZEND_DIAGNOSTIC_IGNORED_END
if (ret == NULL || ret->etype == XML_INTERNAL_GENERAL_ENTITY || ret->etype == XML_INTERNAL_PARAMETER_ENTITY || ret->etype == XML_INTERNAL_PREDEFINED_ENTITY) {
/* Predefined entities will expand unless no cdata handler is present */
- if (parser->h_default && ! (ret && ret->etype == XML_INTERNAL_PREDEFINED_ENTITY && parser->h_cdata)) {
diff --git a/textproc/py-typst/Makefile b/textproc/py-typst/Makefile
new file mode 100644
index 000000000000..64cdf90dd288
--- /dev/null
+++ b/textproc/py-typst/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= typst
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.14.4
+CATEGORIES= textproc python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Python binding to typst
+WWW= https://github.com/messense/typst-py \
+ https://pypi.org/project/typst
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=0:devel/py-maturin@${PY_FLAVOR}
+
+USES= cargo python ssl
+USE_GITHUB= yes
+GH_ACCOUNT= messense
+GH_PROJECT= typst-py
+USE_PYTHON= autoplist pep517
+
+CARGO_BUILD= no
+CARGO_INSTALL= no
+CARGO_TEST= no
+
+.include <bsd.port.mk>
diff --git a/textproc/py-typst/Makefile.crates b/textproc/py-typst/Makefile.crates
new file mode 100644
index 000000000000..275a575c4cf2
--- /dev/null
+++ b/textproc/py-typst/Makefile.crates
@@ -0,0 +1,381 @@
+CARGO_CRATES= adler2-2.0.1 \
+ aho-corasick-1.1.4 \
+ android_system_properties-0.1.5 \
+ approx-0.5.1 \
+ ar_archive_writer-0.2.0 \
+ arrayref-0.3.9 \
+ arrayvec-0.7.6 \
+ autocfg-1.5.0 \
+ az-1.2.1 \
+ base64-0.22.1 \
+ biblatex-0.11.0 \
+ bincode-1.3.3 \
+ bit-set-0.8.0 \
+ bit-vec-0.8.0 \
+ bitflags-1.3.2 \
+ bitflags-2.10.0 \
+ bumpalo-3.19.0 \
+ by_address-1.2.1 \
+ bytemuck-1.24.0 \
+ bytemuck_derive-1.10.2 \
+ byteorder-lite-0.1.0 \
+ cc-1.2.48 \
+ cfg-if-1.0.4 \
+ chinese-number-0.7.7 \
+ chinese-variant-1.1.3 \
+ chrono-0.4.42 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ citationberg-0.6.1 \
+ cobs-0.3.0 \
+ codespan-reporting-0.13.1 \
+ codex-0.2.0 \
+ color_quant-1.1.0 \
+ comemo-0.5.0 \
+ comemo-macros-0.5.0 \
+ core-foundation-0.9.4 \
+ core-foundation-sys-0.8.7 \
+ core_maths-0.1.1 \
+ crc32fast-1.5.0 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.4 \
+ csv-1.4.0 \
+ csv-core-0.1.13 \
+ data-url-0.3.2 \
+ deranged-0.5.5 \
+ dirs-6.0.0 \
+ dirs-sys-0.5.0 \
+ displaydoc-0.2.5 \
+ ecow-0.2.6 \
+ either-1.15.0 \
+ embedded-io-0.4.0 \
+ embedded-io-0.6.1 \
+ enum-ordinalize-4.3.2 \
+ enum-ordinalize-derive-4.3.2 \
+ env_proxy-0.4.1 \
+ equivalent-1.0.2 \
+ errno-0.3.14 \
+ euclid-0.22.11 \
+ fancy-regex-0.16.2 \
+ fast-srgb8-1.0.0 \
+ fastrand-2.3.0 \
+ fdeflate-0.3.7 \
+ filetime-0.2.26 \
+ find-msvc-tools-0.1.5 \
+ flate2-1.1.5 \
+ float-cmp-0.9.0 \
+ float-cmp-0.10.0 \
+ fnv-1.0.7 \
+ font-types-0.10.1 \
+ fontconfig-parser-0.5.8 \
+ fontdb-0.23.0 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.2 \
+ getrandom-0.2.16 \
+ getrandom-0.3.4 \
+ gif-0.13.3 \
+ gif-0.14.1 \
+ glidesort-0.1.2 \
+ half-2.7.1 \
+ hashbrown-0.16.1 \
+ hayagriva-0.9.1 \
+ hayro-0.4.0 \
+ hayro-font-0.3.0 \
+ hayro-interpret-0.4.0 \
+ hayro-svg-0.2.0 \
+ hayro-syntax-0.4.0 \
+ hayro-write-0.3.0 \
+ heck-0.5.0 \
+ hypher-0.1.6 \
+ iana-time-zone-0.1.64 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-1.5.0 \
+ icu_collections-2.1.1 \
+ icu_locale_core-2.1.1 \
+ icu_locid-1.5.0 \
+ icu_locid_transform-1.5.0 \
+ icu_locid_transform_data-1.5.1 \
+ icu_normalizer-2.1.1 \
+ icu_normalizer_data-2.1.1 \
+ icu_properties-1.5.1 \
+ icu_properties-2.1.1 \
+ icu_properties_data-1.5.1 \
+ icu_properties_data-2.1.1 \
+ icu_provider-1.5.0 \
+ icu_provider-2.1.1 \
+ icu_provider_adapters-1.5.0 \
+ icu_provider_blob-1.5.0 \
+ icu_provider_macros-1.5.0 \
+ icu_segmenter-1.5.0 \
+ icu_segmenter_data-1.5.1 \
+ idna-1.1.0 \
+ idna_adapter-1.2.1 \
+ image-0.25.9 \
+ image-webp-0.2.4 \
+ imagesize-0.13.0 \
+ imagesize-0.14.0 \
+ indexmap-2.12.1 \
+ indoc-2.0.7 \
+ infer-0.19.0 \
+ itoa-1.0.15 \
+ js-sys-0.3.83 \
+ kamadak-exif-0.6.1 \
+ krilla-0.6.0 \
+ krilla-svg-0.3.0 \
+ kurbo-0.11.3 \
+ kurbo-0.12.0 \
+ libc-0.2.178 \
+ libm-0.2.15 \
+ libredox-0.1.10 \
+ libz-rs-sys-0.5.3 \
+ linked-hash-map-0.5.6 \
+ linux-raw-sys-0.11.0 \
+ lipsum-0.9.1 \
+ litemap-0.7.5 \
+ litemap-0.8.1 \
+ lock_api-0.4.14 \
+ log-0.4.29 \
+ memchr-2.7.6 \
+ memmap2-0.9.9 \
+ memoffset-0.9.1 \
+ miniz_oxide-0.8.9 \
+ moxcms-0.7.10 \
+ mutate_once-0.1.2 \
+ native-tls-0.2.14 \
+ num-bigint-0.4.6 \
+ num-conv-0.1.0 \
+ num-integer-0.1.46 \
+ num-traits-0.2.19 \
+ object-0.32.2 \
+ once_cell-1.21.3 \
+ openssl-0.10.75 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.6 \
+ openssl-src-300.5.4+3.5.4 \
+ openssl-sys-0.9.111 \
+ option-ext-0.2.0 \
+ palette-0.7.6 \
+ palette_derive-0.7.6 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
+ paste-1.0.15 \
+ pathdiff-0.2.3 \
+ pdf-writer-0.14.0 \
+ percent-encoding-2.3.2 \
+ phf-0.13.1 \
+ phf_generator-0.13.1 \
+ phf_macros-0.13.1 \
+ phf_shared-0.13.1 \
+ pico-args-0.5.0 \
+ pixglyph-0.6.0 \
+ pkg-config-0.3.32 \
+ plist-1.8.0 \
+ png-0.17.16 \
+ png-0.18.0 \
+ portable-atomic-1.11.1 \
+ postcard-1.1.3 \
+ potential_utf-0.1.4 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.21 \
+ proc-macro-hack-0.5.20+deprecated \
+ proc-macro2-1.0.103 \
+ psm-0.1.28 \
+ pxfm-0.1.26 \
+ pyo3-0.27.2 \
+ pyo3-build-config-0.27.2 \
+ pyo3-ffi-0.27.2 \
+ pyo3-macros-0.27.2 \
+ pyo3-macros-backend-0.27.2 \
+ python3-dll-a-0.2.14 \
+ qcms-0.3.0 \
+ quick-error-2.0.1 \
+ quick-xml-0.38.4 \
+ quote-1.0.42 \
+ r-efi-5.3.0 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
+ read-fonts-0.35.0 \
+ redox_syscall-0.5.18 \
+ redox_users-0.5.2 \
+ regex-1.12.2 \
+ regex-automata-0.4.13 \
+ regex-syntax-0.8.8 \
+ resvg-0.45.1 \
+ rgb-0.8.52 \
+ roman-numerals-rs-3.1.0 \
+ roxmltree-0.20.0 \
+ rust_decimal-1.39.0 \
+ rustc-hash-2.1.1 \
+ rustix-1.1.2 \
+ rustversion-1.0.22 \
+ rustybuzz-0.20.1 \
+ ryu-1.0.20 \
+ same-file-1.0.6 \
+ schannel-0.1.28 \
+ scopeguard-1.2.0 \
+ security-framework-2.11.1 \
+ security-framework-sys-2.15.0 \
+ serde-1.0.228 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
+ serde_json-1.0.145 \
+ serde_spanned-0.6.9 \
+ serde_yaml-0.9.34+deprecated \
+ shlex-1.3.0 \
+ simd-adler32-0.3.7 \
+ simplecss-0.2.2 \
+ siphasher-1.0.1 \
+ skrifa-0.37.0 \
+ slab-0.4.11 \
+ slotmap-1.0.7 \
+ smallvec-1.15.1 \
+ spin-0.9.8 \
+ stable_deref_trait-1.2.1 \
+ stacker-0.1.22 \
+ strict-num-0.1.1 \
+ strum-0.27.2 \
+ strum_macros-0.27.2 \
+ subsetter-0.2.3 \
+ svgtypes-0.15.3 \
+ syn-2.0.111 \
+ synstructure-0.13.2 \
+ syntect-5.3.0 \
+ tar-0.4.44 \
+ target-lexicon-0.13.3 \
+ tempfile-3.23.0 \
+ termcolor-1.4.1 \
+ thin-vec-0.2.14 \
+ thiserror-2.0.17 \
+ thiserror-impl-2.0.17 \
+ time-0.3.44 \
+ time-core-0.1.6 \
+ time-macros-0.2.24 \
+ tiny-skia-0.11.4 \
+ tiny-skia-path-0.11.4 \
+ tinystr-0.7.6 \
+ tinystr-0.8.2 \
+ tinyvec-1.10.0 \
+ tinyvec_macros-0.1.1 \
+ toml-0.8.23 \
+ toml_datetime-0.6.11 \
+ toml_edit-0.22.27 \
+ toml_write-0.1.2 \
+ ttf-parser-0.25.1 \
+ two-face-0.4.4 \
+ typed-arena-2.0.2 \
+ typst-0.14.1 \
+ typst-assets-0.14.1 \
+ typst-eval-0.14.1 \
+ typst-html-0.14.1 \
+ typst-kit-0.14.1 \
+ typst-layout-0.14.1 \
+ typst-library-0.14.1 \
+ typst-macros-0.14.1 \
+ typst-pdf-0.14.1 \
+ typst-realize-0.14.1 \
+ typst-render-0.14.1 \
+ typst-svg-0.14.1 \
+ typst-syntax-0.14.1 \
+ typst-timing-0.14.1 \
+ typst-utils-0.14.1 \
+ unic-langid-0.9.6 \
+ unic-langid-impl-0.9.6 \
+ unic-langid-macros-0.9.6 \
+ unic-langid-macros-impl-0.9.6 \
+ unicode-bidi-0.3.18 \
+ unicode-bidi-mirroring-0.4.0 \
+ unicode-ccc-0.4.0 \
+ unicode-ident-1.0.22 \
+ unicode-math-class-0.1.0 \
+ unicode-normalization-0.1.25 \
+ unicode-properties-0.1.4 \
+ unicode-script-0.5.8 \
+ unicode-segmentation-1.12.0 \
+ unicode-vo-0.1.0 \
+ unicode-width-0.2.2 \
+ unindent-0.2.4 \
+ unsafe-libyaml-0.2.11 \
+ unscanny-0.1.0 \
+ ureq-2.12.1 \
+ url-2.5.7 \
+ usvg-0.45.1 \
+ utf8_iter-1.0.4 \
+ vcpkg-0.2.15 \
+ version_check-0.9.5 \
+ walkdir-2.5.0 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasip2-1.0.1+wasi-0.2.4 \
+ wasm-bindgen-0.2.106 \
+ wasm-bindgen-macro-0.2.106 \
+ wasm-bindgen-macro-support-0.2.106 \
+ wasm-bindgen-shared-0.2.106 \
+ wasmi-0.51.2 \
+ wasmi_collections-0.51.2 \
+ wasmi_core-0.51.2 \
+ wasmi_ir-0.51.2 \
+ wasmparser-0.228.0 \
+ weezl-0.1.12 \
+ winapi-util-0.1.11 \
+ windows-core-0.62.2 \
+ windows-implement-0.60.2 \
+ windows-interface-0.59.3 \
+ windows-link-0.2.1 \
+ windows-result-0.4.1 \
+ windows-strings-0.5.1 \
+ windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-sys-0.61.2 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.1 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.1 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.1 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.1 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.1 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.1 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.1 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.1 \
+ winnow-0.7.14 \
+ wit-bindgen-0.46.0 \
+ write-fonts-0.43.0 \
+ writeable-0.5.5 \
+ writeable-0.6.2 \
+ xattr-1.6.1 \
+ xmlparser-0.13.6 \
+ xmlwriter-0.1.0 \
+ xmp-writer-0.3.2 \
+ yaml-rust-0.4.5 \
+ yoke-0.7.5 \
+ yoke-0.8.1 \
+ yoke-derive-0.7.5 \
+ yoke-derive-0.8.1 \
+ zerocopy-0.8.31 \
+ zerocopy-derive-0.8.31 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
+ zerotrie-0.1.3 \
+ zerotrie-0.2.3 \
+ zerovec-0.10.4 \
+ zerovec-0.11.5 \
+ zerovec-derive-0.10.3 \
+ zerovec-derive-0.11.2 \
+ zlib-rs-0.5.3 \
+ zune-core-0.4.12 \
+ zune-core-0.5.0 \
+ zune-jpeg-0.4.21 \
+ zune-jpeg-0.5.5
diff --git a/textproc/py-typst/distinfo b/textproc/py-typst/distinfo
new file mode 100644
index 000000000000..a6f7820fe9de
--- /dev/null
+++ b/textproc/py-typst/distinfo
@@ -0,0 +1,765 @@
+TIMESTAMP = 1766173952
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
+SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015
+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/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6
+SIZE (rust/crates/approx-0.5.1.crate) = 15100
+SHA256 (rust/crates/ar_archive_writer-0.2.0.crate) = f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a
+SIZE (rust/crates/ar_archive_writer-0.2.0.crate) = 31814
+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
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/az-1.2.1.crate) = 7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973
+SIZE (rust/crates/az-1.2.1.crate) = 27842
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/biblatex-0.11.0.crate) = 53d0c374feba1b9a59042a7c1cf00ce7c34b977b9134fe7c42b08e5183729f66
+SIZE (rust/crates/biblatex-0.11.0.crate) = 98441
+SHA256 (rust/crates/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad
+SIZE (rust/crates/bincode-1.3.3.crate) = 28958
+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.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
+SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/by_address-1.2.1.crate) = 64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06
+SIZE (rust/crates/by_address-1.2.1.crate) = 8437
+SHA256 (rust/crates/bytemuck-1.24.0.crate) = 1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4
+SIZE (rust/crates/bytemuck-1.24.0.crate) = 53243
+SHA256 (rust/crates/bytemuck_derive-1.10.2.crate) = f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff
+SIZE (rust/crates/bytemuck_derive-1.10.2.crate) = 25678
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/cc-1.2.48.crate) = c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a
+SIZE (rust/crates/cc-1.2.48.crate) = 92458
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/chinese-number-0.7.7.crate) = 49fccaef6346f6d6a741908d3b79fe97c2debe2fbb5eb3a7d00ff5981b52bb6c
+SIZE (rust/crates/chinese-number-0.7.7.crate) = 17318
+SHA256 (rust/crates/chinese-variant-1.1.3.crate) = 7588475145507237ded760e52bf2f1085495245502033756d28ea72ade0e498b
+SIZE (rust/crates/chinese-variant-1.1.3.crate) = 2179
+SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
+SIZE (rust/crates/chrono-0.4.42.crate) = 238174
+SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
+SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
+SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
+SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
+SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
+SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
+SHA256 (rust/crates/citationberg-0.6.1.crate) = 1f6597e8bdbca37f1f56e5a80d15857b0932aead21a78d20de49e99e74933046
+SIZE (rust/crates/citationberg-0.6.1.crate) = 66778
+SHA256 (rust/crates/cobs-0.3.0.crate) = 0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1
+SIZE (rust/crates/cobs-0.3.0.crate) = 15639
+SHA256 (rust/crates/codespan-reporting-0.13.1.crate) = af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681
+SIZE (rust/crates/codespan-reporting-0.13.1.crate) = 57424
+SHA256 (rust/crates/codex-0.2.0.crate) = 9589e1effc5cacbea347899645c654158b03b2053d24bb426fd3128ced6e423c
+SIZE (rust/crates/codex-0.2.0.crate) = 43026
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/comemo-0.5.0.crate) = 649d7b2d867b569729c03c0f6968db10bc95921182a1f2b2012b1b549492f39d
+SIZE (rust/crates/comemo-0.5.0.crate) = 28954
+SHA256 (rust/crates/comemo-macros-0.5.0.crate) = 51c87fc7e85487493ddedae1a3a34b897c77ad8825375b79265a8a162c28d535
+SIZE (rust/crates/comemo-macros-0.5.0.crate) = 10000
+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-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/core_maths-0.1.1.crate) = 77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
+SIZE (rust/crates/core_maths-0.1.1.crate) = 6528
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5
+SIZE (rust/crates/crunchy-0.2.4.crate) = 3887
+SHA256 (rust/crates/csv-1.4.0.crate) = 52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938
+SIZE (rust/crates/csv-1.4.0.crate) = 888642
+SHA256 (rust/crates/csv-core-0.1.13.crate) = 704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782
+SIZE (rust/crates/csv-core-0.1.13.crate) = 26119
+SHA256 (rust/crates/data-url-0.3.2.crate) = be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376
+SIZE (rust/crates/data-url-0.3.2.crate) = 23862
+SHA256 (rust/crates/deranged-0.5.5.crate) = ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587
+SIZE (rust/crates/deranged-0.5.5.crate) = 24438
+SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
+SIZE (rust/crates/dirs-6.0.0.crate) = 14190
+SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab
+SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/ecow-0.2.6.crate) = 78e4f79b296fbaab6ce2e22d52cb4c7f010fe0ebe7a32e34fa25885fd797bd02
+SIZE (rust/crates/ecow-0.2.6.crate) = 29987
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+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
+SIZE (rust/crates/embedded-io-0.6.1.crate) = 13133
+SHA256 (rust/crates/enum-ordinalize-4.3.2.crate) = 4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0
+SIZE (rust/crates/enum-ordinalize-4.3.2.crate) = 4465
+SHA256 (rust/crates/enum-ordinalize-derive-4.3.2.crate) = 8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631
+SIZE (rust/crates/enum-ordinalize-derive-4.3.2.crate) = 8434
+SHA256 (rust/crates/env_proxy-0.4.1.crate) = 3a5019be18538406a43b5419a5501461f0c8b49ea7dfda0cfc32f4e51fc44be1
+SIZE (rust/crates/env_proxy-0.4.1.crate) = 11256
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/euclid-0.22.11.crate) = ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48
+SIZE (rust/crates/euclid-0.22.11.crate) = 79261
+SHA256 (rust/crates/fancy-regex-0.16.2.crate) = 998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f
+SIZE (rust/crates/fancy-regex-0.16.2.crate) = 100662
+SHA256 (rust/crates/fast-srgb8-1.0.0.crate) = dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1
+SIZE (rust/crates/fast-srgb8-1.0.0.crate) = 17214
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
+SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
+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.5.crate) = 3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844
+SIZE (rust/crates/find-msvc-tools-0.1.5.crate) = 30942
+SHA256 (rust/crates/flate2-1.1.5.crate) = bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb
+SIZE (rust/crates/flate2-1.1.5.crate) = 77015
+SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
+SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/float-cmp-0.10.0.crate) = b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8
+SIZE (rust/crates/float-cmp-0.10.0.crate) = 10702
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/font-types-0.10.1.crate) = 39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5
+SIZE (rust/crates/font-types-0.10.1.crate) = 24859
+SHA256 (rust/crates/fontconfig-parser-0.5.8.crate) = bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646
+SIZE (rust/crates/fontconfig-parser-0.5.8.crate) = 40928
+SHA256 (rust/crates/fontdb-0.23.0.crate) = 457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905
+SIZE (rust/crates/fontdb-0.23.0.crate) = 108324
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf
+SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347
+SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
+SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
+SHA256 (rust/crates/getrandom-0.3.4.crate) = 899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd
+SIZE (rust/crates/getrandom-0.3.4.crate) = 50932
+SHA256 (rust/crates/gif-0.13.3.crate) = 4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b
+SIZE (rust/crates/gif-0.13.3.crate) = 36010
+SHA256 (rust/crates/gif-0.14.1.crate) = f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e
+SIZE (rust/crates/gif-0.14.1.crate) = 38581
+SHA256 (rust/crates/glidesort-0.1.2.crate) = f2e102e6eb644d3e0b186fc161e4460417880a0a0b87d235f2e5b8fb30f2e9e0
+SIZE (rust/crates/glidesort-0.1.2.crate) = 33672
+SHA256 (rust/crates/half-2.7.1.crate) = 6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b
+SIZE (rust/crates/half-2.7.1.crate) = 61040
+SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
+SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
+SHA256 (rust/crates/hayagriva-0.9.1.crate) = 1cb69425736f184173b3ca6e27fcba440a61492a790c786b1c6af7e06a03e575
+SIZE (rust/crates/hayagriva-0.9.1.crate) = 460242
+SHA256 (rust/crates/hayro-0.4.0.crate) = 048488ba88552bb0fb2a7e4001c64d5bed65d1a92167186a1bb9151571f32e60
+SIZE (rust/crates/hayro-0.4.0.crate) = 36512
+SHA256 (rust/crates/hayro-font-0.3.0.crate) = 10e7e97ce840a6a70e7901e240ec65ba61106b66b37a4a1b899a2ce484248463
+SIZE (rust/crates/hayro-font-0.3.0.crate) = 38468
+SHA256 (rust/crates/hayro-interpret-0.4.0.crate) = 56204c972d08e844f3db13b1e14be769f846e576699b46d4f4637cc4f8f70102
+SIZE (rust/crates/hayro-interpret-0.4.0.crate) = 365232
+SHA256 (rust/crates/hayro-svg-0.2.0.crate) = e8c673304cec6e0dfd3b4f71fccecd45646899aa70279b62d3f933842abc4ac5
+SIZE (rust/crates/hayro-svg-0.2.0.crate) = 14532
+SHA256 (rust/crates/hayro-syntax-0.4.0.crate) = 3f9e5c7dbc0f11dc42775d1a6cc00f5f5137b90b6288dd7fe5f71d17b14d10be
+SIZE (rust/crates/hayro-syntax-0.4.0.crate) = 116992
+SHA256 (rust/crates/hayro-write-0.3.0.crate) = cc05d8b4bc878b9aee48d980ecb25ed08f1dd9fad6da5ab4d9b7c56ec03a0cf6
+SIZE (rust/crates/hayro-write-0.3.0.crate) = 7835
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hypher-0.1.6.crate) = 74e25026c579b170c59f8d3ddfc523d7dab0abe079f09eb8edaebd2417044f60
+SIZE (rust/crates/hypher-0.1.6.crate) = 852784
+SHA256 (rust/crates/iana-time-zone-0.1.64.crate) = 33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb
+SIZE (rust/crates/iana-time-zone-0.1.64.crate) = 33152
+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_collections-2.1.1.crate) = 4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43
+SIZE (rust/crates/icu_collections-2.1.1.crate) = 87233
+SHA256 (rust/crates/icu_locale_core-2.1.1.crate) = edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6
+SIZE (rust/crates/icu_locale_core-2.1.1.crate) = 70876
+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-2.1.1.crate) = 5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599
+SIZE (rust/crates/icu_normalizer-2.1.1.crate) = 67132
+SHA256 (rust/crates/icu_normalizer_data-2.1.1.crate) = 7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a
+SIZE (rust/crates/icu_normalizer_data-2.1.1.crate) = 68649
+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-2.1.1.crate) = e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99
+SIZE (rust/crates/icu_properties-2.1.1.crate) = 59036
+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_properties_data-2.1.1.crate) = 02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899
+SIZE (rust/crates/icu_properties_data-2.1.1.crate) = 162431
+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-2.1.1.crate) = 85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614
+SIZE (rust/crates/icu_provider-2.1.1.crate) = 50907
+SHA256 (rust/crates/icu_provider_adapters-1.5.0.crate) = d6324dfd08348a8e0374a447ebd334044d766b1839bb8d5ccf2482a99a77c0bc
+SIZE (rust/crates/icu_provider_adapters-1.5.0.crate) = 16576
+SHA256 (rust/crates/icu_provider_blob-1.5.0.crate) = c24b98d1365f55d78186c205817631a4acf08d7a45bdf5dc9dcf9c5d54dccf51
+SIZE (rust/crates/icu_provider_blob-1.5.0.crate) = 14296
+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_segmenter-1.5.0.crate) = a717725612346ffc2d7b42c94b820db6908048f39434504cb130e8b46256b0de
+SIZE (rust/crates/icu_segmenter-1.5.0.crate) = 610798
+SHA256 (rust/crates/icu_segmenter_data-1.5.1.crate) = a1e52775179941363cc594e49ce99284d13d6948928d8e72c755f55e98caa1eb
+SIZE (rust/crates/icu_segmenter_data-1.5.1.crate) = 3385006
+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.9.crate) = e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a
+SIZE (rust/crates/image-0.25.9.crate) = 294591
+SHA256 (rust/crates/image-webp-0.2.4.crate) = 525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3
+SIZE (rust/crates/image-webp-0.2.4.crate) = 68478
+SHA256 (rust/crates/imagesize-0.13.0.crate) = edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285
+SIZE (rust/crates/imagesize-0.13.0.crate) = 17033
+SHA256 (rust/crates/imagesize-0.14.0.crate) = 09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c
+SIZE (rust/crates/imagesize-0.14.0.crate) = 22706
+SHA256 (rust/crates/indexmap-2.12.1.crate) = 0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2
+SIZE (rust/crates/indexmap-2.12.1.crate) = 100184
+SHA256 (rust/crates/indoc-2.0.7.crate) = 79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706
+SIZE (rust/crates/indoc-2.0.7.crate) = 17184
+SHA256 (rust/crates/infer-0.19.0.crate) = a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7
+SIZE (rust/crates/infer-0.19.0.crate) = 19091
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/js-sys-0.3.83.crate) = 464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8
+SIZE (rust/crates/js-sys-0.3.83.crate) = 56425
+SHA256 (rust/crates/kamadak-exif-0.6.1.crate) = 1130d80c7374efad55a117d715a3af9368f0fa7a2c54573afc15a188cd984837
+SIZE (rust/crates/kamadak-exif-0.6.1.crate) = 57852
+SHA256 (rust/crates/krilla-0.6.0.crate) = a0ddfec86fec13d068075e14f22a7e217c281f3ed69ddcb427bf3f5d504fd674
+SIZE (rust/crates/krilla-0.6.0.crate) = 176861
+SHA256 (rust/crates/krilla-svg-0.3.0.crate) = f485e1a850201a01dcd8d73e7cf09f2cd4c4cc85c2cd296359094d49336d8ef7
+SIZE (rust/crates/krilla-svg-0.3.0.crate) = 19060
+SHA256 (rust/crates/kurbo-0.11.3.crate) = c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62
+SIZE (rust/crates/kurbo-0.11.3.crate) = 137586
+SHA256 (rust/crates/kurbo-0.12.0.crate) = ce9729cc38c18d86123ab736fd2e7151763ba226ac2490ec092d1dd148825e32
+SIZE (rust/crates/kurbo-0.12.0.crate) = 153541
+SHA256 (rust/crates/libc-0.2.178.crate) = 37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091
+SIZE (rust/crates/libc-0.2.178.crate) = 783720
+SHA256 (rust/crates/libm-0.2.15.crate) = f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de
+SIZE (rust/crates/libm-0.2.15.crate) = 156108
+SHA256 (rust/crates/libredox-0.1.10.crate) = 416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb
+SIZE (rust/crates/libredox-0.1.10.crate) = 7332
+SHA256 (rust/crates/libz-rs-sys-0.5.3.crate) = 8b484ba8d4f775eeca644c452a56650e544bf7e617f1d170fe7298122ead5222
+SIZE (rust/crates/libz-rs-sys-0.5.3.crate) = 47421
+SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
+SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
+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/lipsum-0.9.1.crate) = 636860251af8963cc40f6b4baadee105f02e21b28131d76eba8e40ce84ab8064
+SIZE (rust/crates/lipsum-0.9.1.crate) = 34495
+SHA256 (rust/crates/litemap-0.7.5.crate) = 23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856
+SIZE (rust/crates/litemap-0.7.5.crate) = 29962
+SHA256 (rust/crates/litemap-0.8.1.crate) = 6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77
+SIZE (rust/crates/litemap-0.8.1.crate) = 34172
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.29.crate) = 5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897
+SIZE (rust/crates/log-0.4.29.crate) = 51515
+SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
+SIZE (rust/crates/memchr-2.7.6.crate) = 97616
+SHA256 (rust/crates/memmap2-0.9.9.crate) = 744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490
+SIZE (rust/crates/memmap2-0.9.9.crate) = 34576
+SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
+SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/moxcms-0.7.10.crate) = 80986bbbcf925ebd3be54c26613d861255284584501595cf418320c078945608
+SIZE (rust/crates/moxcms-0.7.10.crate) = 176635
+SHA256 (rust/crates/mutate_once-0.1.2.crate) = 13d2233c9842d08cfe13f9eac96e207ca6a2ea10b80259ebe8ad0268be27d2af
+SIZE (rust/crates/mutate_once-0.1.2.crate) = 4508
+SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
+SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/object-0.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441
+SIZE (rust/crates/object-0.32.2.crate) = 286994
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/openssl-0.10.75.crate) = 08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328
+SIZE (rust/crates/openssl-0.10.75.crate) = 288136
+SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c
+SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
+SHA256 (rust/crates/openssl-probe-0.1.6.crate) = d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e
+SIZE (rust/crates/openssl-probe-0.1.6.crate) = 8128
+SHA256 (rust/crates/openssl-src-300.5.4+3.5.4.crate) = a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72
+SIZE (rust/crates/openssl-src-300.5.4+3.5.4.crate) = 7102203
+SHA256 (rust/crates/openssl-sys-0.9.111.crate) = 82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321
+SIZE (rust/crates/openssl-sys-0.9.111.crate) = 80871
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/palette-0.7.6.crate) = 4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6
+SIZE (rust/crates/palette-0.7.6.crate) = 230913
+SHA256 (rust/crates/palette_derive-0.7.6.crate) = f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30
+SIZE (rust/crates/palette_derive-0.7.6.crate) = 17073
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
+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/pdf-writer-0.14.0.crate) = 92a79477295a713c2ed425aa82a8b5d20cec3fdee203706cbe6f3854880c1c81
+SIZE (rust/crates/pdf-writer-0.14.0.crate) = 1944789
+SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
+SHA256 (rust/crates/phf-0.13.1.crate) = c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf
+SIZE (rust/crates/phf-0.13.1.crate) = 24786
+SHA256 (rust/crates/phf_generator-0.13.1.crate) = 135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737
+SIZE (rust/crates/phf_generator-0.13.1.crate) = 15952
+SHA256 (rust/crates/phf_macros-0.13.1.crate) = 812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef
+SIZE (rust/crates/phf_macros-0.13.1.crate) = 21732
+SHA256 (rust/crates/phf_shared-0.13.1.crate) = e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266
+SIZE (rust/crates/phf_shared-0.13.1.crate) = 16141
+SHA256 (rust/crates/pico-args-0.5.0.crate) = 5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315
+SIZE (rust/crates/pico-args-0.5.0.crate) = 11545
+SHA256 (rust/crates/pixglyph-0.6.0.crate) = 3c1106193bc18a4b840eb075ff6664c8a0b0270f0531bb12a7e9c803e53b55c5
+SIZE (rust/crates/pixglyph-0.6.0.crate) = 23135
+SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
+SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
+SHA256 (rust/crates/plist-1.8.0.crate) = 740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07
+SIZE (rust/crates/plist-1.8.0.crate) = 54623
+SHA256 (rust/crates/png-0.17.16.crate) = 82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526
+SIZE (rust/crates/png-0.17.16.crate) = 117975
+SHA256 (rust/crates/png-0.18.0.crate) = 97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0
+SIZE (rust/crates/png-0.18.0.crate) = 118041
+SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483
+SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506
+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.4.crate) = b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77
+SIZE (rust/crates/potential_utf-0.1.4.crate) = 9514
+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
+SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
+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.103.crate) = 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
+SIZE (rust/crates/proc-macro2-1.0.103.crate) = 60024
+SHA256 (rust/crates/psm-0.1.28.crate) = d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01
+SIZE (rust/crates/psm-0.1.28.crate) = 24836
+SHA256 (rust/crates/pxfm-0.1.26.crate) = b3502d6155304a4173a5f2c34b52b7ed0dd085890326cb50fd625fdf39e86b3b
+SIZE (rust/crates/pxfm-0.1.26.crate) = 862711
+SHA256 (rust/crates/pyo3-0.27.2.crate) = ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d
+SIZE (rust/crates/pyo3-0.27.2.crate) = 1171342
+SHA256 (rust/crates/pyo3-build-config-0.27.2.crate) = b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6
+SIZE (rust/crates/pyo3-build-config-0.27.2.crate) = 35564
+SHA256 (rust/crates/pyo3-ffi-0.27.2.crate) = 1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089
+SIZE (rust/crates/pyo3-ffi-0.27.2.crate) = 78552
+SHA256 (rust/crates/pyo3-macros-0.27.2.crate) = 0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02
+SIZE (rust/crates/pyo3-macros-0.27.2.crate) = 8913
+SHA256 (rust/crates/pyo3-macros-backend-0.27.2.crate) = 03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9
+SIZE (rust/crates/pyo3-macros-backend-0.27.2.crate) = 82513
+SHA256 (rust/crates/python3-dll-a-0.2.14.crate) = d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8
+SIZE (rust/crates/python3-dll-a-0.2.14.crate) = 103489
+SHA256 (rust/crates/qcms-0.3.0.crate) = edecfcd5d755a5e5d98e24cf43113e7cdaec5a070edd0f6b250c03a573da30fa
+SIZE (rust/crates/qcms-0.3.0.crate) = 53550
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quick-xml-0.38.4.crate) = b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c
+SIZE (rust/crates/quick-xml-0.38.4.crate) = 205035
+SHA256 (rust/crates/quote-1.0.42.crate) = a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f
+SIZE (rust/crates/quote-1.0.42.crate) = 31504
+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_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/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/read-fonts-0.35.0.crate) = 6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358
+SIZE (rust/crates/read-fonts-0.35.0.crate) = 416793
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
+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.12.2.crate) = 843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4
+SIZE (rust/crates/regex-1.12.2.crate) = 163843
+SHA256 (rust/crates/regex-automata-0.4.13.crate) = 5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c
+SIZE (rust/crates/regex-automata-0.4.13.crate) = 625250
+SHA256 (rust/crates/regex-syntax-0.8.8.crate) = 7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58
+SIZE (rust/crates/regex-syntax-0.8.8.crate) = 359141
+SHA256 (rust/crates/resvg-0.45.1.crate) = a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43
+SIZE (rust/crates/resvg-0.45.1.crate) = 78002
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
+SHA256 (rust/crates/roman-numerals-rs-3.1.0.crate) = c85cd47a33a4510b1424fe796498e174c6a9cf94e606460ef022a19f3e4ff85e
+SIZE (rust/crates/roman-numerals-rs-3.1.0.crate) = 5308
+SHA256 (rust/crates/roxmltree-0.20.0.crate) = 6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97
+SIZE (rust/crates/roxmltree-0.20.0.crate) = 54594
+SHA256 (rust/crates/rust_decimal-1.39.0.crate) = 35affe401787a9bd846712274d97654355d21b2a2c092a3139aabe31e9022282
+SIZE (rust/crates/rust_decimal-1.39.0.crate) = 154142
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
+SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
+SIZE (rust/crates/rustix-1.1.2.crate) = 422717
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
+SHA256 (rust/crates/rustybuzz-0.20.1.crate) = fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702
+SIZE (rust/crates/rustybuzz-0.20.1.crate) = 272721
+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.28.crate) = 891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1
+SIZE (rust/crates/schannel-0.1.28.crate) = 42312
+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-sys-2.15.0.crate) = cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0
+SIZE (rust/crates/security-framework-sys-2.15.0.crate) = 20718
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c
+SIZE (rust/crates/serde_json-1.0.145.crate) = 155748
+SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3
+SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210
+SHA256 (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47
+SIZE (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 65290
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simplecss-0.2.2.crate) = 7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c
+SIZE (rust/crates/simplecss-0.2.2.crate) = 22136
+SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
+SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
+SHA256 (rust/crates/skrifa-0.37.0.crate) = 8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841
+SIZE (rust/crates/skrifa-0.37.0.crate) = 283031
+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/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596
+SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186
+SHA256 (rust/crates/stacker-0.1.22.crate) = e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59
+SIZE (rust/crates/stacker-0.1.22.crate) = 17269
+SHA256 (rust/crates/strict-num-0.1.1.crate) = 6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731
+SIZE (rust/crates/strict-num-0.1.1.crate) = 5104
+SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf
+SIZE (rust/crates/strum-0.27.2.crate) = 8489
+SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7
+SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
+SHA256 (rust/crates/subsetter-0.2.3.crate) = cb6895a12ac5599bb6057362f00e8a3cf1daab4df33f553a55690a44e4fed8d0
+SIZE (rust/crates/subsetter-0.2.3.crate) = 47016
+SHA256 (rust/crates/svgtypes-0.15.3.crate) = 68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc
+SIZE (rust/crates/svgtypes-0.15.3.crate) = 43696
+SHA256 (rust/crates/syn-2.0.111.crate) = 390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87
+SIZE (rust/crates/syn-2.0.111.crate) = 302117
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/syntect-5.3.0.crate) = 656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925
+SIZE (rust/crates/syntect-5.3.0.crate) = 833348
+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.3.crate) = df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c
+SIZE (rust/crates/target-lexicon-0.13.3.crate) = 28498
+SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16
+SIZE (rust/crates/tempfile-3.23.0.crate) = 43063
+SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
+SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/thin-vec-0.2.14.crate) = 144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d
+SIZE (rust/crates/thin-vec-0.2.14.crate) = 35087
+SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
+SIZE (rust/crates/thiserror-2.0.17.crate) = 28857
+SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
+SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
+SHA256 (rust/crates/time-0.3.44.crate) = 91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d
+SIZE (rust/crates/time-0.3.44.crate) = 143200
+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/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.2.crate) = 42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869
+SIZE (rust/crates/tinystr-0.8.2.crate) = 23942
+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/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362
+SIZE (rust/crates/toml-0.8.23.crate) = 36050
+SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c
+SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125
+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/ttf-parser-0.25.1.crate) = d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31
+SIZE (rust/crates/ttf-parser-0.25.1.crate) = 201121
+SHA256 (rust/crates/two-face-0.4.4.crate) = 3d112cfd41c1387546416bcf49c4ae2a1fcacda0d42c9e97120e9798c90c0923
+SIZE (rust/crates/two-face-0.4.4.crate) = 3454955
+SHA256 (rust/crates/typed-arena-2.0.2.crate) = 6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a
+SIZE (rust/crates/typed-arena-2.0.2.crate) = 11848
+SHA256 (rust/crates/typst-0.14.1.crate) = e6be5a48cf976b492e1c8a538f02ced94fc3b71eae85984eb24f22f3eb9d01e8
+SIZE (rust/crates/typst-0.14.1.crate) = 27567
+SHA256 (rust/crates/typst-assets-0.14.1.crate) = 98b250f6c1ddd0f435db2283c7eb36a9b72bee34d6397625bf7f817c64ad7c62
+SIZE (rust/crates/typst-assets-0.14.1.crate) = 6376952
+SHA256 (rust/crates/typst-eval-0.14.1.crate) = a9b70724d6eb428b7a07bc15ea1a148c950a37eda34d8f26930812e9f5abfa3c
+SIZE (rust/crates/typst-eval-0.14.1.crate) = 43170
+SHA256 (rust/crates/typst-html-0.14.1.crate) = 4985608c896e00fc4219403040662ca771a58be79cc3d2c105b61f33715f6be2
+SIZE (rust/crates/typst-html-0.14.1.crate) = 59485
+SHA256 (rust/crates/typst-kit-0.14.1.crate) = 2beb0686fd072c53b1fd7c37fa2d6639df6fdaa75f86765d39bbee6c78d8eece
+SIZE (rust/crates/typst-kit-0.14.1.crate) = 33286
+SHA256 (rust/crates/typst-layout-0.14.1.crate) = 02c528f8279f9557f28a37af07d26ed7cd293884a9ffa79f5d604bf4cded1a1f
+SIZE (rust/crates/typst-layout-0.14.1.crate) = 209308
+SHA256 (rust/crates/typst-library-0.14.1.crate) = 839303e0c6e49bc893fafc51ed761eab44b97aa38dce913242fafbd553b2557c
+SIZE (rust/crates/typst-library-0.14.1.crate) = 516051
+SHA256 (rust/crates/typst-macros-0.14.1.crate) = 405ca56a99f8dd89df041ca53f42c4f0fb9ff287e52b255f44e5a9100bbc3605
+SIZE (rust/crates/typst-macros-0.14.1.crate) = 25331
+SHA256 (rust/crates/typst-pdf-0.14.1.crate) = 60dfaf70750b95d0389a8448bb8105600dcf6ba24443e28557627b7b51c47db0
+SIZE (rust/crates/typst-pdf-0.14.1.crate) = 83058
+SHA256 (rust/crates/typst-realize-0.14.1.crate) = c31c5d5374f04f06a430355e6fc40b6539d641bad6d0da386c5492065e210c5b
+SIZE (rust/crates/typst-realize-0.14.1.crate) = 35893
+SHA256 (rust/crates/typst-render-0.14.1.crate) = 7315528cda4882c33baa39f6ea1abf993b5a36f883b98b46e5dc05c4e9ade9fa
+SIZE (rust/crates/typst-render-0.14.1.crate) = 32960
+SHA256 (rust/crates/typst-svg-0.14.1.crate) = 045a396e4543906fae4868c0c621a2a6322aa56d4023d207cdab30517e39787a
+SIZE (rust/crates/typst-svg-0.14.1.crate) = 37609
+SHA256 (rust/crates/typst-syntax-0.14.1.crate) = 19e223636668a2930e0a46b18e3786d4ae02f69ac5d9dda58e34ca431403d05c
+SIZE (rust/crates/typst-syntax-0.14.1.crate) = 77819
+SHA256 (rust/crates/typst-timing-0.14.1.crate) = 3347a043b8659b104f198abe825a6c419d0675da276489c310a5620aea799816
+SIZE (rust/crates/typst-timing-0.14.1.crate) = 11867
+SHA256 (rust/crates/typst-utils-0.14.1.crate) = 737d445f5c0cb75b382a6841953a9e22daadad2c264402b41ebf5388356369fd
+SIZE (rust/crates/typst-utils-0.14.1.crate) = 23764
+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/unic-langid-macros-0.9.6.crate) = d5957eb82e346d7add14182a3315a7e298f04e1ba4baac36f7f0dbfedba5fc25
+SIZE (rust/crates/unic-langid-macros-0.9.6.crate) = 6517
+SHA256 (rust/crates/unic-langid-macros-impl-0.9.6.crate) = a1249a628de3ad34b821ecb1001355bca3940bcb2f88558f1a8bd82e977f75b5
+SIZE (rust/crates/unic-langid-macros-impl-0.9.6.crate) = 7073
+SHA256 (rust/crates/unicode-bidi-0.3.18.crate) = 5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5
+SIZE (rust/crates/unicode-bidi-0.3.18.crate) = 58300
+SHA256 (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe
+SIZE (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 8169
+SHA256 (rust/crates/unicode-ccc-0.4.0.crate) = ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e
+SIZE (rust/crates/unicode-ccc-0.4.0.crate) = 8942
+SHA256 (rust/crates/unicode-ident-1.0.22.crate) = 9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5
+SIZE (rust/crates/unicode-ident-1.0.22.crate) = 47919
+SHA256 (rust/crates/unicode-math-class-0.1.0.crate) = 7d246cf599d5fae3c8d56e04b20eb519adb89a8af8d0b0fbcded369aa3647d65
+SIZE (rust/crates/unicode-math-class-0.1.0.crate) = 15441
+SHA256 (rust/crates/unicode-normalization-0.1.25.crate) = 5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8
+SIZE (rust/crates/unicode-normalization-0.1.25.crate) = 128462
+SHA256 (rust/crates/unicode-properties-0.1.4.crate) = 7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d
+SIZE (rust/crates/unicode-properties-0.1.4.crate) = 42752
+SHA256 (rust/crates/unicode-script-0.5.8.crate) = 383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee
+SIZE (rust/crates/unicode-script-0.5.8.crate) = 48253
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/unicode-vo-0.1.0.crate) = b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94
+SIZE (rust/crates/unicode-vo-0.1.0.crate) = 8084
+SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
+SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/unindent-0.2.4.crate) = 7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3
+SIZE (rust/crates/unindent-0.2.4.crate) = 7422
+SHA256 (rust/crates/unsafe-libyaml-0.2.11.crate) = 673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861
+SIZE (rust/crates/unsafe-libyaml-0.2.11.crate) = 62101
+SHA256 (rust/crates/unscanny-0.1.0.crate) = e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47
+SIZE (rust/crates/unscanny-0.1.0.crate) = 10338
+SHA256 (rust/crates/ureq-2.12.1.crate) = 02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d
+SIZE (rust/crates/ureq-2.12.1.crate) = 115366
+SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b
+SIZE (rust/crates/url-2.5.7.crate) = 87907
+SHA256 (rust/crates/usvg-0.45.1.crate) = 80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef
+SIZE (rust/crates/usvg-0.45.1.crate) = 136945
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+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/wasip2-1.0.1+wasi-0.2.4.crate) = 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7
+SIZE (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 132087
+SHA256 (rust/crates/wasm-bindgen-0.2.106.crate) = 0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd
+SIZE (rust/crates/wasm-bindgen-0.2.106.crate) = 48417
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.106.crate) = 48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3
+SIZE (rust/crates/wasm-bindgen-macro-0.2.106.crate) = 9266
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.106.crate) = cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.106.crate) = 49711
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.106.crate) = cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4
+SIZE (rust/crates/wasm-bindgen-shared-0.2.106.crate) = 10115
+SHA256 (rust/crates/wasmi-0.51.2.crate) = 118030b2d125bc893e0cc5b1ce156eb41461f4373308cb5f2e3c698533b5e547
+SIZE (rust/crates/wasmi-0.51.2.crate) = 244288
+SHA256 (rust/crates/wasmi_collections-0.51.2.crate) = 653fa20efc966818934524dceb54b1b81e6f845bbcc2e155d6e9fc32becf667e
+SIZE (rust/crates/wasmi_collections-0.51.2.crate) = 19338
+SHA256 (rust/crates/wasmi_core-0.51.2.crate) = 65701f60308c7e46cca85f273ad17e80c60998cc63d3fa168ac393f62b123038
+SIZE (rust/crates/wasmi_core-0.51.2.crate) = 50291
+SHA256 (rust/crates/wasmi_ir-0.51.2.crate) = a6539f63bf2a6838f27876e2877f0b00a088e84f91e92445620cc6b977fde032
+SIZE (rust/crates/wasmi_ir-0.51.2.crate) = 34476
+SHA256 (rust/crates/wasmparser-0.228.0.crate) = 4abf1132c1fdf747d56bbc1bb52152400c70f336870f968b85e89ea422198ae3
+SIZE (rust/crates/wasmparser-0.228.0.crate) = 249009
+SHA256 (rust/crates/weezl-0.1.12.crate) = a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88
+SIZE (rust/crates/weezl-0.1.12.crate) = 46045
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/windows-core-0.62.2.crate) = b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb
+SIZE (rust/crates/windows-core-0.62.2.crate) = 36932
+SHA256 (rust/crates/windows-implement-0.60.2.crate) = 053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf
+SIZE (rust/crates/windows-implement-0.60.2.crate) = 15325
+SHA256 (rust/crates/windows-interface-0.59.3.crate) = 3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358
+SIZE (rust/crates/windows-interface-0.59.3.crate) = 11809
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-result-0.4.1.crate) = 7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5
+SIZE (rust/crates/windows-result-0.4.1.crate) = 13381
+SHA256 (rust/crates/windows-strings-0.5.1.crate) = 7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091
+SIZE (rust/crates/windows-strings-0.5.1.crate) = 13966
+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.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
+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.5.crate) = 4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3
+SIZE (rust/crates/windows-targets-0.53.5.crate) = 7126
+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.1.crate) = a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = 787748
+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.1.crate) = b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006
+SIZE (rust/crates/windows_aarch64_msvc-0.53.1.crate) = 838009
+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.1.crate) = 960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3
+SIZE (rust/crates/windows_i686_gnu-0.53.1.crate) = 939775
+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.1.crate) = fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c
+SIZE (rust/crates/windows_i686_gnullvm-0.53.1.crate) = 857396
+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.1.crate) = 1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2
+SIZE (rust/crates/windows_i686_msvc-0.53.1.crate) = 907688
+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.1.crate) = 9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499
+SIZE (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 903712
+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.1.crate) = 0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 787739
+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.1.crate) = d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650
+SIZE (rust/crates/windows_x86_64_msvc-0.53.1.crate) = 837950
+SHA256 (rust/crates/winnow-0.7.14.crate) = 5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829
+SIZE (rust/crates/winnow-0.7.14.crate) = 184718
+SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
+SIZE (rust/crates/wit-bindgen-0.46.0.crate) = 60508
+SHA256 (rust/crates/write-fonts-0.43.0.crate) = 886614b5ce857341226aa091f3c285e450683894acaaa7887f366c361efef79d
+SIZE (rust/crates/write-fonts-0.43.0.crate) = 254330
+SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
+SIZE (rust/crates/writeable-0.5.5.crate) = 22354
+SHA256 (rust/crates/writeable-0.6.2.crate) = 9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9
+SIZE (rust/crates/writeable-0.6.2.crate) = 25181
+SHA256 (rust/crates/xattr-1.6.1.crate) = 32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156
+SIZE (rust/crates/xattr-1.6.1.crate) = 15952
+SHA256 (rust/crates/xmlparser-0.13.6.crate) = 66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4
+SIZE (rust/crates/xmlparser-0.13.6.crate) = 26718
+SHA256 (rust/crates/xmlwriter-0.1.0.crate) = ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9
+SIZE (rust/crates/xmlwriter-0.1.0.crate) = 6261
+SHA256 (rust/crates/xmp-writer-0.3.2.crate) = ce9e2f4a404d9ebffc0a9832cf4f50907220ba3d7fffa9099261a5cab52f2dd7
+SIZE (rust/crates/xmp-writer-0.3.2.crate) = 21529
+SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
+SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
+SHA256 (rust/crates/yoke-0.7.5.crate) = 120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40
+SIZE (rust/crates/yoke-0.7.5.crate) = 29673
+SHA256 (rust/crates/yoke-0.8.1.crate) = 72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954
+SIZE (rust/crates/yoke-0.8.1.crate) = 32016
+SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154
+SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
+SHA256 (rust/crates/yoke-derive-0.8.1.crate) = b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d
+SIZE (rust/crates/yoke-derive-0.8.1.crate) = 7593
+SHA256 (rust/crates/zerocopy-0.8.31.crate) = fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3
+SIZE (rust/crates/zerocopy-0.8.31.crate) = 257633
+SHA256 (rust/crates/zerocopy-derive-0.8.31.crate) = d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a
+SIZE (rust/crates/zerocopy-derive-0.8.31.crate) = 90835
+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/zerotrie-0.1.3.crate) = fb594dd55d87335c5f60177cee24f19457a5ec10a065e0a3014722ad252d0a1f
+SIZE (rust/crates/zerotrie-0.1.3.crate) = 74008
+SHA256 (rust/crates/zerotrie-0.2.3.crate) = 2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851
+SIZE (rust/crates/zerotrie-0.2.3.crate) = 69547
+SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079
+SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
+SHA256 (rust/crates/zerovec-0.11.5.crate) = 6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002
+SIZE (rust/crates/zerovec-0.11.5.crate) = 119620
+SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
+SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
+SHA256 (rust/crates/zerovec-derive-0.11.2.crate) = eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3
+SIZE (rust/crates/zerovec-derive-0.11.2.crate) = 21421
+SHA256 (rust/crates/zlib-rs-0.5.3.crate) = 36134c44663532e6519d7a6dfdbbe06f6f8192bde8ae9ed076e9b213f0e31df7
+SIZE (rust/crates/zlib-rs-0.5.3.crate) = 206418
+SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
+SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
+SHA256 (rust/crates/zune-core-0.5.0.crate) = 111f7d9820f05fd715df3144e254d6fc02ee4088b0644c0ffd0efc9e6d9d2773
+SIZE (rust/crates/zune-core-0.5.0.crate) = 27393
+SHA256 (rust/crates/zune-jpeg-0.4.21.crate) = 29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713
+SIZE (rust/crates/zune-jpeg-0.4.21.crate) = 68268
+SHA256 (rust/crates/zune-jpeg-0.5.5.crate) = dc6fb7703e32e9a07fb3f757360338b3a567a5054f21b5f52a666752e333d58e
+SIZE (rust/crates/zune-jpeg-0.5.5.crate) = 77168
+SHA256 (messense-typst-py-v0.14.4_GH0.tar.gz) = a3983d668d56483d473a10b8395695bea28f06444ac15f3eaae988488eef85d4
+SIZE (messense-typst-py-v0.14.4_GH0.tar.gz) = 55686
diff --git a/textproc/py-typst/files/patch-Cargo.lock b/textproc/py-typst/files/patch-Cargo.lock
new file mode 100644
index 000000000000..737c34cce5e4
--- /dev/null
+++ b/textproc/py-typst/files/patch-Cargo.lock
@@ -0,0 +1,26 @@
+--- Cargo.lock.orig 2025-12-19 20:10:04 UTC
++++ Cargo.lock
+@@ -1505,15 +1505,6 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00
+ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
+
+ [[package]]
+-name = "openssl-src"
+-version = "300.5.4+3.5.4"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72"
+-dependencies = [
+- "cc",
+-]
+-
+-[[package]]
+ name = "openssl-sys"
+ version = "0.9.111"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1521,7 +1512,6 @@ dependencies = [
+ dependencies = [
+ "cc",
+ "libc",
+- "openssl-src",
+ "pkg-config",
+ "vcpkg",
+ ]
diff --git a/textproc/py-typst/files/patch-Cargo.toml b/textproc/py-typst/files/patch-Cargo.toml
new file mode 100644
index 000000000000..96edc6b3f87d
--- /dev/null
+++ b/textproc/py-typst/files/patch-Cargo.toml
@@ -0,0 +1,12 @@
+--- Cargo.toml.orig 2025-12-19 20:11:31 UTC
++++ Cargo.toml
+@@ -27,8 +27,7 @@ typst-kit = { version = "0.14.1", features = [
+ typst = "0.14.1"
+ typst-kit = { version = "0.14.1", features = [
+ "downloads",
+- "embed-fonts",
+- "vendor-openssl",
++ "embed-fonts"
+ ] }
+ typst-pdf = "0.14.1"
+ typst-svg = "0.14.1"
diff --git a/textproc/py-typst/pkg-descr b/textproc/py-typst/pkg-descr
new file mode 100644
index 000000000000..5d3c3642d67c
--- /dev/null
+++ b/textproc/py-typst/pkg-descr
@@ -0,0 +1,2 @@
+Python binding to typst, a new markup-based typesetting system that
+is powerful and easy to learn.
diff --git a/www/forgejo-lts/Makefile b/www/forgejo-lts/Makefile
index 6e90cfe00845..3a218d6ed1c5 100644
--- a/www/forgejo-lts/Makefile
+++ b/www/forgejo-lts/Makefile
@@ -1,6 +1,7 @@
PORTNAME= forgejo
DISTVERSIONPREFIX= v
DISTVERSION= 11.0.8
+PORTREVISION= 1
CATEGORIES= www
MASTER_SITES= https://codeberg.org/forgejo/forgejo/releases/download/${DISTVERSIONFULL}/
PKGNAMESUFFIX= -lts
@@ -10,7 +11,7 @@ MAINTAINER= des@FreeBSD.org
COMMENT= Compact self-hosted Git forge
WWW= https://forgejo.org/
-LICENSE= MIT
+LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= git:devel/git
diff --git a/www/forgejo/Makefile b/www/forgejo/Makefile
index 03c8b5a8861c..0f70a63e6007 100644
--- a/www/forgejo/Makefile
+++ b/www/forgejo/Makefile
@@ -1,6 +1,7 @@
PORTNAME= forgejo
DISTVERSIONPREFIX= v
DISTVERSION= 13.0.3
+PORTREVISION= 1
CATEGORIES= www
MASTER_SITES= https://codeberg.org/forgejo/forgejo/releases/download/${DISTVERSIONFULL}/
DISTNAME= forgejo-src-${DISTVERSION}
@@ -9,7 +10,7 @@ MAINTAINER= des@FreeBSD.org
COMMENT= Compact self-hosted Git forge
WWW= https://forgejo.org/
-LICENSE= MIT
+LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= git:devel/git
diff --git a/www/gallery-dl/Makefile b/www/gallery-dl/Makefile
index 136b1997104d..d51acefe7c87 100644
--- a/www/gallery-dl/Makefile
+++ b/www/gallery-dl/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gallery-dl
-DISTVERSION= 1.31.0
+DISTVERSION= 1.31.1
CATEGORIES= www
MASTER_SITES= PYPI \
https://github.com/mikf/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/www/gallery-dl/distinfo b/www/gallery-dl/distinfo
index 3f7915ed1078..536199a661d3 100644
--- a/www/gallery-dl/distinfo
+++ b/www/gallery-dl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743510441
-SHA256 (gallery_dl-1.31.0.tar.gz) = 7326b75f1c0b0def9fe19e4abb41f2816551fa85da48bfdd19bf51dacc6e0251
-SIZE (gallery_dl-1.31.0.tar.gz) = 631169
+TIMESTAMP = 1766224201
+SHA256 (gallery_dl-1.31.1.tar.gz) = 5255279a06dcb7e6d0594f80cf693f7f8f07ae94deb8a797358c372a900959d4
+SIZE (gallery_dl-1.31.1.tar.gz) = 633786
diff --git a/www/gohugo/Makefile b/www/gohugo/Makefile
index 4d84b8508b54..ff4a76a2806f 100644
--- a/www/gohugo/Makefile
+++ b/www/gohugo/Makefile
@@ -1,7 +1,6 @@
PORTNAME= hugo
DISTVERSIONPREFIX= v
-DISTVERSION= 0.152.2
-PORTREVISION= 2
+DISTVERSION= 0.153.1
PORTEPOCH= 1
CATEGORIES= www
PKGNAMEPREFIX= go
diff --git a/www/gohugo/distinfo b/www/gohugo/distinfo
index a2485e8ef8c1..17eaf0d053ab 100644
--- a/www/gohugo/distinfo
+++ b/www/gohugo/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1761321118
-SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9fd5c3cb063cae52d4453818b583cedd7c38539a89c826e19603ebd82f28b9a3
-SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9321
-SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5e540330b50c9936664c346da038023e37c0060f92d973a1f42e43c30d807322
-SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5778064
+TIMESTAMP = 1766246231
+SHA256 (go/www_gohugo/hugo-v0.153.1/v0.153.1.mod) = 98394a8bb29b6f7eb3c6c8f2a8a137dcd26dfeb913f40cceb9fb0f731624701c
+SIZE (go/www_gohugo/hugo-v0.153.1/v0.153.1.mod) = 9373
+SHA256 (go/www_gohugo/hugo-v0.153.1/v0.153.1.zip) = c9d231b18033de5d1cae4955c69bf5e50c2a24e8305c51adbd48b8b7f6996a53
+SIZE (go/www_gohugo/hugo-v0.153.1/v0.153.1.zip) = 6850749
diff --git a/www/hiawatha-monitor/Makefile b/www/hiawatha-monitor/Makefile
index 6614d0fbd899..f9d32fafa3b5 100644
--- a/www/hiawatha-monitor/Makefile
+++ b/www/hiawatha-monitor/Makefile
@@ -5,7 +5,7 @@ MASTER_SITES= https://hiawatha.leisink.net/files/
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
DISTNAME= monitor-${DISTVERSION}
-MAINTAINER= cpetrik@proton.me
+MAINTAINER= pkaipila@gmail.com
COMMENT= Monitoring tool for the Hiawatha web server
WWW= https://hiawatha.leisink.net/monitor
diff --git a/www/hiawatha/Makefile b/www/hiawatha/Makefile
index d3839b186483..b62e498760e7 100644
--- a/www/hiawatha/Makefile
+++ b/www/hiawatha/Makefile
@@ -3,7 +3,7 @@ DISTVERSION= 11.8
CATEGORIES= www
MASTER_SITES= https://hiawatha.leisink.net/files/
-MAINTAINER= cpetrik@proton.me
+MAINTAINER= pkaipila@gmail.com
COMMENT= Advanced and secure web server for Unix
WWW= https://hiawatha.leisink.net/
diff --git a/www/oauth2-proxy/Makefile b/www/oauth2-proxy/Makefile
index 6048d54429e7..7adba9273e5c 100644
--- a/www/oauth2-proxy/Makefile
+++ b/www/oauth2-proxy/Makefile
@@ -1,114 +1,21 @@
PORTNAME= oauth2-proxy
-PORTVERSION= 7.8.0
+PORTVERSION= 7.13.0
DISTVERSIONPREFIX= v
-PORTREVISION= 2
CATEGORIES= www
-MAINTAINER= freebsd@rheinwolf.de
+MAINTAINER= dtxdf@FreeBSD.org
COMMENT= OAuth 2.0 proxy server
WWW= https://github.com/oauth2-proxy/oauth2-proxy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:modules,1.22
-
+USES= go:modules,1.25+
USE_GITHUB= yes
-GH_TUPLE= \
- Bose:minisentinel:917c5a9223bb:bose_minisentinel/vendor/github.com/Bose/minisentinel \
- a8m:envsubst:v1.4.2:a8m_envsubst/vendor/github.com/a8m/envsubst \
- alicebob:gopher-json:906a9b012302:alicebob_gopher_json/vendor/github.com/alicebob/gopher-json \
- alicebob:miniredis:v2.33.0:alicebob_miniredis_v2/vendor/github.com/alicebob/miniredis/v2 \
- benbjohnson:clock:v1.3.5:benbjohnson_clock/vendor/github.com/benbjohnson/clock \
- beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \
- bitly:go-simplejson:v0.5.1:bitly_go_simplejson/vendor/github.com/bitly/go-simplejson \
- bmizerany:assert:b7ed37b82869:bmizerany_assert/vendor/github.com/bmizerany/assert \
- bsm:redislock:v0.9.4:bsm_redislock/vendor/github.com/bsm/redislock \
- census-instrumentation:opencensus-go:v0.24.0:census_instrumentation_opencensus_go/vendor/go.opencensus.io \
- cespare:xxhash:v2.3.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
- coreos:go-oidc:v3.11.0:coreos_go_oidc_v3/vendor/github.com/coreos/go-oidc/v3 \
- coreos:go-systemd:d3cd4ed1dbcf:coreos_go_systemd/vendor/github.com/coreos/go-systemd \
- davecgh:go-spew:d8f796af33cc:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
- dgryski:go-rendezvous:9f7001d12a5f:dgryski_go_rendezvous/vendor/github.com/dgryski/go-rendezvous \
- felixge:httpsnoop:v1.0.4:felixge_httpsnoop/vendor/github.com/felixge/httpsnoop \
- fsnotify:fsnotify:v1.8.0:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
- ghodss:yaml:d8423dcdf344:ghodss_yaml/vendor/github.com/ghodss/yaml \
- go-ini:ini:v1.67.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
- go-jose:go-jose:v3.0.3:go_jose_go_jose_v3/vendor/github.com/go-jose/go-jose/v3 \
- go-jose:go-jose:v4.0.4:go_jose_go_jose_v4/vendor/github.com/go-jose/go-jose/v4 \
- go-logr:logr:v1.4.2:go_logr_logr/vendor/github.com/go-logr/logr \
- go-logr:stdr:v1.2.2:go_logr_stdr/vendor/github.com/go-logr/stdr \
- go-task:slim-sprig:v3.0.0:go_task_slim_sprig_v3/vendor/github.com/go-task/slim-sprig/v3 \
- go-yaml:yaml:v2.4.0:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
- go-yaml:yaml:v3.0.1:go_yaml_yaml_1/vendor/gopkg.in/yaml.v3 \
- golang-jwt:jwt:v5.2.1:golang_jwt_jwt_v5/vendor/github.com/golang-jwt/jwt/v5 \
- golang:crypto:v0.31.0:golang_crypto/vendor/golang.org/x/crypto \
- golang:exp:2d47ceb2692f:golang_exp/vendor/golang.org/x/exp \
- golang:groupcache:41bb18bfe9da:golang_groupcache/vendor/github.com/golang/groupcache \
- golang:net:v0.33.0:golang_net/vendor/golang.org/x/net \
- golang:oauth2:v0.24.0:golang_oauth2/vendor/golang.org/x/oauth2 \
- golang:sync:v0.10.0:golang_sync/vendor/golang.org/x/sync \
- golang:sys:v0.28.0:golang_sys/vendor/golang.org/x/sys \
- golang:text:v0.21.0:golang_text/vendor/golang.org/x/text \
- golang:tools:v0.27.0:golang_tools/vendor/golang.org/x/tools \
- google:go-cmp:v0.6.0:google_go_cmp/vendor/github.com/google/go-cmp \
- google:go-genproto:324edc3d5d38:google_go_genproto/vendor/google.golang.org/genproto \
- google:pprof:d1b30febd7db:google_pprof/vendor/github.com/google/pprof \
- google:s2a-go:v0.1.8:google_s2a_go/vendor/github.com/google/s2a-go \
- google:uuid:v1.6.0:google_uuid/vendor/github.com/google/uuid \
- googleapis:enterprise-certificate-proxy:v0.3.4:googleapis_enterprise_certificate_proxy/vendor/github.com/googleapis/enterprise-certificate-proxy \
- googleapis:gax-go:v2.13.0:googleapis_gax_go_v2/vendor/github.com/googleapis/gax-go \
- googleapis:google-api-go-client:v0.205.0:googleapis_google_api_go_client/vendor/google.golang.org/api \
- googleapis:google-cloud-go:auth/v0.10.1:googleapis_google_cloud_go_auth/vendor/cloud.google.com/go \
- googleapis:google-cloud-go:auth/oauth2adapt/v0.2.5:googleapis_google_cloud_go/vendor/cloud.google.com/go/auth/oauth2adapt \
- googleapis:google-cloud-go:compute/metadata/v0.5.2:googleapis_google_cloud_go_1/vendor/cloud.google.com/go/compute/metadata \
- gorilla:mux:v1.8.1:gorilla_mux/vendor/github.com/gorilla/mux \
- grpc:grpc-go:v1.67.1:grpc_grpc_go/vendor/google.golang.org/grpc \
- hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
- justinas:alice:v1.2.0:justinas_alice/vendor/github.com/justinas/alice \
- klauspost:compress:v1.17.10:klauspost_compress/vendor/github.com/klauspost/compress \
- kubernetes:apimachinery:v0.31.2:kubernetes_apimachinery/vendor/k8s.io/apimachinery \
- kubernetes:gengo:a0386bf69313:kubernetes_gengo/vendor/k8s.io/gengo \
- kubernetes:klog:v2.130.1:kubernetes_klog/vendor/k8s.io/klog/v2 \
- kylelemons:godebug:v1.1.0:kylelemons_godebug/vendor/github.com/kylelemons/godebug \
- magiconair:properties:v1.8.7:magiconair_properties/vendor/github.com/magiconair/properties \
- mbland:hmacauth:44256dfd4bfa:mbland_hmacauth/vendor/github.com/mbland/hmacauth \
- mitchellh:mapstructure:v1.5.0:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
- munnerz:goautoneg:a7dc8b61c822:munnerz_goautoneg/vendor/github.com/munnerz/goautoneg \
- natefinch:lumberjack:v2.2.1:natefinch_lumberjack/vendor/gopkg.in/natefinch/lumberjack.v2 \
- nxadm:tail:v1.4.11:nxadm_tail/vendor/github.com/nxadm/tail \
- oauth2-proxy:mockoidc:caebfff84d25:oauth2_proxy_mockoidc/vendor/github.com/oauth2-proxy/mockoidc \
- oauth2-proxy:tools:d3b50d1a591a:oauth2_proxy_tools_reference_gen/vendor/github.com/oauth2-proxy/tools \
- onsi:ginkgo:v1.16.5:onsi_ginkgo/vendor/github.com/onsi/ginkgo \
- onsi:ginkgo:v2.21.0:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
- onsi:gomega:v1.35.1:onsi_gomega/vendor/github.com/onsi/gomega \
- open-telemetry:opentelemetry-go-contrib:v1.30.0:open_telemetry_opentelemetry_go_contrib/vendor/go.opentelemetry.io/contrib \
- open-telemetry:opentelemetry-go:v1.30.0:open_telemetry_opentelemetry_go/vendor/go.opentelemetry.io/otel \
- pelletier:go-toml:v2.2.3:pelletier_go_toml_v2/vendor/github.com/pelletier/go-toml/v2 \
- pierrec:lz4:v4.1.21:pierrec_lz4_v4/vendor/github.com/pierrec/lz4/v4 \
- pmezard:go-difflib:5d4384ee4fb2:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
- prometheus:client_golang:v1.20.5:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
- prometheus:client_model:v0.6.1:prometheus_client_model/vendor/github.com/prometheus/client_model \
- prometheus:common:v0.59.1:prometheus_common/vendor/github.com/prometheus/common \
- prometheus:procfs:v0.15.1:prometheus_procfs/vendor/github.com/prometheus/procfs \
- protocolbuffers:protobuf-go:v1.35.1:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
- redis:go-redis:v9.7.0:redis_go_redis_v9/vendor/github.com/redis/go-redis/v9 \
- sagikazarmark:locafero:v0.6.0:sagikazarmark_locafero/vendor/github.com/sagikazarmark/locafero \
- sagikazarmark:slog-shim:v0.1.0:sagikazarmark_slog_shim/vendor/github.com/sagikazarmark/slog-shim \
- sourcegraph:conc:v0.3.0:sourcegraph_conc/vendor/github.com/sourcegraph/conc \
- spf13:afero:v1.11.0:spf13_afero/vendor/github.com/spf13/afero \
- spf13:cast:v1.7.0:spf13_cast/vendor/github.com/spf13/cast \
- spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \
- spf13:viper:v1.19.0:spf13_viper/vendor/github.com/spf13/viper \
- stretchr:testify:v1.9.0:stretchr_testify/vendor/github.com/stretchr/testify \
- subosito:gotenv:v1.6.0:subosito_gotenv/vendor/github.com/subosito/gotenv \
- uber-go:multierr:v1.11.0:uber_go_multierr/vendor/go.uber.org/multierr \
- vmihailenco:msgpack:v5.4.1:vmihailenco_msgpack_v5/vendor/github.com/vmihailenco/msgpack/v5 \
- vmihailenco:tagparser:v2.0.0:vmihailenco_tagparser_v2/vendor/github.com/vmihailenco/tagparser/v2 \
- yuin:gopher-lua:v1.1.1:yuin_gopher_lua/vendor/github.com/yuin/gopher-lua
-
USE_RC_SUBR= oauth2_proxy
+GO_MOD_DIST= github
+GO_MODULE= github.com/${PORTNAME}/${PORTNAME}
GO_BUILDFLAGS= -v -ldflags="-s -X github.com/${PORTNAME}/${PORTNAME}/v7/pkg/version.VERSION=${PORTVERSION}"
USER= www
diff --git a/www/oauth2-proxy/distinfo b/www/oauth2-proxy/distinfo
index 4e5360e2888f..d473d517a4c4 100644
--- a/www/oauth2-proxy/distinfo
+++ b/www/oauth2-proxy/distinfo
@@ -1,185 +1,5 @@
-TIMESTAMP = 1736858583
-SHA256 (oauth2-proxy-oauth2-proxy-v7.8.0_GH0.tar.gz) = 022ab4e949cd541f9709d6cbca7f4fce6fa8123404bc9a2f8f73892a8609d734
-SIZE (oauth2-proxy-oauth2-proxy-v7.8.0_GH0.tar.gz) = 1408013
-SHA256 (Bose-minisentinel-917c5a9223bb_GH0.tar.gz) = c765c12a0ed631ae864f74ee606279a0962f3a87c4274cea6e8d922b0ad8a98e
-SIZE (Bose-minisentinel-917c5a9223bb_GH0.tar.gz) = 8352
-SHA256 (a8m-envsubst-v1.4.2_GH0.tar.gz) = 3692eb658657ffdec5725ae2accd96a05ac6097d770a7bdfd622410983962387
-SIZE (a8m-envsubst-v1.4.2_GH0.tar.gz) = 12316
-SHA256 (alicebob-gopher-json-906a9b012302_GH0.tar.gz) = 5899fe9fd1e1401062ef8330e63be498cfbfeabe2efb4394610c1062b1a73e1d
-SIZE (alicebob-gopher-json-906a9b012302_GH0.tar.gz) = 3634
-SHA256 (alicebob-miniredis-v2.33.0_GH0.tar.gz) = 0d0f1be7d1708ce2b814f11dc17e192efdd330404a47ae216613f69a89673e76
-SIZE (alicebob-miniredis-v2.33.0_GH0.tar.gz) = 187511
-SHA256 (benbjohnson-clock-v1.3.5_GH0.tar.gz) = d26928c5301d8f7feedebeda0506599fa8c9aeb0b724de619b9d468df441a33c
-SIZE (benbjohnson-clock-v1.3.5_GH0.tar.gz) = 9183
-SHA256 (beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7ee7a1a7ace28cb648d818f8e779e6a19f825
-SIZE (beorn7-perks-v1.0.1_GH0.tar.gz) = 10867
-SHA256 (bitly-go-simplejson-v0.5.1_GH0.tar.gz) = ef4c1cc5aa25a5d681b7cc22c6eac7d60efd705a1ac4da60e5d8fd7ab942db48
-SIZE (bitly-go-simplejson-v0.5.1_GH0.tar.gz) = 6177
-SHA256 (bmizerany-assert-b7ed37b82869_GH0.tar.gz) = f7dc11f10c5e52a94c836e15e7aff05ad4afba7436f66e5f4506806627c4635e
-SIZE (bmizerany-assert-b7ed37b82869_GH0.tar.gz) = 1469
-SHA256 (bsm-redislock-v0.9.4_GH0.tar.gz) = b77a6f71c12dc6d3aa3ad17aa634b01542aae352da2e2ae6c24a9b9ba85f3f92
-SIZE (bsm-redislock-v0.9.4_GH0.tar.gz) = 7326
-SHA256 (census-instrumentation-opencensus-go-v0.24.0_GH0.tar.gz) = 048708914541817193330ce052026deb0c617c9d953ac15ae601ab2bde5788d1
-SIZE (census-instrumentation-opencensus-go-v0.24.0_GH0.tar.gz) = 176752
-SHA256 (cespare-xxhash-v2.3.0_GH0.tar.gz) = 0e3dda07b03a5f3733506218860ecb2d50c0f01f16299b5d60902ef5158cbde5
-SIZE (cespare-xxhash-v2.3.0_GH0.tar.gz) = 12696
-SHA256 (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 2d1bdf5f218d60a1b16cdaeff5c6ae85a620227e9bdc57a00217a26e70256455
-SIZE (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 31542
-SHA256 (coreos-go-systemd-d3cd4ed1dbcf_GH0.tar.gz) = 89fc7afa3593ee4d6f91087fa47d02ade4103882f0a33225faec7b922ce5ebc4
-SIZE (coreos-go-systemd-d3cd4ed1dbcf_GH0.tar.gz) = 67792
-SHA256 (davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 21505c2cb5cb4e2b8ae3007f3f6db6edb9f1c28511f98975b6b0dedf0e3fa24e
-SIZE (davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 42183
-SHA256 (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 29584550745fd4b8fce2e2f3def7b9d9ffe2b86cf9b6596b53a660c9bbfe27b6
-SIZE (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 1699
-SHA256 (felixge-httpsnoop-v1.0.4_GH0.tar.gz) = ffb63ba081e4c2360342dea2079d08b8560c315b2f458885fd34639786a1aa3d
-SIZE (felixge-httpsnoop-v1.0.4_GH0.tar.gz) = 11954
-SHA256 (fsnotify-fsnotify-v1.8.0_GH0.tar.gz) = 3c4cbec6225307397717f18bb87ffc496e59d0f802a41fff572bf09e5dbf6e2b
-SIZE (fsnotify-fsnotify-v1.8.0_GH0.tar.gz) = 72325
-SHA256 (ghodss-yaml-d8423dcdf344_GH0.tar.gz) = 1595e11cd70d828f1fab36d2d6569df0f852f464d812f903692f9cabc03974fc
-SIZE (ghodss-yaml-d8423dcdf344_GH0.tar.gz) = 14394
-SHA256 (go-ini-ini-v1.67.0_GH0.tar.gz) = 06ba51234140118d1b6064f1817aa89cc971c6e7ce04cb9d286e6660d89296c8
-SIZE (go-ini-ini-v1.67.0_GH0.tar.gz) = 53531
-SHA256 (go-jose-go-jose-v3.0.3_GH0.tar.gz) = 219d024b85ea217ac466c4ced46e2071d6ea52269d399b610723b7c905c0f8a5
-SIZE (go-jose-go-jose-v3.0.3_GH0.tar.gz) = 320882
-SHA256 (go-jose-go-jose-v4.0.4_GH0.tar.gz) = d7bbccbad3d94d0ba54daea2bf590c9262c390863a911eca7d7063dd0336734d
-SIZE (go-jose-go-jose-v4.0.4_GH0.tar.gz) = 319335
-SHA256 (go-logr-logr-v1.4.2_GH0.tar.gz) = d06d6b9c3aa0cc42ba65ebcecd789addd149c859ca33a8878308f89590bf9fbd
-SIZE (go-logr-logr-v1.4.2_GH0.tar.gz) = 57464
-SHA256 (go-logr-stdr-v1.2.2_GH0.tar.gz) = 37d975b280d884ca0d55a800bc6e47314b6e86268e56254f9d15d19ca9404eb8
-SIZE (go-logr-stdr-v1.2.2_GH0.tar.gz) = 9098
-SHA256 (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 673b1acc819c60899e78b00f20da2b8270a0e370c01d3def9cda0a86167881fb
-SIZE (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 40249
-SHA256 (go-yaml-yaml-v2.4.0_GH0.tar.gz) = d8e94679e5fff6bd1a35e10241543929a5f3da44f701755babf99b3daf0faac0
-SIZE (go-yaml-yaml-v2.4.0_GH0.tar.gz) = 73209
-SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
-SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
-SHA256 (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 76d1c81a7cd38ed03309f770f60ac3417f16c75b4c53a0c01bb783863783fef0
-SIZE (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 61340
-SHA256 (golang-crypto-v0.31.0_GH0.tar.gz) = 36e325f89d4cd03ec568d92c74d6affd2b1fb88fcdc63aeb15d1df41e11200ca
-SIZE (golang-crypto-v0.31.0_GH0.tar.gz) = 1837859
-SHA256 (golang-exp-2d47ceb2692f_GH0.tar.gz) = 3ed4f8b00a52b74a82e544a66175dba5394c287ed9d70453085479795f1e0167
-SIZE (golang-exp-2d47ceb2692f_GH0.tar.gz) = 1750245
-SHA256 (golang-groupcache-41bb18bfe9da_GH0.tar.gz) = 1e89795970d6593affdafe1d09dcf947681ca1ea82528e8e4fb9974a77f2e394
-SIZE (golang-groupcache-41bb18bfe9da_GH0.tar.gz) = 26101
-SHA256 (golang-net-v0.33.0_GH0.tar.gz) = 675e0ceaf54baf4f6e2a5152fe148906119c97e7b1d37d1c44ec2621faeab0e8
-SIZE (golang-net-v0.33.0_GH0.tar.gz) = 1466426
-SHA256 (golang-oauth2-v0.24.0_GH0.tar.gz) = b14b6ae831727f39534bd617dbb53cd139074dbadcf58eafe8566145ed0231f0
-SIZE (golang-oauth2-v0.24.0_GH0.tar.gz) = 98494
-SHA256 (golang-sync-v0.10.0_GH0.tar.gz) = 2a7b7c36a89b444213ec3237a21dd1ca6ed351adf423666cc6bf853711a13f3d
-SIZE (golang-sync-v0.10.0_GH0.tar.gz) = 18099
-SHA256 (golang-sys-v0.28.0_GH0.tar.gz) = 62726b1ccbb09c7e8de2215756a26012751bdded12b5bacc6de83296db694ebf
-SIZE (golang-sys-v0.28.0_GH0.tar.gz) = 1519898
-SHA256 (golang-text-v0.21.0_GH0.tar.gz) = d64dbf40a8ae06c4805895e48553ecdadaed07089d8ed2168a0d61551d17ff22
-SIZE (golang-text-v0.21.0_GH0.tar.gz) = 8964782
-SHA256 (golang-tools-v0.27.0_GH0.tar.gz) = 7e187e6ab17b0b9df1870ce52e27e335bcaf3d5e1e3a7df1d0e047816ccf6d82
-SIZE (golang-tools-v0.27.0_GH0.tar.gz) = 7084838
-SHA256 (google-go-cmp-v0.6.0_GH0.tar.gz) = d14f7d57b0f6d25771bee3d7d5d038f532539e71bfc934772b1c0467ab90fa86
-SIZE (google-go-cmp-v0.6.0_GH0.tar.gz) = 104784
-SHA256 (google-go-genproto-324edc3d5d38_GH0.tar.gz) = 573361f8e0118efd9d0ea127270402de7a891cdc4ef36f748473cf004e92c96d
-SIZE (google-go-genproto-324edc3d5d38_GH0.tar.gz) = 5879419
-SHA256 (google-pprof-d1b30febd7db_GH0.tar.gz) = fc3a4f103342ea85bec2d14dc769e82ab223ab4cc6ef45bf33a471f5039fe4b1
-SIZE (google-pprof-d1b30febd7db_GH0.tar.gz) = 4757636
-SHA256 (google-s2a-go-v0.1.8_GH0.tar.gz) = f242c36165429f4ffbd73e49dd18a6b1f39fa040ad8cdfdf9a60080ad84e8960
-SIZE (google-s2a-go-v0.1.8_GH0.tar.gz) = 275964
-SHA256 (google-uuid-v1.6.0_GH0.tar.gz) = ee63376b5675376c60e055ed66e5f3651ccc703bd580c022b8ad00cea309252d
-SIZE (google-uuid-v1.6.0_GH0.tar.gz) = 20896
-SHA256 (googleapis-enterprise-certificate-proxy-v0.3.4_GH0.tar.gz) = 3bb00eaeb1ec49b8a39bf134d0f23b161f655b50ce15ccd78ff51e6149152bce
-SIZE (googleapis-enterprise-certificate-proxy-v0.3.4_GH0.tar.gz) = 39560
-SHA256 (googleapis-gax-go-v2.13.0_GH0.tar.gz) = b27ac1a2d9b458bdf0857ff2be66c3e5aec8034316d5dbba5ff624095bd97614
-SIZE (googleapis-gax-go-v2.13.0_GH0.tar.gz) = 63684
-SHA256 (googleapis-google-api-go-client-v0.205.0_GH0.tar.gz) = 2e1db8d544786938c8af79217e7e6af0d9ffac06a3cfe84f07e4f8d222dc3695
-SIZE (googleapis-google-api-go-client-v0.205.0_GH0.tar.gz) = 35903881
-SHA256 (googleapis-google-cloud-go-auth-v0.10.1_GH0.tar.gz) = f43aca25626277fa67cc658b18b9b9178a28c6311451e34e93dd43031db7613d
-SIZE (googleapis-google-cloud-go-auth-v0.10.1_GH0.tar.gz) = 31313887
-SHA256 (googleapis-google-cloud-go-auth-oauth2adapt-v0.2.5_GH0.tar.gz) = ca8ee7c1fbd4d2d5d05d821beeafe24e8d10bc12bb8411adbf6a275d716e2fba
-SIZE (googleapis-google-cloud-go-auth-oauth2adapt-v0.2.5_GH0.tar.gz) = 31273589
-SHA256 (googleapis-google-cloud-go-compute-metadata-v0.5.2_GH0.tar.gz) = 4db3b2bc0e383d3282aaab93e207117a97bfd5d35ae1ca2f6fc105319245f7af
-SIZE (googleapis-google-cloud-go-compute-metadata-v0.5.2_GH0.tar.gz) = 30572898
-SHA256 (gorilla-mux-v1.8.1_GH0.tar.gz) = c2a09e78d1886abb2d291b472eba3ac9185acb35234c1f5616669664ba893d6d
-SIZE (gorilla-mux-v1.8.1_GH0.tar.gz) = 47033
-SHA256 (grpc-grpc-go-v1.67.1_GH0.tar.gz) = b2a3efc5e4d48ee7b3e9c2f5b9659571f4c2b9045b0b567be7887ad7bef87ef8
-SIZE (grpc-grpc-go-v1.67.1_GH0.tar.gz) = 2206223
-SHA256 (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
-SIZE (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658
-SHA256 (justinas-alice-v1.2.0_GH0.tar.gz) = 12171459da7096e0d34a0972387e15978ad7b0e73c83ce04ba2f89c44a22336b
-SIZE (justinas-alice-v1.2.0_GH0.tar.gz) = 4568
-SHA256 (klauspost-compress-v1.17.10_GH0.tar.gz) = e6968d229011a9323aab4d09b717db26ebebfaeff04ef15a93f7334d6bac5ac5
-SIZE (klauspost-compress-v1.17.10_GH0.tar.gz) = 38748986
-SHA256 (kubernetes-apimachinery-v0.31.2_GH0.tar.gz) = ca048e6eb19d99bd5da77a6345dc7ddf80d1922deff8d457998ed7d7b4e61112
-SIZE (kubernetes-apimachinery-v0.31.2_GH0.tar.gz) = 736809
-SHA256 (kubernetes-gengo-a0386bf69313_GH0.tar.gz) = 38722818db9004d83437724473dca40166974a7c4059565c39325e88f584bcd6
-SIZE (kubernetes-gengo-a0386bf69313_GH0.tar.gz) = 150799
-SHA256 (kubernetes-klog-v2.130.1_GH0.tar.gz) = 22abd8126261ef47d92e3faa4100b7a309eb9be6c2a709b4268d81b85cc48768
-SIZE (kubernetes-klog-v2.130.1_GH0.tar.gz) = 106990
-SHA256 (kylelemons-godebug-v1.1.0_GH0.tar.gz) = 72cc6f274fbd165b7674280f836a6b400e80dbae055919e101920dedf50e79db
-SIZE (kylelemons-godebug-v1.1.0_GH0.tar.gz) = 17637
-SHA256 (magiconair-properties-v1.8.7_GH0.tar.gz) = 09e950df1970975400edc7f6c2f9e3edace4e1ea49f823006387d130fb0f4f03
-SIZE (magiconair-properties-v1.8.7_GH0.tar.gz) = 31425
-SHA256 (mbland-hmacauth-44256dfd4bfa_GH0.tar.gz) = f5b9d6aff7eba04766d11cdc780d08458324f158f893ba84479f045dde75cb23
-SIZE (mbland-hmacauth-44256dfd4bfa_GH0.tar.gz) = 6192
-SHA256 (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 81106cbac93000812c194b4a2069dd32913ec18819b1e99e8436595ce4939413
-SIZE (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 30123
-SHA256 (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 3a455e3bcf8237ecee0385f97223ca821ec2547284e827e90f94a4984801ca1c
-SIZE (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 2810
-SHA256 (natefinch-lumberjack-v2.2.1_GH0.tar.gz) = 935582f3f3377f09604bce4ab0488092d71c0d9ff3e9359a397f00ab6caed658
-SIZE (natefinch-lumberjack-v2.2.1_GH0.tar.gz) = 12568
-SHA256 (nxadm-tail-v1.4.11_GH0.tar.gz) = f20a022655bb5acdb364382418d0481f938e761be7d4233af61b0d4659ae1812
-SIZE (nxadm-tail-v1.4.11_GH0.tar.gz) = 1175268
-SHA256 (oauth2-proxy-mockoidc-caebfff84d25_GH0.tar.gz) = 8dd06edfda30b798af4305012cd2999df8985499ff3ccff0045d785cdf66d884
-SIZE (oauth2-proxy-mockoidc-caebfff84d25_GH0.tar.gz) = 20679
-SHA256 (oauth2-proxy-tools-d3b50d1a591a_GH0.tar.gz) = 11076a32e1fed39b4f02a7b86dae35ff1a3ba20d68464c281f185c1ba30aad04
-SIZE (oauth2-proxy-tools-d3b50d1a591a_GH0.tar.gz) = 20290
-SHA256 (onsi-ginkgo-v1.16.5_GH0.tar.gz) = 0380c81321b764b75e76a7aa8fc8ab1ab361232a88d5b6124ef8b9a9e75d5287
-SIZE (onsi-ginkgo-v1.16.5_GH0.tar.gz) = 164965
-SHA256 (onsi-ginkgo-v2.21.0_GH0.tar.gz) = 77736d4f5c76cbf8147c708f0da249c6658de1c7327cca2095a934952228e68d
-SIZE (onsi-ginkgo-v2.21.0_GH0.tar.gz) = 643200
-SHA256 (onsi-gomega-v1.35.1_GH0.tar.gz) = 3b37c591e1d3b5809379ab7eac333d28ecf576e7f4242504e87a8bdbafccd0b6
-SIZE (onsi-gomega-v1.35.1_GH0.tar.gz) = 320285
-SHA256 (open-telemetry-opentelemetry-go-contrib-v1.30.0_GH0.tar.gz) = 045e59b01768cedcfbed54d8a08367a18c91e585246755c034d9c51d9a32f0bb
-SIZE (open-telemetry-opentelemetry-go-contrib-v1.30.0_GH0.tar.gz) = 642233
-SHA256 (open-telemetry-opentelemetry-go-v1.30.0_GH0.tar.gz) = 1c9a09665e4e259ac333c29162f877081498a03e2736688bea6b57a00daa4171
-SIZE (open-telemetry-opentelemetry-go-v1.30.0_GH0.tar.gz) = 1793133
-SHA256 (pelletier-go-toml-v2.2.3_GH0.tar.gz) = 3a5dfdc1e543efd6032813cb27a5b06d66bbefbbcc88bb664f69d605725c42af
-SIZE (pelletier-go-toml-v2.2.3_GH0.tar.gz) = 909237
-SHA256 (pierrec-lz4-v4.1.21_GH0.tar.gz) = 8b8d3f7b3fe39ce4ae117b45949d6dbb9c496e719d87a2d7c2ce33ad0228e53a
-SIZE (pierrec-lz4-v4.1.21_GH0.tar.gz) = 40916350
-SHA256 (pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 8574a5cbc435057352a17ff9e6ad40190f3b9d623cd9ab0cdfa6c1d8f0bea0b2
-SIZE (pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 11395
-SHA256 (prometheus-client_golang-v1.20.5_GH0.tar.gz) = ab8aa5a2a56f2fb739ea7db4485d0a05df30476924a872b28cce3a319a347af8
-SIZE (prometheus-client_golang-v1.20.5_GH0.tar.gz) = 1103272
-SHA256 (prometheus-client_model-v0.6.1_GH0.tar.gz) = b9b690bc35d80061f255faa7df7621eae39fe157179ccd78ff6409c3b004f05e
-SIZE (prometheus-client_model-v0.6.1_GH0.tar.gz) = 17373
-SHA256 (prometheus-common-v0.59.1_GH0.tar.gz) = 667945e10c2d90771ae66765d483a8cceb9966fe031444401162a1b8ccf6235c
-SIZE (prometheus-common-v0.59.1_GH0.tar.gz) = 151575
-SHA256 (prometheus-procfs-v0.15.1_GH0.tar.gz) = ba96bb6d45f1fcbff820c7d844e6acdef4416bb0ff2d9e24656f5cbacb8e46b5
-SIZE (prometheus-procfs-v0.15.1_GH0.tar.gz) = 243687
-SHA256 (protocolbuffers-protobuf-go-v1.35.1_GH0.tar.gz) = 7cead1a711d682796b343931a9b54b3b07dd83456baeda6c069432235de45437
-SIZE (protocolbuffers-protobuf-go-v1.35.1_GH0.tar.gz) = 1522321
-SHA256 (redis-go-redis-v9.7.0_GH0.tar.gz) = 9d3b851826714defd3c9348cefcd262528ecf22aeb747d00ca14fa22bb3f85bb
-SIZE (redis-go-redis-v9.7.0_GH0.tar.gz) = 319712
-SHA256 (sagikazarmark-locafero-v0.6.0_GH0.tar.gz) = 2a1ba4cb44d1858b77fb750f6f72f1b3b3d013ef8731644bdc0a6fdc9e3f28be
-SIZE (sagikazarmark-locafero-v0.6.0_GH0.tar.gz) = 11140
-SHA256 (sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = a594ec7e138265768a5c23f8ab460724d8215db45dc1bddde4743bca3373803d
-SIZE (sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = 10872
-SHA256 (sourcegraph-conc-v0.3.0_GH0.tar.gz) = c20a36ef6e8cd4721b8824d3e0a590d78f56ce72ace53ec7fdd2f7a978e9240f
-SIZE (sourcegraph-conc-v0.3.0_GH0.tar.gz) = 23021
-SHA256 (spf13-afero-v1.11.0_GH0.tar.gz) = f83f67c4a03d8bba2b7fe1a496e848b2b1b7d97d0b951d85d2b401e7488a4ed4
-SIZE (spf13-afero-v1.11.0_GH0.tar.gz) = 89257
-SHA256 (spf13-cast-v1.7.0_GH0.tar.gz) = ba68ec49ece842dd15ea5a0f4293510617fefcf2d175f780bcf710dce42567b3
-SIZE (spf13-cast-v1.7.0_GH0.tar.gz) = 15675
-SHA256 (spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac0962cf0520999e3ba85f0c7b808
-SIZE (spf13-pflag-v1.0.5_GH0.tar.gz) = 50796
-SHA256 (spf13-viper-v1.19.0_GH0.tar.gz) = bd754a586de7b8f6e54037b715765833f8120cb8bdbb4240a69c6537a0ccdfd5
-SIZE (spf13-viper-v1.19.0_GH0.tar.gz) = 119990
-SHA256 (stretchr-testify-v1.9.0_GH0.tar.gz) = ee651d4d4427d55096007190398102383498e6b5cf97ea9e89ad6e72b4115fbb
-SIZE (stretchr-testify-v1.9.0_GH0.tar.gz) = 108663
-SHA256 (subosito-gotenv-v1.6.0_GH0.tar.gz) = 51a5a8e36f30ddd97866779e93c4e93b0d4958a60fabd1d17fc2226bfe7823db
-SIZE (subosito-gotenv-v1.6.0_GH0.tar.gz) = 11470
-SHA256 (uber-go-multierr-v1.11.0_GH0.tar.gz) = 8aa599cf7de733306cf8770f854f8a38e6c819b1ae4296f15e44b1e7c6698f34
-SIZE (uber-go-multierr-v1.11.0_GH0.tar.gz) = 16900
-SHA256 (vmihailenco-msgpack-v5.4.1_GH0.tar.gz) = cffb190f68ddf9d248e1587080466981ed911cf08901c6a81f4edc8d66b69f90
-SIZE (vmihailenco-msgpack-v5.4.1_GH0.tar.gz) = 37770
-SHA256 (vmihailenco-tagparser-v2.0.0_GH0.tar.gz) = 676b99c051fef68d1b0fb0385103de0e42a3ee556919b2b54ff5d3445bac56dd
-SIZE (vmihailenco-tagparser-v2.0.0_GH0.tar.gz) = 3683
-SHA256 (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 9e706d96c11314a4b3e2034eb10726e48cc7e7e7e31d4765a675f901ee6a9a7e
-SIZE (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 170691
+TIMESTAMP = 1766124297
+SHA256 (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/go.mod) = 243c71806d34c5b14499725b5d613c9d3ababd728b85d0dacf25a7cbb9304113
+SIZE (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/go.mod) = 3908
+SHA256 (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/oauth2-proxy-oauth2-proxy-v7.13.0_GH0.tar.gz) = 86d005585f753cda3495cf68f231bcb3be13d7c96d80c8890c0f9939e0bddcad
+SIZE (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/oauth2-proxy-oauth2-proxy-v7.13.0_GH0.tar.gz) = 1661775
diff --git a/www/oauth2-proxy/files/patch-go.mod b/www/oauth2-proxy/files/patch-go.mod
deleted file mode 100644
index 897d617d0268..000000000000
--- a/www/oauth2-proxy/files/patch-go.mod
+++ /dev/null
@@ -1,10 +0,0 @@
---- go.mod.orig 2024-10-07 07:27:24 UTC
-+++ go.mod
-@@ -1,6 +1,6 @@ module github.com/oauth2-proxy/oauth2-proxy/v7
- module github.com/oauth2-proxy/oauth2-proxy/v7
-
--go 1.22.7
-+go 1.22
-
- require (
- cloud.google.com/go/compute/metadata v0.5.2
diff --git a/x11-fonts/Makefile b/x11-fonts/Makefile
index 5f8d5d603db9..6f0d896a1ba0 100644
--- a/x11-fonts/Makefile
+++ b/x11-fonts/Makefile
@@ -303,6 +303,7 @@
SUBDIR += py-opentype-sanitizer
SUBDIR += py-opentypespec
SUBDIR += py-shaperglot
+ SUBDIR += py-rendercv-fonts
SUBDIR += py-ufo2ft
SUBDIR += py-ufoLib
SUBDIR += py-ufolint
diff --git a/x11-fonts/py-rendercv-fonts/Makefile b/x11-fonts/py-rendercv-fonts/Makefile
new file mode 100644
index 000000000000..747ffd25d739
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= rendercv-fonts
+DISTVERSION= 0.5.1
+CATEGORIES= x11-fonts python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= rendercv_fonts-${DISTVERSION}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Some fonts for RenderCV
+WWW= https://github.com/rendercv/rendercv-fonts \
+ https://pypi.org/project/rendercv-fonts
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/x11-fonts/py-rendercv-fonts/distinfo b/x11-fonts/py-rendercv-fonts/distinfo
new file mode 100644
index 000000000000..d04daf0d8249
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1766177557
+SHA256 (rendercv_fonts-0.5.1.tar.gz) = f7ea8f33bb1338d9ce41c036066ffb8a482cc182c0f36e183d73a42e2da91ee5
+SIZE (rendercv_fonts-0.5.1.tar.gz) = 33041210
diff --git a/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml b/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml
new file mode 100644
index 000000000000..02b4185a9237
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig 2025-12-19 20:56:16 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["hatchling==1.26.3"]
++requires = ["hatchling"]
+ build-backend = "hatchling.build"
+
+ [tool.hatch.build.targets.wheel]
diff --git a/x11-fonts/py-rendercv-fonts/pkg-descr b/x11-fonts/py-rendercv-fonts/pkg-descr
new file mode 100644
index 000000000000..79118867a96d
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/pkg-descr
@@ -0,0 +1,2 @@
+rendercv-fonts is a python package with some fonts for the rendercv
+package.
diff --git a/x11/xpra/Makefile b/x11/xpra/Makefile
index fa5216892de3..f0acb8407d59 100644
--- a/x11/xpra/Makefile
+++ b/x11/xpra/Makefile
@@ -1,6 +1,5 @@
PORTNAME= xpra
-PORTVERSION= 6.3.4
-PORTREVISION= 1
+PORTVERSION= 6.4
CATEGORIES= x11
MASTER_SITES= https://xpra.org/src/
@@ -11,7 +10,9 @@ WWW= https://xpra.org/
LICENSE= GPLv2
BUILD_DEPENDS= pandoc:textproc/hs-pandoc
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
+LIB_DEPENDS= libaom.so:multimedia/aom \
+ libavcodec.so:multimedia/ffmpeg \
+ libavif.so:graphics/libavif \
libbrotlidec.so:archivers/brotli \
libdrm.so:graphics/libdrm \
libharfbuzz.so:print/harfbuzz \
@@ -47,11 +48,14 @@ USES= desktop-file-utils gettext-runtime gnome localbase pkgconfig \
USE_GNOME= cairo gdkpixbuf gtk30 pygobject3
USE_PYTHON= cryptography cython3 distutils noflavors
-USE_XORG= x11 xcomposite xdamage xext xfixes xi xkbfile xrandr xres xtst
+USE_XORG= x11 xcomposite xcursor xdamage xext xfixes xi xkbfile xrandr \
+ xres xtst
PLIST_SUB+= PORTVERSION=${PORTVERSION} \
PYTHON_SUFFIX=${PYTHON_SUFFIX} \
PYTHON_VER=${PYTHON_VER}
-SHEBANG_FILES= fs/lib/cups/backend/xpraforwarder fs/libexec/xpra/auth_dialog \
+SHEBANG_FILES= fs/lib/cups/backend/xpraforwarder \
+ fs/libexec/xpra/auth_dialog \
+ fs/libexec/xpra/daemonizer \
fs/libexec/xpra/gnome-open fs/libexec/xpra/gvfs-open \
fs/libexec/xpra/xdg-open fs/libexec/xpra/xpra_signal_listener \
fs/libexec/xpra/xpra_udev_product_version \
diff --git a/x11/xpra/distinfo b/x11/xpra/distinfo
index 8e521cd7ce06..ad5a23811713 100644
--- a/x11/xpra/distinfo
+++ b/x11/xpra/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1760194662
-SHA256 (xpra-6.3.4.tar.xz) = 64b58cf34e51c009bac550b1355fa5e839a3e4f5187ce8492f439bb4ebba90ac
-SIZE (xpra-6.3.4.tar.xz) = 9094256
+TIMESTAMP = 1766219439
+SHA256 (xpra-6.4.tar.xz) = 3cf2d025bfdbec1cfc56dcd3f66e799991d2b58f0f9a259a23b4a63836df35b2
+SIZE (xpra-6.4.tar.xz) = 9918548
diff --git a/x11/xpra/pkg-plist b/x11/xpra/pkg-plist
index 9f56869c9966..b345424f1e39 100644
--- a/x11/xpra/pkg-plist
+++ b/x11/xpra/pkg-plist
@@ -49,6 +49,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/os_util%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/src_info%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/src_info%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/__pycache__/tray_base%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/__pycache__/tray_base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/audio/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -130,6 +132,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/none%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/otp%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/otp%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/otpscreen%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/otpscreen%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/pam%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/pam%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/auth/__pycache__/password%%PYTHON_TAG%%.opt-1.pyc
@@ -171,6 +175,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/auth/mysql.py
%%PYTHON_SITELIBDIR%%/xpra/auth/none.py
%%PYTHON_SITELIBDIR%%/xpra/auth/otp.py
+%%PYTHON_SITELIBDIR%%/xpra/auth/otpscreen.py
%%PYTHON_SITELIBDIR%%/xpra/auth/pam.py
%%PYTHON_SITELIBDIR%%/xpra/auth/password.py
%%PYTHON_SITELIBDIR%%/xpra/auth/peercred.py
@@ -221,35 +226,68 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/base/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/adapter%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/adapter%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/aes%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/aes%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/challenge%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/challenge%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/client%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/client%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/command%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/command%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/control%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/control%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/debug%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/debug%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/encode%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/encode%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/factory%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/factory%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/features%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/features%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/fileprint%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/fileprint%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/file%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/file%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/glib_adapter%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/glib_adapter%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/gobject%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/gobject%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/network%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/network%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/printer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/printer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/progress%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/progress%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/rfb_protocol%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/rfb_protocol%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/serverinfo%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/serverinfo%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/stub_client_mixin%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/stub_client_mixin%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/ssl_upgrade%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/ssl_upgrade%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/stub%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/stub%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/top%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/top%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/adapter.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/aes.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/challenge.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/client.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/command.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/control.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/debug.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/encode.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/factory.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/features.py
-%%PYTHON_SITELIBDIR%%/xpra/client/base/fileprint.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/file.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/glib_adapter.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/gobject.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/network.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/printer.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/progress.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/rfb_protocol.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/serverinfo.py
-%%PYTHON_SITELIBDIR%%/xpra/client/base/stub_client_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/ssl_upgrade.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/stub.py
%%PYTHON_SITELIBDIR%%/xpra/client/base/top.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
@@ -270,18 +308,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/menu_helper%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/notifier%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/notifier%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/statusicon_tray%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/statusicon_tray%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/tray_menu%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/tray_menu%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_base%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_base%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_info%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_info%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_menu%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_menu%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/cairo_backing.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/cairo_backing_base.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/client.py
@@ -308,12 +336,55 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/opengl/glarea_backing.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/opengl/glarea_window.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/opengl/native_window.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/statusicon_tray.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/tray_menu.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window_info.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window_menu.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/base%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/base%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/common%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/dragndrop%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/dragndrop%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/factory%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/factory%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/focus%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/focus%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/grab%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/grab%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/headerbar%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/headerbar%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/keyboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/keyboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/menu%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/menu%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/pointer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/shape%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/shape%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/stub_window%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/stub_window%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/window%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/window%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/window_info%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/window_info%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/workspace%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/__pycache__/workspace%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/common.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/dragndrop.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/factory.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/focus.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/grab.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/headerbar.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/keyboard.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/menu.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/pointer.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/shape.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/stub_window.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/window.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/window_info.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window/workspace.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -333,14 +404,10 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/paint_colors%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/spinner%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/spinner%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/tray_base%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/tray_base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/ui_client_base%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/ui_client_base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/widget_base%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/widget_base%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_backing_base%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_backing_base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_base%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_border%%PYTHON_TAG%%.opt-1.pyc
@@ -353,62 +420,102 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/gui/keyboard_shortcuts_parser.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/paint_colors.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/spinner.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gui/tray_base.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/ui_client_base.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/widget_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gui/window_backing_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/action%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/action%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/backing%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/backing%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/stub_window%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/__pycache__/stub_window%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/action.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/backing.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window/stub_window.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/window_base.py
%%PYTHON_SITELIBDIR%%/xpra/client/gui/window_border.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/audio%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/audio%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/clipboard%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/cursors%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/cursors%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/display%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/display%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/encodings%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/encodings%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/logging%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/logging%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/mmap%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/mmap%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/network_listener%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/network_listener%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/network_state%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/network_state%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/notification%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/notification%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/tray%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/tray%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/webcam%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/webcam%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/windows%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/windows%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/audio.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/clipboard.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/cursors.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/display.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/encodings.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/logging.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/mmap.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/network_listener.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/network_state.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/notification.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/tray.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/webcam.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/windows.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/audio%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/audio%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/bandwidth%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/bandwidth%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/clipboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/command%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/command%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/cursor%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/cursor%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/display%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/display%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/encoding%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/encoding%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/keyboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/keyboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/logging%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/logging%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/mmap%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/mmap%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/notification%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/notification%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/ping%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/ping%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/pointer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/power%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/power%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/server_info%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/server_info%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/socket%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/socket%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/ssh_agent%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/ssh_agent%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/tray%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/tray%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/webcam%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/webcam%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/window%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/__pycache__/window%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/audio.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/bandwidth.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/clipboard.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/command.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/cursor.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/display.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/encoding.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/keyboard.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/logging.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/mmap.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/notification.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/ping.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/pointer.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/power.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/server_info.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/socket.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/ssh_agent.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/tray.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/webcam.py
+%%PYTHON_SITELIBDIR%%/xpra/client/subsystem/window.py
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/common%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/core%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/core%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/proxy%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/proxy%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/targets%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/targets%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/timeout%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/timeout%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/common.py
%%PYTHON_SITELIBDIR%%/xpra/clipboard/core.py
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/proxy.py
+%%PYTHON_SITELIBDIR%%/xpra/clipboard/targets.py
%%PYTHON_SITELIBDIR%%/xpra/clipboard/timeout.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
@@ -425,10 +532,19 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/image%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/loader%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/loader%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/protocols%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/protocols%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/rgb_transform%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/rgb_transform%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/screenshot%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/screenshot%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/video%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/__pycache__/video%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/aom/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/aom/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/aom/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/aom/api%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/codecs/aom/decoder%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/codecs/argb/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/argb/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/argb/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -512,12 +628,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/__pycache__/encoder%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/decoder.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/encoder.py
-%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/encoder%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/encoder%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/encoder.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/protocols.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/remote/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/remote/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/remote/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -528,6 +639,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/codecs/remote/common.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/remote/encoder.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/rgb_transform.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/screenshot.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/video.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
@@ -539,6 +651,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/codecs/x264/__pycache__/__init__%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/x264/encoder%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/common.py
+%%PYTHON_SITELIBDIR%%/xpra/cyshared%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/dbus/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -546,11 +659,11 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/common%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/helper%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/helper%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/notifications_forwarder%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/notifications_forwarder%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/notifications%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/dbus/__pycache__/notifications%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/dbus/common.py
%%PYTHON_SITELIBDIR%%/xpra/dbus/helper.py
-%%PYTHON_SITELIBDIR%%/xpra/dbus/notifications_forwarder.py
+%%PYTHON_SITELIBDIR%%/xpra/dbus/notifications.py
%%PYTHON_SITELIBDIR%%/xpra/exit_codes.py
%%PYTHON_SITELIBDIR%%/xpra/gstreamer/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/gstreamer/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
@@ -564,16 +677,14 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/capture%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/capture%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/clipboard%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/css_overrides%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/css_overrides%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/cursors%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/cursors%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/error%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/error%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/gobject%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/gobject%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/graph%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/graph%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/info%%PYTHON_TAG%%.opt-1.pyc
@@ -584,8 +695,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/notifier%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/pixbuf%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/pixbuf%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/signals%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/signals%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/statusicon_tray%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/statusicon_tray%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/util%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/util%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/__pycache__/versions%%PYTHON_TAG%%.opt-1.pyc
@@ -600,12 +711,15 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/bindings/atoms%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/gtk/bindings/gobject%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/gtk/cairo_image%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/gtk/capture.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/clipboard.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/__init__%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/common%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/debug%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/debug%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/encodings%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/encodings%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/features%%PYTHON_TAG%%.opt-1.pyc
@@ -620,11 +734,14 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/opengl%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/packages%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/packages%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/settings%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/settings%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/shadow%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/shadow%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/vfb%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/__pycache__/vfb%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/common.py
+%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/debug.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/encodings.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/features.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/gstreamer.py
@@ -632,6 +749,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/main.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/opengl.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/packages.py
+%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/settings.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/shadow.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/configure/vfb.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/css_overrides.py
@@ -649,6 +767,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/bug_report%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/confirm_dialog%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/confirm_dialog%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/debug%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/debug%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/desktop_greeter%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/desktop_greeter%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/gui%%PYTHON_TAG%%.opt-1.pyc
@@ -657,6 +777,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/mdns_gui%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/open_requests%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/open_requests%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/otp%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/otp%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/pass_dialog%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/pass_dialog%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/__pycache__/qrcode%%PYTHON_TAG%%.opt-1.pyc
@@ -696,10 +818,12 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/base_gui_window.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/bug_report.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/confirm_dialog.py
+%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/debug.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/desktop_greeter.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/gui.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/mdns_gui.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/open_requests.py
+%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/otp.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/pass_dialog.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/qrcode.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/qrcode_client.py
@@ -717,7 +841,6 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/util.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/view_clipboard.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/dialogs/view_keyboard.py
-%%PYTHON_SITELIBDIR%%/xpra/gtk/error.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/examples/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/examples/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk/examples/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -790,13 +913,12 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk/examples/window_states.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/examples/window_title.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/examples/window_transient.py
-%%PYTHON_SITELIBDIR%%/xpra/gtk/gobject.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/graph.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/info.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/keymap.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/notifier.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/pixbuf.py
-%%PYTHON_SITELIBDIR%%/xpra/gtk/signals.py
+%%PYTHON_SITELIBDIR%%/xpra/gtk/statusicon_tray.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/util.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/versions.py
%%PYTHON_SITELIBDIR%%/xpra/gtk/widget.py
@@ -812,10 +934,13 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/keyboard/__pycache__/layouts%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/keyboard/__pycache__/mask%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/keyboard/__pycache__/mask%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/keyboard/__pycache__/nokeyboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/keyboard/__pycache__/nokeyboard%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/keyboard/common.py
%%PYTHON_SITELIBDIR%%/xpra/keyboard/ibus.py
%%PYTHON_SITELIBDIR%%/xpra/keyboard/layouts.py
%%PYTHON_SITELIBDIR%%/xpra/keyboard/mask.py
+%%PYTHON_SITELIBDIR%%/xpra/keyboard/nokeyboard.py
%%PYTHON_SITELIBDIR%%/xpra/log.py
%%PYTHON_SITELIBDIR%%/xpra/net/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
@@ -826,6 +951,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/common%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/compression%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/compression%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/connect%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/connect%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/crypto%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/crypto%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/device_info%%PYTHON_TAG%%.opt-1.pyc
@@ -838,20 +965,22 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/glib_handler%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/libproxy%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/libproxy%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/mmap%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/mmap%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/net_util%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/net_util%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/packet_encoding%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/packet_encoding%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/socket_util%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/socket_util%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/ssl_util%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/ssl_util%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/subprocess_wrapper%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/subprocess_wrapper%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/upnp%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/upnp%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/asyncio/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/asyncio/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/asyncio/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/asyncio/__pycache__/thread%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/asyncio/__pycache__/thread%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/asyncio/thread.py
%%PYTHON_SITELIBDIR%%/xpra/net/brotli/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/net/brotli/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/brotli/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -860,6 +989,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/bytestreams.py
%%PYTHON_SITELIBDIR%%/xpra/net/common.py
%%PYTHON_SITELIBDIR%%/xpra/net/compression.py
+%%PYTHON_SITELIBDIR%%/xpra/net/connect.py
%%PYTHON_SITELIBDIR%%/xpra/net/control/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/net/control/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/control/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -894,22 +1024,27 @@ etc/dbus-1/system.d/xpra.conf
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__init__.py
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/avahi_listener%%PYTHON_TAG%%.opt-1.pyc
-%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/avahi_listener%%PYTHON_TAG%%.pyc
-%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/avahi_publisher%%PYTHON_TAG%%.opt-1.pyc
-%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/avahi_publisher%%PYTHON_TAG%%.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/util%%PYTHON_TAG%%.opt-1.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/util%%PYTHON_TAG%%.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/zeroconf_listener%%PYTHON_TAG%%.opt-1.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/zeroconf_listener%%PYTHON_TAG%%.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/zeroconf_publisher%%PYTHON_TAG%%.opt-1.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/zeroconf_publisher%%PYTHON_TAG%%.pyc
-%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/avahi_listener.py
-%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/avahi_publisher.py
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/util.py
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/zeroconf_listener.py
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/zeroconf_publisher.py
-%%PYTHON_SITELIBDIR%%/xpra/net/mmap.py
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/common%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/io%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/io%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/objects%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/__pycache__/objects%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/common.py
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/io.py
+%%PYTHON_SITELIBDIR%%/xpra/net/mmap/objects.py
%%PYTHON_SITELIBDIR%%/xpra/net/net_util.py
%%PYTHON_SITELIBDIR%%/xpra/net/packet_encoding.py
%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__init__.py
@@ -933,8 +1068,6 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/asyncio_thread%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/asyncio_thread%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/client%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/client%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
@@ -951,7 +1084,6 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/websocket%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/webtransport%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/webtransport%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/quic/asyncio_thread.py
%%PYTHON_SITELIBDIR%%/xpra/net/quic/client.py
%%PYTHON_SITELIBDIR%%/xpra/net/quic/common.py
%%PYTHON_SITELIBDIR%%/xpra/net/quic/connection.py
@@ -984,18 +1116,38 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/agent%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/exec_client%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/exec_client%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/paramiko_client%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/paramiko_client%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/sshfp%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/sshfp%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/util%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/util%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/agent.py
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/exec_client.py
-%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko_client.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/__pycache__/client%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/__pycache__/client%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/__pycache__/util%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/__pycache__/util%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/client.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko/util.py
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/sshfp.py
%%PYTHON_SITELIBDIR%%/xpra/net/ssh/util.py
-%%PYTHON_SITELIBDIR%%/xpra/net/ssl_util.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/common%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/file%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/file%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/parsing%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/parsing%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/socket%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/__pycache__/socket%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/common.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/file.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/parsing.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssl/socket.py
%%PYTHON_SITELIBDIR%%/xpra/net/subprocess_wrapper.py
%%PYTHON_SITELIBDIR%%/xpra/net/upnp.py
%%PYTHON_SITELIBDIR%%/xpra/net/websockets/__init__.py
@@ -1026,21 +1178,21 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/env_cookie.py
%%PYTHON_SITELIBDIR%%/xpra/net/websockets/mask%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/net/websockets/protocol.py
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/common%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/dbus_notifier%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/dbus_notifier%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/notifier_base%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/notifier_base%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/pynotify_notifier%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/pynotify_notifier%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/notifications/common.py
-%%PYTHON_SITELIBDIR%%/xpra/notifications/dbus_notifier.py
-%%PYTHON_SITELIBDIR%%/xpra/notifications/notifier_base.py
-%%PYTHON_SITELIBDIR%%/xpra/notifications/pynotify_notifier.py
+%%PYTHON_SITELIBDIR%%/xpra/notification/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/base%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/base%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/common%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/dbus_backend%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/dbus_backend%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/pynotify_backend%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/__pycache__/pynotify_backend%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/notification/base.py
+%%PYTHON_SITELIBDIR%%/xpra/notification/common.py
+%%PYTHON_SITELIBDIR%%/xpra/notification/dbus_backend.py
+%%PYTHON_SITELIBDIR%%/xpra/notification/pynotify_backend.py
%%PYTHON_SITELIBDIR%%/xpra/opengl/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/opengl/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/opengl/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -1071,6 +1223,10 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/__init__%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/autostart%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/autostart%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/client%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/client%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/clipboard%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/displayfd%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/displayfd%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/dotxpra%%PYTHON_TAG%%.opt-1.pyc
@@ -1095,8 +1251,12 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/menu_helper%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/netdev_query%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/netdev_query%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/notification%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/notification%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/paths%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/paths%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/pointer%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/printing%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/printing%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/proxy_server%%PYTHON_TAG%%.opt-1.pyc
@@ -1105,11 +1265,16 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/pycups_printing%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/shadow_server%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/shadow_server%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/systray%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/systray%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/ui_thread_watcher%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/ui_thread_watcher%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/webcam%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/__pycache__/webcam%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/autostart.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/bsd/peercred%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/platform/client.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/clipboard.py
%%PYTHON_SITELIBDIR%%/xpra/platform/displayfd.py
%%PYTHON_SITELIBDIR%%/xpra/platform/dotxpra.py
%%PYTHON_SITELIBDIR%%/xpra/platform/dotxpra_common.py
@@ -1122,7 +1287,9 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/keyboard_base.py
%%PYTHON_SITELIBDIR%%/xpra/platform/menu_helper.py
%%PYTHON_SITELIBDIR%%/xpra/platform/netdev_query.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/notification.py
%%PYTHON_SITELIBDIR%%/xpra/platform/paths.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/pointer.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -1130,6 +1297,10 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/appindicator_tray%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/autostart%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/autostart%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/client%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/client%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/clipboard%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/dotxpra%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/dotxpra%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/events%%PYTHON_TAG%%.opt-1.pyc
@@ -1150,8 +1321,12 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/keyboard%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/menu_helper%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/menu_helper%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/notification%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/notification%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/paths%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/paths%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/pointer%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/printing%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/printing%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/proc%%PYTHON_TAG%%.opt-1.pyc
@@ -1162,10 +1337,16 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/screencast%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/shadow_server%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/shadow_server%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/systray%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/systray%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/webcam%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/webcam%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/xi2%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/xi2%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/appindicator_tray.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/autostart.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/client.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/clipboard.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/dotxpra.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/events.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/fd_portal.py
@@ -1176,19 +1357,30 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/info.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/keyboard.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/menu_helper.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/notification.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/paths.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/pointer.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/printing.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/proc.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/remotedesktop.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/screencast.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/shadow_server.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/systray.py
%%PYTHON_SITELIBDIR%%/xpra/platform/posix/webcam.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/xi2.py
%%PYTHON_SITELIBDIR%%/xpra/platform/printing.py
%%PYTHON_SITELIBDIR%%/xpra/platform/proxy_server.py
%%PYTHON_SITELIBDIR%%/xpra/platform/pycups_printing.py
%%PYTHON_SITELIBDIR%%/xpra/platform/shadow_server.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/systray.py
%%PYTHON_SITELIBDIR%%/xpra/platform/ui_thread_watcher.py
%%PYTHON_SITELIBDIR%%/xpra/platform/webcam.py
+%%PYTHON_SITELIBDIR%%/xpra/pointer/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/pointer/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/pointer/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/pointer/__pycache__/nopointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/pointer/__pycache__/nopointer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/pointer/nopointer.py
%%PYTHON_SITELIBDIR%%/xpra/scripts/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/scripts/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/scripts/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -1219,8 +1411,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/background_worker%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/background_worker%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/auth%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/auth%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/base%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/core%%PYTHON_TAG%%.opt-1.pyc
@@ -1229,17 +1421,17 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/factory%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/features%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/features%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/gtk_server%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/gtk_server%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/glib_server%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/glib_server%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/keyboard_config_base%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/keyboard_config_base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/menu_provider%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/menu_provider%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/runner_script%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/runner_script%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/ssh%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/ssh%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/util%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/__pycache__/util%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/background_worker.py
+%%PYTHON_SITELIBDIR%%/xpra/server/auth.py
%%PYTHON_SITELIBDIR%%/xpra/server/base.py
%%PYTHON_SITELIBDIR%%/xpra/server/core.py
%%PYTHON_SITELIBDIR%%/xpra/server/cystats%%PYTHON_TAG%%.so
@@ -1272,75 +1464,9 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/encoder/server.py
%%PYTHON_SITELIBDIR%%/xpra/server/factory.py
%%PYTHON_SITELIBDIR%%/xpra/server/features.py
-%%PYTHON_SITELIBDIR%%/xpra/server/gtk_server.py
+%%PYTHON_SITELIBDIR%%/xpra/server/glib_server.py
%%PYTHON_SITELIBDIR%%/xpra/server/keyboard_config_base.py
%%PYTHON_SITELIBDIR%%/xpra/server/menu_provider.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/audio%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/audio%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/child_command%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/child_command%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/clipboard%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/control%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/control%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/controlcommands%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/controlcommands%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/cursors%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/cursors%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/dbus%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/dbus%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/display%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/display%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/encoding%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/encoding%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/fileprint%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/fileprint%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/http%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/http%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/input%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/input%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/logging%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/logging%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/mmap%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/mmap%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/networkstate%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/networkstate%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/notification%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/notification%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/ssh_agent%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/ssh_agent%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/stub_server_mixin%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/stub_server_mixin%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/webcam%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/webcam%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/window%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/window%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/audio.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/child_command.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/clipboard.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/control.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/controlcommands.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/cursors.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/dbus.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/display.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/encoding.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/fileprint.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/http.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/input.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/logging.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/mmap.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/networkstate.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/notification.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/shell.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/ssh_agent.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/stub_server_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/webcam.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/window.py
%%PYTHON_SITELIBDIR%%/xpra/server/proxy/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/proxy/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/proxy/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -1374,18 +1500,25 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/rfb/protocol.py
%%PYTHON_SITELIBDIR%%/xpra/server/rfb/server.py
%%PYTHON_SITELIBDIR%%/xpra/server/rfb/source.py
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/__pycache__/factory%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/__pycache__/factory%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/__pycache__/server%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/__pycache__/server%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/factory.py
+%%PYTHON_SITELIBDIR%%/xpra/server/runner/server.py
+%%PYTHON_SITELIBDIR%%/xpra/server/runner_script.py
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/gtk_root_window_model%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/gtk_root_window_model%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/gtk_shadow_server_base%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/gtk_shadow_server_base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/root_window_model%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/root_window_model%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/shadow_server_base%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/__pycache__/shadow_server_base%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/shadow/gtk_root_window_model.py
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/gtk_shadow_server_base.py
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/root_window_model.py
%%PYTHON_SITELIBDIR%%/xpra/server/shadow/shadow_server_base.py
@@ -1396,67 +1529,207 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/audio%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/avsync%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/avsync%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/bandwidth%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/bandwidth%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection_factory%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection_factory%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientinfo%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientinfo%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clipboard%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/cursors%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/cursors%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/cursor%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/cursor%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/dbus%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/dbus%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/display%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/display%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encodings%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encodings%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/fileprint%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/fileprint%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encoding%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encoding%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/factory%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/factory%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/file%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/file%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/idle_mixin%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/idle_mixin%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/input%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/input%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/keyboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/keyboard%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/mmap%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/mmap%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/ping%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/ping%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/pointer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/printer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/printer%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/source_stats%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/source_stats%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/stub_source_mixin%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/stub_source_mixin%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/stub%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/stub%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/webcam%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/webcam%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/windows%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/windows%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/window%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/window%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/audio.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/avsync.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/bandwidth.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/client_connection.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/client_connection_factory.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/clientinfo.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/clipboard.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/cursors.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/cursor.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/dbus.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/display.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/encodings.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/fileprint.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/encoding.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/factory.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/file.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/idle_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/input.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/keyboard.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/mmap.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/networkstate.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/notification.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/ping.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/pointer.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/printer.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/shell.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/source_stats.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/stub_source_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/stub.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/webcam.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/windows.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/window.py
%%PYTHON_SITELIBDIR%%/xpra/server/ssh.py
-%%PYTHON_SITELIBDIR%%/xpra/server/util.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/audio%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/audio%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/bandwidth%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/bandwidth%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/clipboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/command%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/command%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/control%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/control%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/controlcommands%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/controlcommands%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/cursor%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/cursor%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/daemon%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/daemon%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/dbus%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/dbus%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/debug%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/debug%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/display%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/display%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/drm%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/drm%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/encoding%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/encoding%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/encryption%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/encryption%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/file%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/file%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/gtk%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/gtk%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/http%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/http%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/id%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/id%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/idle%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/idle%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/info%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/info%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/keyboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/keyboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/logging%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/logging%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/mdns%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/mdns%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/mmap%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/mmap%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/notification%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/notification%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/opengl%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/opengl%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/ping%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/ping%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/platform%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/platform%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/pointer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/power%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/power%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/printer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/printer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/pulseaudio%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/pulseaudio%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/sessionfiles%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/sessionfiles%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/shell%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/shell%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/splash%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/splash%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/ssh_agent%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/ssh_agent%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/stub%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/stub%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/suspend%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/suspend%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/tray%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/tray%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/version%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/version%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/watcher%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/watcher%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/webcam%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/webcam%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/window%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/__pycache__/window%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/audio.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/bandwidth.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/clipboard.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/command.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/control.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/controlcommands.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/cursor.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/daemon.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/dbus.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/debug.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/display.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/drm.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/encoding.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/encryption.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/file.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/gtk.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/http.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/id.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/idle.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/info.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/keyboard.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/logging.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/mdns.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/mmap.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/notification.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/opengl.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/ping.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/platform.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/pointer.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/power.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/printer.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/pulseaudio.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/sessionfiles.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/shell.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/splash.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/ssh_agent.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/stub.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/suspend.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/tray.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/version.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/watcher.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/webcam.py
+%%PYTHON_SITELIBDIR%%/xpra/server/subsystem/window.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -1472,6 +1745,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/filters%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/metadata%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/metadata%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/model%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/model%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/perfstats%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/perfstats%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/video_compress%%PYTHON_TAG%%.opt-1.pyc
@@ -1488,6 +1763,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/window/content_guesser.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/filters.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/metadata.py
+%%PYTHON_SITELIBDIR%%/xpra/server/window/model.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/motion%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/server/window/perfstats.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/video_compress.py
@@ -1495,27 +1771,40 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/window/video_subregion.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/windowicon.py
%%PYTHON_SITELIBDIR%%/xpra/src_info.py
+%%PYTHON_SITELIBDIR%%/xpra/tray_base.py
%%PYTHON_SITELIBDIR%%/xpra/util/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/background_worker%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/background_worker%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/child_reaper%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/child_reaper%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/colorstreamhandler%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/colorstreamhandler%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/config%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/config%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/daemon%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/daemon%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/env%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/env%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/glib%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/glib%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/gobject%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/gobject%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/io%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/io%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/objects%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/objects%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/parsing%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/parsing%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/pid%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/pid%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/pysystem%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/pysystem%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/screen%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/screen%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/signal_emitter%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/signal_emitter%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/stats%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/stats%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/str_fn%%PYTHON_TAG%%.opt-1.pyc
@@ -1526,16 +1815,22 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/thread%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/version%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/util/__pycache__/version%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/util/background_worker.py
%%PYTHON_SITELIBDIR%%/xpra/util/child_reaper.py
%%PYTHON_SITELIBDIR%%/xpra/util/colorstreamhandler.py
%%PYTHON_SITELIBDIR%%/xpra/util/config.py
+%%PYTHON_SITELIBDIR%%/xpra/util/daemon.py
%%PYTHON_SITELIBDIR%%/xpra/util/env.py
+%%PYTHON_SITELIBDIR%%/xpra/util/glib.py
+%%PYTHON_SITELIBDIR%%/xpra/util/gobject.py
%%PYTHON_SITELIBDIR%%/xpra/util/io.py
%%PYTHON_SITELIBDIR%%/xpra/util/objects.py
%%PYTHON_SITELIBDIR%%/xpra/util/parsing.py
+%%PYTHON_SITELIBDIR%%/xpra/util/pid.py
%%PYTHON_SITELIBDIR%%/xpra/util/pysystem.py
%%PYTHON_SITELIBDIR%%/xpra/util/rectangle%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/util/screen.py
+%%PYTHON_SITELIBDIR%%/xpra/util/signal_emitter.py
%%PYTHON_SITELIBDIR%%/xpra/util/stats.py
%%PYTHON_SITELIBDIR%%/xpra/util/str_fn.py
%%PYTHON_SITELIBDIR%%/xpra/util/system.py
@@ -1544,8 +1839,17 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/wayland/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/example%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/example%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/keyboard_config%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/keyboard_config%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/server%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/server%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/wait%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/wayland/__pycache__/wait%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/wayland/example.py
+%%PYTHON_SITELIBDIR%%/xpra/wayland/keyboard_config.py
+%%PYTHON_SITELIBDIR%%/xpra/wayland/server.py
%%PYTHON_SITELIBDIR%%/xpra/wayland/wait.py
%%PYTHON_SITELIBDIR%%/xpra/wayland/wait_for_display%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/__init__.py
@@ -1553,10 +1857,22 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/__init__%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/common%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/composite%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/composite%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/damage%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/damage%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/dispatch%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/dispatch%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/error%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/error%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/info%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/info%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/prop%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/prop%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/prop_conv%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/prop_conv%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/uinput_device%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/uinput_device%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/tray%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/tray%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/vfb_util%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/vfb_util%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/wait%%PYTHON_TAG%%.opt-1.pyc
@@ -1565,17 +1881,19 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/window_filters%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/window_info%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/window_info%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/wm%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/wm%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/wm_check%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/wm_check%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xkbhelper%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xkbhelper%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xroot_props%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xroot_props%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xsettings%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xsettings%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xsettings_prop%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/__pycache__/xsettings_prop%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/info%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/info%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/randr_info%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/randr_info%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/record_tool%%PYTHON_TAG%%.opt-1.pyc
@@ -1584,25 +1902,38 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/send_wm%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/xwayland_info%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/xwayland_info%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/classhint%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/composite%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/core%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/cursor%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/damage%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/display_source%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/events%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/fixes%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/info.py
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/keyboard%%PYTHON_TAG%%.so
-%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/posix_display_source%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/loop%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/randr%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/randr_info.py
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/record%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/record_tool.py
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/res%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/saveset%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/send_wm.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/shape%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/shm%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/test%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/wait_for_x_server%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/window%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xi2%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/ximage%%PYTHON_TAG%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xkb%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xwait%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xwayland%%PYTHON_TAG%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xwayland_info.py
%%PYTHON_SITELIBDIR%%/xpra/x11/common.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/composite.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/damage.py
%%PYTHON_SITELIBDIR%%/xpra/x11/dbus/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/x11/dbus/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/dbus/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -1630,47 +1961,17 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/desktop/model_base.py
%%PYTHON_SITELIBDIR%%/xpra/x11/desktop/monitor_model.py
%%PYTHON_SITELIBDIR%%/xpra/x11/desktop/monitor_server.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/dispatch.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/error.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/clipboard%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/common%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/composite%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/composite%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/damage%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/damage%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/keys%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/keys%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/native_window%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/native_window%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/prop%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/prop%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/selection%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/selection%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/tray%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/tray%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/wm%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/wm%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/wm_check%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/wm_check%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/world_window%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/world_window%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/error%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/__pycache__/error%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/bindings%%PYTHON_TAG%%.so
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/clipboard.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/common.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/composite.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/damage.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/display_source%%PYTHON_TAG%%.so
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/keys.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/native_window.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/prop.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/selection.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/tray.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/wm.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/wm_check.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/world_window.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/gtk/error.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/info.py
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/__init__%%PYTHON_TAG%%.pyc
@@ -1678,8 +1979,6 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/base%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/core%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/core%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/model_stub%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/model_stub%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/or_window%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/or_window%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/size_hints_util%%PYTHON_TAG%%.opt-1.pyc
@@ -1690,47 +1989,117 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/models/__pycache__/window%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/models/base.py
%%PYTHON_SITELIBDIR%%/xpra/x11/models/core.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/models/model_stub.py
%%PYTHON_SITELIBDIR%%/xpra/x11/models/or_window.py
%%PYTHON_SITELIBDIR%%/xpra/x11/models/size_hints_util.py
%%PYTHON_SITELIBDIR%%/xpra/x11/models/systray.py
%%PYTHON_SITELIBDIR%%/xpra/x11/models/window.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/prop.py
%%PYTHON_SITELIBDIR%%/xpra/x11/prop_conv.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/clipboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/clipboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/common%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/common%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/manager%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/manager%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/proxy%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/__pycache__/proxy%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/clipboard.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/common.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/manager.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/selection/proxy.py
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/base%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/base%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/core%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/core%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/expand%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/expand%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/keyboard_config%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/keyboard_config%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/root_overlay%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/root_overlay%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/seamless%%PYTHON_TAG%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/seamless%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/server_uuid%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/server_uuid%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/shadow%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/shadow%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/base.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/core.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/xtest_keyboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/xtest_keyboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/xtest_pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/__pycache__/xtest_pointer%%PYTHON_TAG%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/server/expand.py
%%PYTHON_SITELIBDIR%%/xpra/x11/server/keyboard_config.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/root_overlay.py
%%PYTHON_SITELIBDIR%%/xpra/x11/server/seamless.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/server_uuid.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/server/shadow.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/uinput_device.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/xtest_keyboard.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/server/xtest_pointer.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/backends%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/backends%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/filter%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/filter%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/model%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/model%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/screenshot%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/screenshot%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/server%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/server%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/ximage_capture%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/__pycache__/ximage_capture%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/backends.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/filter.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/model.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/screenshot.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/server.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/shadow/ximage_capture.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/bell%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/bell%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/cursor%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/cursor%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/display%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/display%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/icc%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/icc%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/keyboard%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/keyboard%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/pointer%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/pointer%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/systray%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/systray%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/x11init%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/x11init%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/xsettings%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/xsettings%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/xsettings_manager%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/xsettings_manager%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/xsettings_prop%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/__pycache__/xsettings_prop%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/bell.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/cursor.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/display.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/icc.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/keyboard.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/pointer.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/systray.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/x11init.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/xsettings.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/xsettings_manager.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/subsystem/xsettings_prop.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/tray.py
%%PYTHON_SITELIBDIR%%/xpra/x11/vfb_util.py
%%PYTHON_SITELIBDIR%%/xpra/x11/wait.py
%%PYTHON_SITELIBDIR%%/xpra/x11/window_filters.py
%%PYTHON_SITELIBDIR%%/xpra/x11/window_info.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/wm.py
+%%PYTHON_SITELIBDIR%%/xpra/x11/wm_check.py
%%PYTHON_SITELIBDIR%%/xpra/x11/xkbhelper.py
%%PYTHON_SITELIBDIR%%/xpra/x11/xroot_props.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/xsettings.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/xsettings_prop.py
%%CUPS%%libexec/cups/backend/xpraforwarder
libexec/xpra/auth_dialog
+libexec/xpra/daemonizer
libexec/xpra/gnome-open
libexec/xpra/gvfs-open
libexec/xpra/xdg-open
@@ -1749,6 +2118,7 @@ share/dbus-1/system.d/xpra.conf
%%PORTDOCS%%%%DOCSDIR%%/Build/Other.html
%%PORTDOCS%%%%DOCSDIR%%/Build/Packaging.html
%%PORTDOCS%%%%DOCSDIR%%/Build/RPM.html
+%%PORTDOCS%%%%DOCSDIR%%/Build/Source.html
%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/all.png
%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/codecs.png
%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/gtk3.png
@@ -1756,6 +2126,8 @@ share/dbus-1/system.d/xpra.conf
%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/python3.png
%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/tools.png
%%PORTDOCS%%%%DOCSDIR%%/Build/index.html
+%%PORTDOCS%%%%DOCSDIR%%/Build/sonarqube-overview.png
+%%PORTDOCS%%%%DOCSDIR%%/Build/subpackages.png
%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.html
%%PORTDOCS%%%%DOCSDIR%%/FAQ.html
%%PORTDOCS%%%%DOCSDIR%%/Features/Audio.html
@@ -1782,11 +2154,25 @@ share/dbus-1/system.d/xpra.conf
%%PORTDOCS%%%%DOCSDIR%%/SECURITY.html
%%PORTDOCS%%%%DOCSDIR%%/SPONSORS.html
%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Audio.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Bandwidth.html
%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Clipboard.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Command.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Cursor.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Display.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Encoding.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Info.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Keyboard.html
%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Logging.html
%%PORTDOCS%%%%DOCSDIR%%/Subsystems/MMAP.html
-%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Notifications.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Notification.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Ping.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Pointer.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Power.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/SSH_Agent.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Socket.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Tray.html
%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Webcam.html
+%%PORTDOCS%%%%DOCSDIR%%/Subsystems/Window.html
%%PORTDOCS%%%%DOCSDIR%%/Subsystems/index.html
%%PORTDOCS%%%%DOCSDIR%%/Usage/Apache-Proxy.html
%%PORTDOCS%%%%DOCSDIR%%/Usage/Authentication.html
@@ -1866,6 +2252,7 @@ share/pixmaps/xpra.png
%%DATADIR%%/bell.wav
%%DATADIR%%/css/10_header_bar.css
%%DATADIR%%/css/20_progress_bar.css
+%%DATADIR%%/icons/alert.png
%%DATADIR%%/icons/audio.png
%%DATADIR%%/icons/authentication-small.png
%%DATADIR%%/icons/authentication.png
@@ -1909,6 +2296,7 @@ share/pixmaps/xpra.png
%%DATADIR%%/icons/mdns.png
%%DATADIR%%/icons/microphone.png
%%DATADIR%%/icons/minimize.png
+%%DATADIR%%/icons/monitor.png
%%DATADIR%%/icons/noicon.png
%%DATADIR%%/icons/open.png
%%DATADIR%%/icons/openbox.png